Advertisement
Guest User

Untitled

a guest
May 21st, 2017
570
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Ext.onReady(function(){
  2.    
  3.     Ext.QuickTips.init();  
  4.    
  5.     xg = Ext.grid;
  6.     fm = Ext.form;
  7.     bd = Ext.getBody();
  8.     var gridPageSize = 5;
  9.  
  10.     // READER TO GO INTO THE STORE
  11.     reader = new Ext.data.ArrayReader({}, [
  12.        {name: 'name', type: 'string'},
  13.        {name: 'role_name', type: 'string'},
  14.        {name: 'email', type: 'string'},
  15.        {name: 'active', type: 'string'},
  16.        {name: 'last_active', type: 'date', dateFormat: 'j/n h:ia'},
  17.     ]);
  18.  
  19.     // CREATE THE STORE IN GROUPED MODE
  20.     store = new Ext.data.GroupingStore({
  21.             reader: reader,
  22.             data: xg.dummyData,
  23.             sortInfo:{field: 'role_name', direction: "ASC"},
  24.             groupField:'role_name'
  25.     });
  26.  
  27.     // CREATE THE CHECKBOX MODEL
  28.     checkboxModel = new xg.CheckboxSelectionModel({
  29.         singleSelect: true,
  30.         moveEditorOnEnter: false,
  31.         listeners: {
  32.             // On selection change, set enabled state of the removeButton
  33.             // which was placed into the GridPanel using the ref config
  34.             selectionchange: function(sm) {
  35.                 if (sm.getCount() == 1) {
  36.                     grid.editButton.enable();
  37. //                  grid.removeButton.enable();
  38.                 } else if(sm.getCount() > 1) {
  39.                     grid.editButton.disable();
  40. //                  grid.removeButton.enable();
  41.                 } else {
  42.                     grid.editButton.disable();
  43. //                  grid.removeButton.disable();
  44.                 }
  45.             }
  46.         }
  47.     });
  48.    
  49.  
  50.    
  51.    
  52.     // CREATE THE GRID PANEL, IN EDIT MODE
  53.     grid = new xg.EditorGridPanel({
  54.         ds: store,
  55.         selModel: checkboxModel,
  56.         columns: [
  57.         checkboxModel,
  58.         // ----------------- NAME -------------
  59.             {
  60.                 id:'name',
  61.                 header: "Name",
  62.                 width: 20,
  63.                 sortable: true,
  64.                 dataIndex: 'name',
  65.                 editor: new Ext.form.TextField({
  66.                     allowBlank: false
  67.                 })
  68.             },
  69.        // --------------- ROLE NAME -----------
  70.             {
  71.                 header: "Role Name",
  72.                 width: 20,
  73.                 sortable: true,
  74.                 dataIndex: 'role_name',
  75.                 editor: new fm.ComboBox({
  76.                     //typeAhead: true,
  77.                     triggerAction: 'all',
  78.                     // transform the data already specified in html
  79.                     transform: 'role_mapping',
  80.                     lazyRender: true,
  81.                     emptyText: false,
  82.                     editable: false
  83. //                    listClass: 'x-combo-list-small'
  84.                 })                        
  85.             },
  86.         // ------------- EMAIL --------------
  87.             {
  88.                 header: "Email",
  89.                 width: 40,
  90.                 sortable: true,
  91.                 dataIndex: 'email',
  92.                 editor: new Ext.form.TextField({
  93.                     allowBlank: false
  94.                 })                        
  95.              },
  96.        // -------------- ACTIVE --------------------
  97.             {
  98.                  header: "Active",
  99.                  width: 20,
  100.                  sortable: true,
  101.                  dataIndex: 'active',
  102.                  editor: new fm.ComboBox({
  103.                      //typeAhead: true,
  104.                      triggerAction: 'all',
  105.                      // transform the data already specified in html
  106.                      transform: 'user_active',
  107.                      lazyRender: true,
  108.                      emptyText: false,
  109.                      editable: false,
  110.                      listClass: 'x-combo-list-small'
  111.                  })                  
  112.             },
  113.        // -------- LAST ACTIVE ------------
  114.             {
  115.                 header: "Last Active",
  116.                 width: 20,
  117.                 sortable: true,
  118.                 renderer: Ext.util.Format.dateRenderer('d/m/Y'),
  119.                 dataIndex: 'last_active'
  120.             }
  121.         ],
  122.  
  123.         view: new Ext.grid.GroupingView({
  124.             forceFit:true,
  125.             groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Users" : "User"]})'
  126.         }),
  127.         frame:true,
  128. //        width: '100%',
  129. //        height: '100%',
  130. //        layout: 'fit',
  131.         clicksToEdit: 2,
  132.         collapsible: true,
  133.         animCollapse: false,
  134.         title: 'User Management',
  135.         iconCls: 'icon-grid',
  136.         renderTo: 'center1',
  137.         // inline toolbars
  138.         tbar:[
  139.               {
  140.                 text:'Create User',
  141.                 tooltip:'Add a new user',
  142.                 iconCls:'add',
  143.                 handler: function() {
  144.                     PPIMS_UserManagement.drawCreateForm();
  145.                 }
  146.               }, '-',
  147.               {
  148.                 text:'Edit User',
  149.                 tooltip:'Edit User',
  150.                 iconCls:'edit',
  151.                 disabled: true,
  152.                 ref: '../editButton',
  153.                 handler: function() {
  154.                
  155.                     // Get the form
  156.                     editUserForm = PPIMS_UserManagement.getEditForm();
  157.                    
  158.                     // Get the current selected row's data
  159.                     var userData = grid.getSelectionModel().getSelected().data;
  160.                    
  161.                     // Set some fields.
  162.                     editUserForm.get('edit_name').setValue(userData.name);
  163.                     editUserForm.get('edit_email').setValue(userData.email);
  164.                     editUserForm.get('edit_role_name').setValue(userData.role_name);
  165.                     editUserForm.get('edit_active').setValue(userData.active);
  166.                    
  167.                     PPIMS_UserManagement.drawEditForm();
  168.                 }
  169.             }
  170.         ],
  171.        
  172.         bbar: [
  173.                '->',
  174.                {
  175.                 text:'Clear Grouping',
  176.                 iconCls: 'icon-clear-group',
  177.                 handler : function(){
  178.                        store.clearGrouping();
  179.                 }
  180.                },
  181.                '->',
  182.                {
  183.                    text: 'Update Changes'
  184.                }              
  185.         ]
  186.        
  187.     });  
  188.    
  189.    
  190.    
  191. });
  192.  
  193.  
  194. // Array data for the grids
  195. Ext.grid.dummyData = [
  196.     ['3m Co', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  197.     ['3mm Co', 'Admin', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  198.     ['3m Com', 'Developer', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  199.     ['3mm Com', 'Developer', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  200.     ['3m Com', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  201.     ['3m Co', 'Developer', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  202.     ['3masdaa Co', 'Admin', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  203.     ['3mhh Co', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  204.     ['3m Co', 'Admin', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  205.     ['3msdas Co', 'Developer', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  206.     ['3m Co', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  207.     ['3m Coadas', 'Admin', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  208.     ['3m Co', 'Member', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  209.     ['3masdas Co', 'Admin', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  210.     ['3mm Com', 'Developer', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  211.     ['3m Com', 'Member', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  212.     ['3m Co', 'Developer', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  213.     ['3masdaa Co', 'Admin', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  214.     ['3mhh Co', 'Member', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  215.     ['3m Co', 'Admin', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  216.     ['3msdas Co', 'Developer', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  217.     ['3m Co', 'Member', 'dragoonis@gmail.com', 'Yes', '1/4 12:00am'],
  218.     ['3m Coadas', 'Admin', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  219.     ['3m Co', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  220.     ['3masdas Co', 'Admin', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  221.     ['3m Coadas', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],    
  222.     ['3m Coadas', 'Member', 'dragoonis@php.net', 'Yes', '1/4 12:00am'],
  223.     ['3m Co', 'Developer', 'dragoonis@php.net', 'Yes', '1/4 12:00am']
  224. ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement