Example #1
0
    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))
Example #2
0
    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),
        )
Example #3
0
 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)
Example #4
0
 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)