123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- MWF.xDesktop.requireApp("process.ProcessManager", "ProcessExplorer",null,false);
- MWF.xDesktop.requireApp("process.ProcessManager", "widget.ApplicationSelector",null,false);
- MWF.xApplication.process.ProcessManager.widget = MWF.xApplication.process.ProcessManager.widget || {};
- MWF.xApplication.process.ProcessManager.widget.ProcessSelector = new Class({
- Implements: [Options, Events],
- Extends: MWF.xApplication.process.ProcessManager.widget.ApplicationSelector,
- options: {
- "style": "default",
- "multi": true,
- "maskNode": $(document.body)
- },
- initialize: function(app, options){
- this.setOptions(options);
- //this.node = $(node);
- this.app = app;
- this.processes = [];
- this.path = "../x_component_process_ProcessManager/widget/$ProcessSelector/";
- this.cssPath = "../x_component_process_ProcessManager/widget/$ProcessSelector/"+this.options.style+"/css.wcss";
- this._loadCss();
- this.selectedItems = [];
- },
- load: function(ids, callback){
- this.applicationIds = ids;
- this.callback = callback || null;
- this.loadWindow();
- this.loadContent();
- },
- loadContent: function(){
- //MWF.xDesktop.requireApp("process.ProcessManager", "Actions.RestActions", function(){
- if (!this.restActions) this.restActions = MWF.Actions.get("x_processplatform_assemble_designer");
- this.applicationIds.each(function(id){
- this.restActions.listProcess(id, function(json){
- json.data.each(function(data){
- var process = new MWF.xApplication.process.ProcessManager.widget.ProcessSelector.Process(this.app, this, data);
- process.load();
- this.processes.push(process);
- }.bind(this));
- }.bind(this));
- }.bind(this));
- //}.bind(this));
- },
- clearSelected: function(){
- this.processes.each(function(pro){
- if (pro.selected) pro.unSelectedItem();
- }.bind(this));
- },
- close: function(){
- //if (this.callback) this.callback();
- this.selectedItems = [];
- this.windowNode.destroy();
- this.options.maskNode.unmask();
- }
- });
- MWF.xApplication.process.ProcessManager.widget.ProcessSelector.Process = new Class({
- Extends: MWF.xApplication.process.ProcessManager.ProcessExplorer.Process,
- Implements: [Options, Events],
- initialize: function(app, selector, data, options){
- this.explorer = selector;
- this.data = data;
- this.container = selector.windowContentNode;
- this.css = selector.css;
- this.icon = this._getIcon();
- },
- load: function(){
- this.createNode();
- this.createIconNode();
- this.loadSelectIcon();
- this.createTextNodes();
- },
- createNode: function(){
- this.node = new Element("div", {
- "styles": this.css.itemNode,
- "events": {
- "click": function(e){
- this.selected();
- e.stopPropagation();
- }.bind(this)
- }
- }).inject(this.container);
- },
- createIconNode: function(){
- if (this.data.name.icon) this.icon = this.data.name.icon;
- var iconUrl = this.explorer.path+""+this.explorer.options.style+"/processIcon/"+this.icon;
- var itemIconNode = new Element("div", {
- "styles": this.css.itemIconNode
- }).inject(this.node);
- itemIconNode.setStyle("background", "url("+iconUrl+") center center no-repeat");
- },
- loadSelectIcon: function(){
- this.selectIconNode = new Element("div", {
- "styles": this.css.processItemSelectIcon
- }).inject(this.node);
- },
- _open: function(e){},
- selected: function(){
- if (!this.isSelected){
- if (!this.explorer.options.multi) this.explorer.clearSelected();
- this.selectedItem();
- }else{
- this.unSelectedItem();
- }
- },
- selectedItem: function(){
- this.selectIconNode.setStyles(this.css.processItemSelectIcon_selected);
- this.node.setStyles(this.css.itemNode_select);
- this.explorer.selectedItems.push(this.data);
- this.isSelected = true;
- },
- unSelectedItem: function(){
- this.selectIconNode.setStyles(this.css.processItemSelectIcon);
- this.node.setStyles(this.css.itemNode);
- this.explorer.selectedItems.erase(this.data);
- this.isSelected = false;
- }
- });
|