def remote_table_script_parameters(self, pane, table=None, res_type=None, resource='', title=None, **kwargs): pkgname, tblname = table.split('.') if not resource: return resource = resource.replace('.py', '') #cl=self.site.loadResource(pkgname,'tables',tblname,res_type,"%s:Main" %resource) #faccio mixin con prefisso res_obj = self.site.loadTableScript(self, table, '%s/%s' % (res_type, resource), class_name='Main') self.current_batch = res_obj self.mixin(res_obj, methods='table_script_*,rpc_table_script_*') batch_dict = objectExtract(res_obj, 'batch_') batch_dict['resource_name'] = resource batch_dict['res_type'] = res_type pane.data('.batch', batch_dict) hasParameters = hasattr(self, 'table_script_parameters_pane') dlg_dict = objectExtract(res_obj, 'dialog_') dialog_height_no_par = dlg_dict.pop('height_no_par', dlg_dict.get('height')) if not hasParameters: dlg_dict['height'] = dialog_height_no_par dlg_dict['title'] = dlg_dict.get('title', batch_dict.get('title')) pane.data('.dialog', dlg_dict) dlg = self.simpleDialog(pane, datapath='.dialog', title='^.title', height='^.height', width='^.width', cb_center=self.table_script_dialog_center, dlgId='table_script_dlg_parameters', hasParameters=hasParameters, dialog_height_no_par=dialog_height_no_par, resource=resource) dlg.dataController(""" var modifier = _node.attr.modifier; if (modifier=='Shift' || immediate){ FIRE .close; SET #table_script_runner.parameters=pars; FIRE #table_script_runner.run; }else{ FIRE .close; batch_monitor.create_local_root(); SET #table_script_runner.parameters=pars; PUBLISH batch_monitor_on; FIRE #table_script_runner.run; } """, _fired="^.save", pars='=.data', immediate=batch_dict.get('immediate', False))
def remote_table_script_parameters(self, pane, table=None, res_type=None, resource="", title=None, **kwargs): pkgname, tblname = table.split(".") if not resource: return resource = resource.replace(".py", "") # cl=self.site.loadResource(pkgname,'tables',tblname,res_type,"%s:Main" %resource) #faccio mixin con prefisso res_obj = self.site.loadTableScript(self, table, "%s/%s" % (res_type, resource), class_name="Main") self.current_batch = res_obj self.mixin(res_obj, methods="table_script_*,rpc_table_script_*") batch_dict = objectExtract(res_obj, "batch_") batch_dict["resource_name"] = resource batch_dict["res_type"] = res_type pane.data(".batch", batch_dict) hasParameters = hasattr(self, "table_script_parameters_pane") dlg_dict = objectExtract(res_obj, "dialog_") dialog_height_no_par = dlg_dict.pop("height_no_par", dlg_dict.get("height")) if not hasParameters: dlg_dict["height"] = dialog_height_no_par dlg_dict["title"] = dlg_dict.get("title", batch_dict.get("title")) pane.data(".dialog", dlg_dict) dlg = self.simpleDialog( pane, datapath=".dialog", title="^.title", height="^.height", width="^.width", cb_center=self.table_script_dialog_center, dlgId="table_script_dlg_parameters", hasParameters=hasParameters, dialog_height_no_par=dialog_height_no_par, resource=resource, ) dlg.dataController( """ var modifier = _node.attr.modifier; if (modifier=='Shift' || immediate){ FIRE .close; SET #table_script_runner.parameters=pars; FIRE #table_script_runner.run; }else{ FIRE .close; batch_monitor.create_local_root(); SET #table_script_runner.parameters=pars; PUBLISH batch_monitor_on; FIRE #table_script_runner.run; } """, _fired="^.save", pars="=.data", immediate=batch_dict.get("immediate", False), )
def table_script_parameters(self, pane, table=None, res_type=None, resource='', title=None, extra_parameters=None,selectedRowidx=None,selectionName=None, selectedPkeys=None,selectionFilterCb=None,sortBy=None,**kwargs): if not resource: return resource = resource.replace('.py', '') resource_path = '%s/%s' % (res_type, resource) res_obj = self.site.loadTableScript(self, table, resource_path, class_name='Main') self._table_script_imports(pane,res_obj) count = 0 if selectedPkeys: if isinstance(selectedPkeys,basestring): selectedPkeys = selectedPkeys.strip(',').split(',') res_obj.selectedPkeys = selectedPkeys count = len(selectedPkeys or []) elif selectionName: res_obj.defineSelection(selectionName=selectionName, selectedRowidx=selectedRowidx, selectionFilterCb=selectionFilterCb, sortBy=sortBy) count = len(res_obj.get_selection_pkeys() or []) self.current_batch = res_obj self.mixin(res_obj, methods='table_script_*,rpc_table_script_*') batch_dict = objectExtract(res_obj, 'batch_') batch_dict['record_count'] = count batch_dict['resource_name'] = resource batch_dict['resource_path'] = resource_path batch_dict['res_type'] = res_type batch_dict['table'] = table self.table_script_dialogs(pane,batch_dict=batch_dict,extra_parameters=extra_parameters)
def table_script_parameters(self, pane, table=None, res_type=None, resource='', title=None, extra_parameters=None, selectedRowidx=None, selectionName=None, selectedPkeys=None, selectionFilterCb=None, sortBy=None, **kwargs): if not resource: return resource = resource.replace('.py', '') resource_path = '%s/%s' % (res_type, resource) res_obj = self.site.loadTableScript(self, table, resource_path, class_name='Main') self._table_script_imports(pane, res_obj) count = 0 if selectedPkeys: if isinstance(selectedPkeys, basestring): selectedPkeys = selectedPkeys.strip(',').split(',') res_obj.selectedPkeys = selectedPkeys count = len(selectedPkeys or []) elif selectionName: res_obj.defineSelection(selectionName=selectionName, selectedRowidx=selectedRowidx, selectionFilterCb=selectionFilterCb, sortBy=sortBy) count = len(res_obj.get_selection_pkeys() or []) self.current_batch = res_obj self.mixin(res_obj, methods='table_script_*,rpc_table_script_*') batch_dict = objectExtract(res_obj, 'batch_') batch_dict['record_count'] = count batch_dict['resource_name'] = resource batch_dict['resource_path'] = resource_path batch_dict['res_type'] = res_type batch_dict['table'] = table self.table_script_dialogs(pane, batch_dict=batch_dict, extra_parameters=extra_parameters)