From: Chris Date: Wed, 12 Sep 2012 06:57:44 +0000 (+0800) Subject: Pman.Dialog.Companies.js X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=commitdiff_plain;h=ac6244ccfe6ae1209a5ef1922cecde71fb1f288f Pman.Dialog.Companies.js --- diff --git a/Pman.Dialog.Companies.js b/Pman.Dialog.Companies.js index 7322d000..cc40e0dd 100644 --- a/Pman.Dialog.Companies.js +++ b/Pman.Dialog.Companies.js @@ -7,477 +7,481 @@ Pman.Dialog.Companies = new Roo.util.Observable({ 'show' : true, // trigger on showing form.. - to load additiona data.. 'beforesave' : true }, - - dialog : false, - form : false, - callback: false, - create: function() - { - if (this.dialog) { - return; - } - - this.dialog = new Ext.LayoutDialog(Ext.get(document.body).createChild({tag:'div'}), { - autoCreated: true, - title: "Edit Companies", - modal: true, - width: 750, - height: 400, - shadow:true, - minWidth:200, - minHeight:180, - //proxyDrag: true, - collapsible : false, - closable: false, - draggable: false, - center: { - autoScroll:false, - titlebar: false, - // tabPosition: 'top', - hideTabs: true, - closeOnTab: true, - alwaysShowTabs: false - } - }); - this.dialog.addKeyListener(27, this.dialog.hide, this.dialog); - this.dialog.addButton("Cancel", this.dialog.hide, this.dialog); - - this.dialog.addButton("Save", this.save, this); - this.layout = this.dialog.getLayout(); - this.layout.beginUpdate(); - - var _this = this; - - this.form = new Ext.form.Form({ - labelWidth: 150 , - - fileUpload : true, - listeners : { - actionfailed : function(f, act) { - _this.dialog.el.unmask(); - // error msg??? - Pman.standardActionFailed(f,act); - - }, - actioncomplete: function(f, act) { - _this.dialog.el.unmask(); - //console.log('load completed'); - // error messages????? - - - if (act.type == 'load') { - - _this.data = act.result.data; - var meth = _this.data.isOwner || !Pman.Login.isOwner() ? 'disable' : 'enable'; - - - if (_this.form.findField('comptype')) { - _this.form.findField('comptype')[meth](); - } - - // _this.loaded(); - return; - } - - - if (act.type == 'submit') { // only submitted here if we are - _this.dialog.hide(); - - if (_this.callback) { - _this.callback.call(this, act.result.data); - } - return; - } - // unmask?? - } - } - - - - - }); - //?? will this work... - - this.form.addxtype.apply(this.form, this.getFormFields()); - this.fireEvent('beforeRender', this ); - - var ef = this.dialog.getLayout().getEl().createChild({tag: 'div'}); - ef.dom.style.margin = 10; - - this.form.render(ef.dom); - - var vp = this.dialog.getLayout().add('center', new Ext.ContentPanel(ef, { - autoCreate : true, - //title: 'Org Details', - //toolbar: this.tb, - width: 250, - maxWidth: 250, - fitToFrame:true - })); - - - - - this.layout.endUpdate(); - }, show : function (data, callback) { - this.callback = callback; - this._id = data.id ? data.id : 0; // modify if you do not use ID !!!! - this.create(); - this.data = data; - this.form.reset(); - if (data._fetch) { - this.dialog.show(); - this.dialog.el.mask("Loading"); - this.form.doAction('load', { - url: baseURL + '/Roo/Companies.html', - method: 'GET', - params: { - _id: this._id , - _ts : Math.random() - } - }); - this.fireEvent('show'); - return; - } else { - this.form.setValues(data); - } - - - - this.dialog.show(); - - if (data.isOwner || !Pman.Login.isOwner()) { - this.dialog.setTitle("Your Company Details"); - if (this.form.findField('comptype')) { - this.form.findField('comptype').disable(); - } - - - - - } else { - this.dialog.setTitle(data.id ? "Edit Company" : "Add Company"); - if (this.form.findField('comptype')) { - this.form.findField('comptype').enable(); - } - } - this.fireEvent('show'); - - }, - - - save : function() - { - this.form.fileUpload = this.form.findField('imageUpload') ? true : false; - this.fireEvent('beforesave'); - this.form.doAction('submit', { - url: baseURL + '/Roo/Companies.html', - method: 'POST', - params: { - _id: this._id , - ts : Math.random() - } - }); - }, - - comptypeList : function() - { - // should probably be system configurable.. - return [ - - [ 'CONSULTANT', "Consultant" ], - [ 'CLIENT' , "Client" ], - [ 'CONTRACTOR' , "Contractor" ] - // [ 'OWNER', "System Owner" ] - ]; - }, - comptypeListToString: function(v) { - if (!v.length) { - return ''; - } - if (v== "OWNER") { - return "System Owner"; - } - var a = this.comptypeList(); - var ret = ''; - Roo.each(a, function( ar) { - if (ar[0] == v) { - ret = ar[1]; - return false; - } - }); - return ret; - - - - }, - - getFormFields : function() { - return [ - { - xtype : 'Column', - width: 500, - items: [ - this.c_code(), - this.c_comptype_name(), - this.c_name(), - this.c_tel(), - this.c_fax(), - this.c_email(), - - - this.c_address(), - this.c_remarks() - ] - }, - { - xtype : 'Column', - width: 200, - labelAlign: 'top', - items : [ - this.c_background_color(), - this.c_image_edit() - //this.c_image_view(), - //this.c_image_change(), - ] - }, - this.c_isOwner(), - this.c_id() - ]; - }, - - - c_code : function() { - return { - name : 'code', - fieldLabel : "Company ID (for filing Ref.)", - value : '', - allowBlank : false, - qtip : "Enter code", - xtype : 'TextField', - width : 100 - } - }, - c_comptype_name : function() { - return { - - fieldLabel : 'Type', - disabled : Pman.Login.isOwner() ? false : true, - name : 'comptype_name', - xtype : 'ComboBox', - allowBlank : false, - qtip : 'Select Company type', - - width: 200, - xns : Roo.form, - - listWidth : 250, - - - store: { - xtype : 'SimpleStore', - fields: ['val', 'desc'], - data : this.comptypeList() - }, - displayField:'desc', - valueField: 'val', - hiddenName : 'comptype', - - typeAhead: false, - editable: false, - //mode: 'local', - triggerAction: 'all', - emptyText: "Select Type", - selectOnFocus: true - - - } - }, - c_name : function() { - return { - - name : 'name', - fieldLabel : "Company Name", - value : '', - allowBlank : true, - qtip : "Enter Company Name", - xtype : 'TextField', - width : 300 - } - }, - c_tel : function() { - return { - - name : 'tel', - fieldLabel : "Phone", - value : '', - allowBlank : true, - qtip : "Enter Phone Number", - xtype : 'TextField', - width : 300 - } - }, - c_fax : function() { - return { - - name : 'fax', - fieldLabel : "fax", - value : '', - allowBlank : true, - qtip : "Enter fax Number", - xtype : 'TextField', - width : 300 - } - }, - c_email : function() { - return { - - name : 'email', - fieldLabel : "Email", - value : '', - allowBlank : true, - qtip : "Enter Email Address", - xtype : 'TextField', - width : 300 - } - }, - c_address : function() { - return { - - name : 'address', - fieldLabel : "Address", - value : '', - allowBlank : true, - qtip : "Enter Address", - xtype : 'TextArea', - height : 70, - width : 300 - } - }, - c_remarks : function() { - return { - - name : 'remarks', - fieldLabel : "Remarks", - value : '', - allowBlank : true, - qtip : "Enter remarks", - xtype : 'TextArea', - height : 40, - width : 300 - } - }, - c_background_color : function() { - return { - xtype: 'ColorField', - name : 'background_color', - fieldLabel: "Background Colour" - } - }, - c_image_view : function() { - var _this = this; - return { - xtype : 'FieldSetEx', - name : 'image-view', - collapseGroup : 'companies-image', - value: 0, - labelWidth: 100, - expanded: true, - style: 'width:420px;', - legend : "Logo Image", - items: [ - { - xtype : 'DisplayImage', // image preview... - name : 'logo_id', - fieldLabel : 'Logo Image', - width: 300, - height: 50, - renderer : function(v) { - return v ? String.format('', - baseURL + '/Images/' + v + '/' + _this.data.logo_id_filename, - Math.min(this.height, _this.data.logo_id_height)) : "No Image Attached"; - - } - } - ] - - } - }, - c_image_edit : function() { - var _this = this; - return { - name : 'logo_id', - fieldLabel : "Logo Image", - value : '', - allowBlank : true, - style: 'border: 1px solid #ccc;', - xtype : 'DisplayImage', - width : 170, - height: 170, - addTitle : "Change / Add Image", - icon: Roo.rootURL + 'images/default/dd/drop-add.gif', - handler : function() { - var _t = this; - - Pman.Dialog.Image.show({ - onid :_this.data.id, - ontable : 'Companies', - imgtype : 'LOGO' - }, function(data) { - if (data) { - _t.setValue(data.id); - } - - }); - }, - renderer : function(v) { - //var vp = v ? v : 'Companies:' + _this.data.id + ':-LOGO'; - if (!v) { - return "No Image Available" + '
'; - } - return String.format('', - baseURL + '/Images/Thumb/150x150/' + v + '/logo.jpg' - ); - } - - } ; - - }, - c_image_change: function() { - return { - xtype : 'FieldSetEx', - collapseGroup : 'companies-image', - name : 'image-change', - value: 0, - labelWidth: 100, - expanded: false, - style: 'width:420px;', - legend : "Add / Change Image", - items : [ - { - xtype : 'TextField', - name : 'imageUpload', - fieldLabel : "Upload Image", - inputType : 'file' - } - ] - } - }, - c_isOwner : function() { - return { - name : 'isOwner', - value : '', - xtype : 'Hidden' - } - }, - c_id : function() { - return { - name : 'id', - value : '', - xtype : 'Hidden' - } + Pman.Dialog.CoreCompanies.show({id:data.id}); } +// +// dialog : false, +// form : false, +// callback: false, +// create: function() +// { +// if (this.dialog) { +// return; +// } +// +// this.dialog = new Ext.LayoutDialog(Ext.get(document.body).createChild({tag:'div'}), { +// autoCreated: true, +// title: "Edit Companies", +// modal: true, +// width: 750, +// height: 400, +// shadow:true, +// minWidth:200, +// minHeight:180, +// //proxyDrag: true, +// collapsible : false, +// closable: false, +// draggable: false, +// center: { +// autoScroll:false, +// titlebar: false, +// // tabPosition: 'top', +// hideTabs: true, +// closeOnTab: true, +// alwaysShowTabs: false +// } +// }); +// this.dialog.addKeyListener(27, this.dialog.hide, this.dialog); +// this.dialog.addButton("Cancel", this.dialog.hide, this.dialog); +// +// this.dialog.addButton("Save", this.save, this); +// this.layout = this.dialog.getLayout(); +// this.layout.beginUpdate(); +// +// var _this = this; +// +// this.form = new Ext.form.Form({ +// labelWidth: 150 , +// +// fileUpload : true, +// listeners : { +// actionfailed : function(f, act) { +// _this.dialog.el.unmask(); +// // error msg??? +// Pman.standardActionFailed(f,act); +// +// }, +// actioncomplete: function(f, act) { +// _this.dialog.el.unmask(); +// //console.log('load completed'); +// // error messages????? +// +// +// if (act.type == 'load') { +// +// _this.data = act.result.data; +// var meth = _this.data.isOwner || !Pman.Login.isOwner() ? 'disable' : 'enable'; +// +// +// if (_this.form.findField('comptype')) { +// _this.form.findField('comptype')[meth](); +// } +// +// // _this.loaded(); +// return; +// } +// +// +// if (act.type == 'submit') { // only submitted here if we are +// _this.dialog.hide(); +// +// if (_this.callback) { +// _this.callback.call(this, act.result.data); +// } +// return; +// } +// // unmask?? +// } +// } +// +// +// +// +// }); +// //?? will this work... +// +// this.form.addxtype.apply(this.form, this.getFormFields()); +// this.fireEvent('beforeRender', this ); +// +// var ef = this.dialog.getLayout().getEl().createChild({tag: 'div'}); +// ef.dom.style.margin = 10; +// +// this.form.render(ef.dom); +// +// var vp = this.dialog.getLayout().add('center', new Ext.ContentPanel(ef, { +// autoCreate : true, +// //title: 'Org Details', +// //toolbar: this.tb, +// width: 250, +// maxWidth: 250, +// fitToFrame:true +// })); +// +// +// +// +// this.layout.endUpdate(); +// }, +// show : function (data, callback) +// { +// this.callback = callback; +// this._id = data.id ? data.id : 0; // modify if you do not use ID !!!! +// this.create(); +// this.data = data; +// this.form.reset(); +// if (data._fetch) { +// this.dialog.show(); +// this.dialog.el.mask("Loading"); +// this.form.doAction('load', { +// url: baseURL + '/Roo/Companies.html', +// method: 'GET', +// params: { +// _id: this._id , +// _ts : Math.random() +// } +// }); +// this.fireEvent('show'); +// return; +// } else { +// this.form.setValues(data); +// } +// +// +// +// this.dialog.show(); +// +// if (data.isOwner || !Pman.Login.isOwner()) { +// this.dialog.setTitle("Your Company Details"); +// if (this.form.findField('comptype')) { +// this.form.findField('comptype').disable(); +// } +// +// +// +// +// } else { +// this.dialog.setTitle(data.id ? "Edit Company" : "Add Company"); +// if (this.form.findField('comptype')) { +// this.form.findField('comptype').enable(); +// } +// } +// this.fireEvent('show'); +// +// }, +// +// +// save : function() +// { +// this.form.fileUpload = this.form.findField('imageUpload') ? true : false; +// this.fireEvent('beforesave'); +// this.form.doAction('submit', { +// url: baseURL + '/Roo/Companies.html', +// method: 'POST', +// params: { +// _id: this._id , +// ts : Math.random() +// } +// }); +// }, +// +// comptypeList : function() +// { +// // should probably be system configurable.. +// return [ +// +// [ 'CONSULTANT', "Consultant" ], +// [ 'CLIENT' , "Client" ], +// [ 'CONTRACTOR' , "Contractor" ] +// // [ 'OWNER', "System Owner" ] +// ]; +// }, +// comptypeListToString: function(v) { +// if (!v.length) { +// return ''; +// } +// if (v== "OWNER") { +// return "System Owner"; +// } +// var a = this.comptypeList(); +// var ret = ''; +// Roo.each(a, function( ar) { +// if (ar[0] == v) { +// ret = ar[1]; +// return false; +// } +// }); +// return ret; +// +// +// +// }, +// +// getFormFields : function() { +// return [ +// { +// xtype : 'Column', +// width: 500, +// items: [ +// this.c_code(), +// this.c_comptype_name(), +// this.c_name(), +// this.c_tel(), +// this.c_fax(), +// this.c_email(), +// +// +// this.c_address(), +// this.c_remarks() +// ] +// }, +// { +// xtype : 'Column', +// width: 200, +// labelAlign: 'top', +// items : [ +// this.c_background_color(), +// this.c_image_edit() +// //this.c_image_view(), +// //this.c_image_change(), +// ] +// }, +// this.c_isOwner(), +// this.c_id() +// ]; +// }, +// +// +// c_code : function() { +// return { +// name : 'code', +// fieldLabel : "Company ID (for filing Ref.)", +// value : '', +// allowBlank : false, +// qtip : "Enter code", +// xtype : 'TextField', +// width : 100 +// } +// }, +// c_comptype_name : function() { +// return { +// +// fieldLabel : 'Type', +// disabled : Pman.Login.isOwner() ? false : true, +// name : 'comptype_name', +// xtype : 'ComboBox', +// allowBlank : false, +// qtip : 'Select Company type', +// +// width: 200, +// xns : Roo.form, +// +// listWidth : 250, +// +// +// store: { +// xtype : 'SimpleStore', +// fields: ['val', 'desc'], +// data : this.comptypeList() +// }, +// displayField:'desc', +// valueField: 'val', +// hiddenName : 'comptype', +// +// typeAhead: false, +// editable: false, +// //mode: 'local', +// triggerAction: 'all', +// emptyText: "Select Type", +// selectOnFocus: true +// +// +// } +// }, +// c_name : function() { +// return { +// +// name : 'name', +// fieldLabel : "Company Name", +// value : '', +// allowBlank : true, +// qtip : "Enter Company Name", +// xtype : 'TextField', +// width : 300 +// } +// }, +// c_tel : function() { +// return { +// +// name : 'tel', +// fieldLabel : "Phone", +// value : '', +// allowBlank : true, +// qtip : "Enter Phone Number", +// xtype : 'TextField', +// width : 300 +// } +// }, +// c_fax : function() { +// return { +// +// name : 'fax', +// fieldLabel : "fax", +// value : '', +// allowBlank : true, +// qtip : "Enter fax Number", +// xtype : 'TextField', +// width : 300 +// } +// }, +// c_email : function() { +// return { +// +// name : 'email', +// fieldLabel : "Email", +// value : '', +// allowBlank : true, +// qtip : "Enter Email Address", +// xtype : 'TextField', +// width : 300 +// } +// }, +// c_address : function() { +// return { +// +// name : 'address', +// fieldLabel : "Address", +// value : '', +// allowBlank : true, +// qtip : "Enter Address", +// xtype : 'TextArea', +// height : 70, +// width : 300 +// } +// }, +// c_remarks : function() { +// return { +// +// name : 'remarks', +// fieldLabel : "Remarks", +// value : '', +// allowBlank : true, +// qtip : "Enter remarks", +// xtype : 'TextArea', +// height : 40, +// width : 300 +// } +// }, +// c_background_color : function() { +// return { +// xtype: 'ColorField', +// name : 'background_color', +// fieldLabel: "Background Colour" +// } +// }, +// c_image_view : function() { +// var _this = this; +// return { +// xtype : 'FieldSetEx', +// name : 'image-view', +// collapseGroup : 'companies-image', +// value: 0, +// labelWidth: 100, +// expanded: true, +// style: 'width:420px;', +// legend : "Logo Image", +// items: [ +// { +// xtype : 'DisplayImage', // image preview... +// name : 'logo_id', +// fieldLabel : 'Logo Image', +// width: 300, +// height: 50, +// renderer : function(v) { +// return v ? String.format('', +// baseURL + '/Images/' + v + '/' + _this.data.logo_id_filename, +// Math.min(this.height, _this.data.logo_id_height)) : "No Image Attached"; +// +// } +// } +// ] +// +// } +// }, +// c_image_edit : function() { +// var _this = this; +// return { +// name : 'logo_id', +// fieldLabel : "Logo Image", +// value : '', +// allowBlank : true, +// style: 'border: 1px solid #ccc;', +// xtype : 'DisplayImage', +// width : 170, +// height: 170, +// addTitle : "Change / Add Image", +// icon: Roo.rootURL + 'images/default/dd/drop-add.gif', +// handler : function() { +// var _t = this; +// +// Pman.Dialog.Image.show({ +// onid :_this.data.id, +// ontable : 'Companies', +// imgtype : 'LOGO' +// }, function(data) { +// if (data) { +// _t.setValue(data.id); +// } +// +// }); +// }, +// renderer : function(v) { +// //var vp = v ? v : 'Companies:' + _this.data.id + ':-LOGO'; +// if (!v) { +// return "No Image Available" + '
'; +// } +// return String.format('', +// baseURL + '/Images/Thumb/150x150/' + v + '/logo.jpg' +// ); +// } +// +// } ; +// +// }, +// c_image_change: function() { +// return { +// xtype : 'FieldSetEx', +// collapseGroup : 'companies-image', +// name : 'image-change', +// value: 0, +// labelWidth: 100, +// expanded: false, +// style: 'width:420px;', +// legend : "Add / Change Image", +// items : [ +// { +// xtype : 'TextField', +// name : 'imageUpload', +// fieldLabel : "Upload Image", +// inputType : 'file' +// } +// ] +// } +// }, +// c_isOwner : function() { +// return { +// name : 'isOwner', +// value : '', +// xtype : 'Hidden' +// } +// }, +// c_id : function() { +// return { +// name : 'id', +// value : '', +// xtype : 'Hidden' +// } +// } });