def prepare(self): super(PolyGrid, self).prepare() if not getattr(self, 'id', None): self.id = str(uuid4()) Knowledge = get_knowledge_session("sqlite:///knowledge.db") #entity = Entity.by_name(self.model) self.entity = Knowledge.query(Entity).filter(Entity.name.like('user_%')).first() #colNames = get_colnames_from_entity(entity) #colModel = get_colmodel_from_entity(entity) colModel, colNames = get_colmodel_and_colnames_from_entity(Knowledge, 'user_%') params = { 'url': '/grid/query?like=user_%', 'datatype': 'json', 'colNames': colNames, 'colModel': colModel, 'height': 550, 'rowNum': 25, #'rowList': [10,20,30], 'pager': '#%s_pager' % self.id, 'sortname': 'id', 'viewrecords': True, 'sortorder': "desc", 'caption': self.entity.name, 'autowidth': True, 'loadui': 'block', #'shrinkToFit': True, 'forcefit': True, } self.add_call(jQuery('#' + self.id) .jqGrid(params) .navGrid('#%s_pager' % self.id, { 'add': False, 'del': False, 'edit': False, 'search': False, }, {}, {}, {}, {'multipleSearch': True})) self.add_call(jQuery('#' + self.id) .jqGrid('filterToolbar',{ 'stringResult': True, 'searchOnEnter': False })); self.add_call(jQuery('#' + self.id) .jqGrid('navButtonAdd', '#%s_pager' % self.id, { 'caption': 'Columns', 'title': 'Reorder Columns', 'onClickButton': js_callback(""" function() { jQuery('#%s').jqGrid('columnChooser'); } """ % self.id), }))
def prepare(self): self.topic = str(uuid4()) super(MokshaFeedReaderWidget, self).prepare() self.add_call(jQuery('#' + self.id).splitter({ 'splitVertical': True, 'outline': True, 'sizeLeft': True, 'anchorToWindow': True, 'accessKey': "I", })) self.add_call(jQuery('#RightPane').splitter({ 'splitHorizontal': True, 'sizeTop': True, 'accessKey': "H", }))
def prepare(self): super(Select2Mixin, self).prepare() # put code here to run just before the widget is displayed if 'id' in self.attrs: self.selector = "#" + self.attrs['id'].replace(':', '\\:') if self.placeholder: self.attrs['data-placeholder'] = self.placeholder if self.no_results_text: self.opts['no_results_text'] = self.no_results_text self.add_call(twj.jQuery(self.selector).select2(self.opts)) if hasattr(self, "value"): if self.value is not None: values = [] if isinstance(self.value, basestring): self.value = [dict(id=self.value)] if not isinstance(self.value, list): self.value = [self.value] for row in self.value: temp_dict = {} if hasattr(self, "fields"): fields = [a.key for a in self.fields] elif hasattr(row, "__table__"): fields = row.__table__.columns.keys() else: fields = row.keys() if hasattr(row, "__table__"): for field in fields: temp_dict[field] = unicode(getattr(row, field)) else: for field in fields: temp_dict[field] = unicode(row[field]) values.append(temp_dict) if "multiple" in self.opts: if self.opts['multiple'] is False and len(values) > 0: values = values[0] self.add_call(twj.jQuery(self.selector).select2("val", values))
def prepare(self): super(JSSortableDataGrid, self).prepare() if 'id' in self.attrs: selector = "#" + self.attrs['id'].replace(':', '\\:') else: selector = '.tablesorter' self.add_call(twj.jQuery(selector).tablesorter(dict(headers=self.headers, sortList=self.sortList)))
def prepare(self): super(CalendarTimePicker, self).prepare() self.add_call(twj.jQuery(self.selector).timepicker(dict( template=self.style, minuteStep=self.minuteStep, defaultTime=self.defaultTime, disableFocus=self.disableFocus )))
def prepare(self): super(JSSortableDataGrid, self).prepare() if 'id' in self.attrs: selector = "#" + self.attrs['id'].replace(':', '\\:') else: selector = '.tablesorter' self.add_call( twj.jQuery(selector).tablesorter( dict(headers=self.headers, sortList=self.sortList)))
def prepare(self): super(CalendarDateTimePicker, self).prepare() self.format = datefmtconverter.py2js(self.date_format) self.add_call(twj.jQuery(self.selector).datetimepicker(dict( format=self.format, language=self.language, **self.datetimepicker_args ))) if 'id' in self.attrs: del self.attrs['id']
def prepare(self): super(Wysihtml5, self).prepare() wysihtml5_args = self.wysihtml5_args.copy() wysihtml5_args.update(stylesheets=self.stylesheets) if self.parser and self.parser in parsers: self.safe_modify('resources') self.resources.append(parsers[self.parser]) wysihtml5_args.update(parserRules=twc.js_symbol('wysihtml5ParserRules')) if self.parser is False: wysihtml5_args.update(parser=twc.js_symbol('function(elementOrHtml, rules, context, cleanUp) { return elementOrHtml; }')) self.add_call(twj.jQuery(self.selector).wysihtml5(wysihtml5_args))
def prepare(self): super(CalendarDatePicker, self).prepare() self.add_call(twj.jQuery(self.selector).datepicker(dict(format=self.format, weekStart=self.weekStart))) if not self.value and self.required: if callable(self.default): self.value = self.default() else: self.value = self.default try: self.value = self.value.strftime(self.date_format) except: pass
def prepare(self): super(Select2Mixin, self).prepare() # put code here to run just before the widget is displayed if 'id' in self.attrs: self.selector = "#" + self.attrs['id'].replace(':', '\\:') if self.placeholder: self.attrs['data-placeholder'] = self.placeholder if self.no_results_text: self.opts['no_results_text'] = self.no_results_text self.add_call(twj.jQuery(self.selector).select2(self.opts))
def prepare(self): super(Wysihtml5, self).prepare() wysihtml5_args = self.wysihtml5_args.copy() wysihtml5_args.update(stylesheets=self.stylesheets) if self.parser and self.parser in parsers: self.safe_modify('resources') self.resources.append(parsers[self.parser]) wysihtml5_args.update( parserRules=twc.js_symbol('wysihtml5ParserRules')) if self.parser is False: wysihtml5_args.update(parser=twc.js_symbol( 'function(elementOrHtml, rules, context, cleanUp) { return elementOrHtml; }' )) self.add_call(twj.jQuery(self.selector).wysihtml5(wysihtml5_args))
def prepare(self): super(ChosenMixin, self).prepare() # put code here to run just before the widget is displayed if 'id' in self.attrs: self.selector = "#" + self.attrs['id'].replace(':', '\\:') if self.placeholder: self.attrs['data-placeholder'] = self.placeholder if self.no_results_text: self.opts['no_results_text'] = self.no_results_text if self.search_contains: self.opts['search_contains'] = True self.add_call(twj.jQuery(self.selector).chosen(self.opts))
def prepare(self): super(ChosenMixin, self).prepare() # put code here to run just before the widget is displayed if "id" in self.attrs: self.selector = "#" + self.attrs["id"].replace(":", "\\:") if self.placeholder: self.attrs["data-placeholder"] = self.placeholder if self.no_results_text: self.opts["no_results_text"] = self.no_results_text if self.search_contains: self.opts["search_contains"] = True self.add_call(twj.jQuery(self.selector).chosen(self.opts))
def prepare(self): super(CalendarDateTimePicker, self).prepare() self.add_call( twj.jQuery(self.selector).datetimepicker( dict(format=self.format, language=self.language, **self.datetimepicker_args) ) ) if not self.value and self.required: if callable(self.default): self.value = self.default() else: self.value = self.default try: self.value = unicode(self.value.strftime(self.date_format)) except: pass
def prepare(self): super(Chosen, self).prepare() # put code here to run just before the widget is displayed if 'id' in self.attrs: self.selector = "#" + self.attrs['id'].replace(':', '\\:') self.add_call(twj.jQuery(self.selector).chosen())
def prepare(self): self.opts = self.opts.copy() # if we are a subclass of MultipleSelectField # we need to tell select2, we want multiple selection multiple = issubclass(self.__class__, twf.MultipleSelectField) if self.ondemand: self.template = "tw2.forms.templates.input_field" self.css_class = "big_drop" self.type = "hidden" # only tell select2 if its attached to an input element self.opts["multiple"] = multiple # if we have something in self.options turn it into an # array of {id:, text:} dicts # but don't try it if there is a data entry in opt already if self.options and "data" not in self.opts: data = self.options2data(self.options[:]) if data: self.opts["data"] = data super(Select2Mixin, self).prepare() # put code here to run just before the widget is displayed if 'id' in self.attrs: self.selector = "#" + self.attrs['id'].replace(':', '\\:') if self.placeholder: self.attrs['data-placeholder'] = self.placeholder if self.no_results_text: self.opts['no_results_text'] = self.no_results_text self.add_call(twj.jQuery(self.selector).select2(self.opts)) if hasattr(self, "value"): if self.value is not None: values = [] if isinstance(self.value, basestring): self.value = [dict(id=self.value, text=self.value)] if not isinstance(self.value, list): self.value = [self.value] else: # all plain text entries are turned into dicts def str2dict(elem): if isinstance(elem, basestring): return dict(id=elem, text=elem) return elem self.value = map(str2dict, self.value) for row in self.value: temp_dict = {} if hasattr(self, "fields"): fields = [a.key for a in self.fields] elif hasattr(row, "__table__"): fields = row.__table__.columns.keys() else: fields = row.keys() if hasattr(row, "__table__"): for field in fields: temp_dict[field] = unicode(getattr(row, field)) else: for field in fields: temp_dict[field] = unicode(row[field]) values.append(temp_dict) # if not attached to input element, we are # dealing only with plain values if not self.ondemand: values = [ entry["id"] for entry in values if entry.has_key("id") ] if not multiple and len(values) > 0: values = values[0] if values: self.add_call( twj.jQuery(self.selector).select2("val", values))
def test_jquery_js_function(): from tw2.jquery import jQuery eq_(str(jQuery('foo')), 'jQuery("foo")')
def prepare(self): self.opts = self.opts.copy() # if we are a subclass of MultipleSelectField # we need to tell select2, we want multiple selection multiple = issubclass(self.__class__, twf.MultipleSelectField) if self.ondemand: self.template = "tw2.forms.templates.input_field" self.css_class = "big_drop" self.type = "hidden" # only tell select2 if its attached to an input element self.opts["multiple"] = multiple # if we have something in self.options turn it into an # array of {id:, text:} dicts # but don't try it if there is a data entry in opt already if self.options and "data" not in self.opts: data = self.options2data(self.options[:]) if data: self.opts["data"] = data super(Select2Mixin, self).prepare() # put code here to run just before the widget is displayed if 'id' in self.attrs: self.selector = "#" + self.attrs['id'].replace(':', '\\:') if self.placeholder: self.attrs['data-placeholder'] = self.placeholder if self.no_results_text: self.opts['no_results_text'] = self.no_results_text self.add_call(twj.jQuery(self.selector).select2(self.opts)) if hasattr(self, "value"): if self.value is not None: values = [] if isinstance(self.value, basestring): self.value = [dict(id=self.value, text=self.value)] if not isinstance(self.value, list): self.value = [self.value] else: # all plain text entries are turned into dicts def str2dict(elem): if isinstance(elem, basestring): return dict(id=elem, text=elem) return elem self.value = map(str2dict, self.value) for row in self.value: temp_dict = {} if hasattr(self, "fields"): fields = [a.key for a in self.fields] elif hasattr(row, "__table__"): fields = row.__table__.columns.keys() else: fields = row.keys() if hasattr(row, "__table__"): for field in fields: temp_dict[field] = unicode(getattr(row, field)) else: for field in fields: temp_dict[field] = unicode(row[field]) values.append(temp_dict) # if not attached to input element, we are # dealing only with plain values if not self.ondemand: values = [entry["id"] for entry in values if entry.has_key("id")] if not multiple and len(values) > 0: values = values[0] if values: self.add_call(twj.jQuery(self.selector).select2("val", values))