Pman.Dialog.Companies.js
authorAlan Knowles <alan@roojs.com>
Wed, 12 Sep 2012 08:44:30 +0000 (16:44 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 12 Sep 2012 08:44:30 +0000 (16:44 +0800)
Pman.Dialog.Companies.js

index 26e2fd8..748b2ad 100644 (file)
@@ -12,487 +12,486 @@ Pman.Dialog.Companies =   new Roo.util.Observable({
 
 
 */
+//<script type="text/javascript">
+
+
 Pman.Dialog.Companies =   new Roo.util.Observable({
     events : {
         'beforerender' : true, // trigger so we can add modules later..
         'show' : true, // trigger on showing form.. - to load additiona data..
         'beforesave' : true
     },
-    show : function (data, callback)
+     
+    dialog : false,
+    form : false,
+    callback: false,
+    create: function()
     {
-        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;
+        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.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';
+        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 (_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?? 
-               }
-           }
-       
-           
-           
+                    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;
+            
+             
+        });
+        //?? will this work...
         
-       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.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.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');
+        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" ]
+    },
+    
+    
+    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()
         ];
-   },
-   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('<img src="{0}" height="{1}">', 
-                               baseURL + '/Images/' + v + '/' + _this.data.logo_id_filename, 
-                               Math.min(this.height, _this.data.logo_id_height)) : "No Image Attached";
-                           
-                       }
-                   }
-               ]
+    },
+    
+    
+    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,
+                
                
-       }
-   },
-   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" + '<BR/>';
-                       }
-                       return String.format('<img src="{0}" width="150">', 
-                               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'
+                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('<img src="{0}" height="{1}">', 
+                                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" + '<BR/>';
+                        }
+                        return String.format('<img src="{0}" width="150">', 
+                                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'
+            }
+    }
          
-});
+});
\ No newline at end of file