PHP8
[Pman.BAdmin] / Pman.Tab.BAdminStaff.bjs
index d93c8e0..c23c439 100644 (file)
@@ -2,21 +2,21 @@
  "name" : "Pman.Tab.BAdminStaff",
  "parent" : "Pman.Tab.BAdmin",
  "title" : "",
- "path" : "/home/edward/gitlive/Pman.BAdmin/Pman.Tab.BAdminStaff.bjs",
+ "path" : "/home/alan/gitlive/Pman.BAdmin/Pman.Tab.BAdminStaff.bjs",
  "permname" : "",
  "modOrder" : "003",
  "strings" : {
-  "b15aafc19dc2ba4b788adf77268d8ca4" : "Hide Inactive",
+  "cdb6b6bab1fd18b9dbfe3fb84a5d34ae" : "<i class=\"fa fa-search\"></i>",
   "ce8ae9da5b7cd6c3df2929543a9af92d" : "Email",
+  "b15aafc19dc2ba4b788adf77268d8ca4" : "Hide Inactive",
   "f29c99f082755399839b64ebaf9f608a" : "List / View",
   "4f3cdff2e6a5e08440be182ef40d93f7" : "Print / Export",
   "ec211f7c20af43e742bf2570c3cb84f9" : "Add",
   "a37ede293936e29279ed543129451ec3" : "Groups",
   "7dce122004969d56ae2e0245cb754d35" : "Edit",
   "05b763f7d24f32575493b3c23f299b0e" : "Add To Group",
-  "aba9f7d7443652e858969bfc280690b1" : "Manage Groups ",
+  "9bac86fd9f499d47cea5f2fd70d701c1" : "search for account",
   "e0a7cc944485bdedafb92b0cf98632fa" : "Remove From Group",
-  "bcc254b55c4a1babdf1dcb82c207506b" : "Phone",
   "25f57527ae8a27c94fb5230b5486c743" : "Permission List",
   "09f0c5159c5e34504e453eff3fc70324" : "Account Management",
   "054176c3a541fb2d4b63e29360c749aa" : "Members List",
   "4d3d769b812b6faa6b76e1a8abaece2d" : "Active",
   "49ee3087348e8d44e1feda1917443987" : "Name",
   "e55f75a29310d7b60f7ac1d390c8ae42" : "Module",
-  "ed5dea09095f671b801bee34ea28a319" : "Permission"
+  "b5a7adde1af5c87d7fd797b6245c2a39" : "Description",
+  "aba9f7d7443652e858969bfc280690b1" : "Manage Groups"
+ },
+ "named_strings" : {
+  "activeButton_offtext" : "5bc3fd20294c17c9803942958fd7f26d",
+  "activeButton_ontext" : "b15aafc19dc2ba4b788adf77268d8ca4",
+  "activeButton_html" : "5bc3fd20294c17c9803942958fd7f26d"
  },
  "items" : [
   {
@@ -82,6 +88,7 @@
           {
            "xtype" : "NavGroup",
            "$ xns" : "Roo.bootstrap",
+           "String style" : "width: 100%;",
            "items" : [
             {
              "xtype" : "NavItem",
               {
                "xtype" : "Element",
                "$ xns" : "Roo.bootstrap",
+               "String style" : "width: 100%;",
                "items" : [
                 {
                  "String cls" : "roo-toolbar",
                  "xtype" : "Row",
                  "$ xns" : "Roo.bootstrap",
                  "items" : [
+                  {
+                   "Number md" : 3,
+                   "xtype" : "Column",
+                   "$ xns" : "Roo.bootstrap",
+                   "items" : [
+                    {
+                     "listeners" : {
+                      "specialkey" : "function (_self, e)\n{    \n     if(e.keyCode == e.ENTER) {\n        if (_this.member_grid) {\n            _this.member_grid.footer.onClick('first'); \n        }\n    \n    }\n    \n}",
+                      "render" : "function (_self)\n{\n    _this.searchBox = this;\n}"
+                     },
+                     "xtype" : "Input",
+                     "string placeholder" : "search for account",
+                     "$ xns" : "Roo.bootstrap",
+                     "items" : [
+                      {
+                       "listeners" : {
+                        "click" : "function (_self, e)\n{\n    _this.member_grid.footer.onClick('first');\n}"
+                       },
+                       "xtype" : "Button",
+                       "$ xns" : "Roo.bootstrap",
+                       "String html" : "<i class=\"fa fa-search\"></i>",
+                       "* prop" : "after"
+                      }
+                     ]
+                    }
+                   ]
+                  },
                   {
                    "Number md" : 9,
+                   "String cls" : "text-right",
                    "xtype" : "Column",
                    "$ xns" : "Roo.bootstrap",
                    "items" : [
                     {
                      "listeners" : {
-                      "click" : "function (_self, e)\n{\n    Pman.Dialog.BAdminStaff.show({ \n        id : 0,\n        company_id : Pman.Login.authUser.company_id\n    }, function(res) {\n    \n        if(res.length_oath_key * 1 < 1){\n            _this.member_grid.footer.onClick('first');\n            return;\n        }\n        \n        Pman.Dialog.BAdminStaffTwoFactorQRCode.show({\n            id : res.id\n        }, function(res){\n            _this.member_grid.footer.onClick('first');\n        });\n    }); \n\n}"
+                      "click" : "function (_self, e)\n{\n    Pman.Dialog.BAdminStaff.show({ \n        id : 0,\n        company_id : Pman.Login.authUser.company_id\n    }, function(res) {\n    \n        if(res.length_oath_key * 1 < 1){\n            _this.member_grid.footer.onClick('first');\n            return;\n        }\n        \n        Pman.Dialog.BAdminStaffTwoFactorQRCode.show({\n            id : res.id,\n            allow_close: false,\n            allow_cancel : true\n        }, function(res){\n            _this.member_grid.footer.onClick('first');\n        });\n    }); \n\n}"
                      },
                      "String cls" : "roo-toolbar-button",
                      "String weight" : "default",
                      "String glyphicon" : "user"
                     }
                    ]
-                  },
-                  {
-                   "Number md" : 3,
-                   "String cls" : "text-right",
-                   "xtype" : "Column",
-                   "$ xns" : "Roo.bootstrap",
-                   "items" : [
-                    {
-                     "listeners" : {
-                      "toggle" : "function (_self, e, pressed)\n{\n    this.setText(this.pressed ? this._ontext : this._offtext);\n\n    _this.member_grid.footer.onClick('first');\n    \n    return;\n    \n}",
-                      "render" : "function (_self)\n{\n    _this.footerActiveBtn = this;\n}"
-                     },
-                     "String cls" : "roo-toolbar-button",
-                     "String _offtext" : "Show Inactive",
-                     "String weight" : "default",
-                     "bool pressed" : false,
-                     "xtype" : "Button",
-                     "String _ontext" : "Hide Inactive",
-                     "$ xns" : "Roo.bootstrap",
-                     "String html" : "Show Inactive",
-                     "string name" : "activeButton"
-                    }
-                   ]
                   }
                  ]
                 }
         },
         {
          "listeners" : {
-          "rowdblclick" : "function (_self, el, rowIndex, e)\n{\n    var s = _this.member_grid.store.getAt(rowIndex);\n    \n    if(s.data.id * 1 < 1){\n        return;\n    }\n    \n    Pman.Dialog.BAdminStaff.show( { id : s.data.id }, function() {\n        _this.member_grid.footer.onClick('first');\n    });\n}",
+          "celldblclick" : "function (_self, el, rowIndex, columnIndex, e)\n{\n    var di = _this.member_grid.colModel.getDataIndex(columnIndex);\n\n    if (di == 'active') {\n        return;\n    }\n    var s = _this.member_grid.store.getAt(rowIndex);\n    \n    if(s.data.id * 1 < 1){\n        return;\n    }\n    \n    if (di == 'member_of') {\n        Pman.Dialog.BAdminStaffGroups.show(   s.data , function() {\n            _this.member_grid.footer.onClick('first');\n        });\n        return;\n    }\n    // show edit user dialog..\n    \n    \n    \n    Pman.Dialog.BAdminStaff.show( s.data , function() {\n        _this.member_grid.footer.onClick('first');\n    });\n     \n}",
           "cellclick" : "function (_self, el, rowIndex, columnIndex, e)\n{\n    var di = _this.member_grid.colModel.getDataIndex(columnIndex);\n    \n    if (di != 'active') {\n        return;\n    }\n     \n    var rec = _this.member_grid.store.getAt(rowIndex);\n    \n    rec.set('active', rec.data.active ? 0 : 1);\n    rec.commit();\n\n    \n    // get the row number to make class x-row-0, x-row-1\n    \n    if(rec.data.active * 1 != 1){\n        var el = _this.member_grid.getRowDom(rowIndex);\n        \n        el.addClass('x-grid-row-fadeout');\n        \n        el.on('transitionend',function(){\n            _this.member_grid.ds.remove(rec);\n            el.remove();\n        },this,{single:true});\n    }\n}",
           "render" : "function (_self)\n{\n    _this.member_grid = _self;\n   \n}"
          },
          "boolean hover" : true,
          "boolean striped" : false,
          "xtype" : "Table",
-         "boolean responsive" : true,
          "Boolean rowSelection" : true,
          "$ xns" : "Roo.bootstrap",
          "Boolean loadMask" : true,
          "* prop" : "grid",
+         "bool auto_hide_footer" : true,
          "items" : [
           {
            "listeners" : {
           {
            "listeners" : {
             "update" : "function (_self, record, operation)\n{\n    if (operation != 'commit') {\n        return;\n    }\n    // only used to change active status.\n     \n    new Pman.Request({\n        url : baseURL + '/Roo/core_person',\n        method :'POST',\n        params : {\n            id : record.data.id,\n            active: record.data.active\n            \n        },\n        success : function() {\n            // do nothing\n            \n        },\n        failure : function() \n        {\n            /*Roo.bootstrap.MessageBox.alert(\"Error\", \"saving failed\", function() {\n                _this.grid.footer.onClick('first');\n            });*/\n        }\n    });\n}",
-            "beforeload" : "function (_self, options)\n{\n    if (!Pman.buildCompleted) {\n        return false;\n    }\n    options.params = options.params || {};\n    \n    //options.params['query[type]'] = 0;\n    //options.params.active = 1;\n    \n    if(!_this.group_grid){\n        this.removeAll();\n        return false;\n    }\n    \n    var group = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!group){\n        this.removeAll();\n        return false;\n    }\n    \n    if(_this.footerActiveBtn && !_this.footerActiveBtn.pressed){\n        options.params.active = 1;\n    }\n    \n    options.params['query[in_group]'] = group.data.id;\n  \n}",
+            "beforeload" : "function (_self, options)\n{\n    if (!Pman.buildCompleted) {\n        return false;\n    }\n    options.params = options.params || {};\n    \n    //options.params['query[type]'] = 0;\n    //options.params.active = 1;\n    \n    if(!_this.group_grid){\n        this.removeAll();\n        return false;\n    }\n    \n    var group = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!group){\n        this.removeAll();\n        return false;\n    }\n    \n    if(_this.footerActiveBtn && !_this.footerActiveBtn.pressed){\n        options.params.active = 1;\n    } \n    \n    options.params._with_group_membership = 1;\n    options.params['query[name_or_email]'] =    _this.searchBox.getValue();\n    \n    options.params['query[in_group]'] = group.data.id;\n  \n}",
             "load" : "function (_self, records, options)\n{\n    _this.edit_btn.el.hide();\n    _this.delete_btn.el.hide();\n    _this.addToGroupBtn.el.hide();\n    _this.removeFromGroupBtn.el.hide();\n    _this.switch_btn.el.hide();\n    \n    options.params.active = 1;\n    \n\n    \n}"
            },
            "xtype" : "Store",
            "Number sm" : 2
           },
           {
-           "String header" : "Phone",
+           "String header" : "Groups",
            "String cursor" : "pointer",
            "Number md" : 2,
-           "String dataIndex" : "phone",
+           "String dataIndex" : "member_of",
            "xtype" : "ColumnModel",
            "Number xs" : 2,
            "$ xns" : "Roo.grid",
-           "$ renderer" : "function(v) { return String.format('{0}', v); }",
+           "$ renderer" : "function(v) {\n     return String.format('{0}', v).split(\"\\n\").join(\"<br/>\"); \n }",
            "* prop" : "cm[]",
            "Number sm" : 2
           },
            "xtype" : "PagingToolbar",
            "$ xns" : "Roo.bootstrap",
            "* prop" : "footer",
-           "string name" : "footer"
+           "string name" : "footer",
+           "items" : [
+            {
+             "listeners" : {
+              "toggle" : "function (_self, e, pressed)\n{\n    this.setText(this.pressed ? this._ontext : this._offtext);\n\n    _this.member_grid.footer.onClick('first');\n    \n    return;\n    \n}",
+              "render" : "function (_self)\n{\n    _this.footerActiveBtn = this;\n}"
+             },
+             "String cls" : "roo-toolbar-button",
+             "String _offtext" : "Show Inactive",
+             "String weight" : "default",
+             "bool pressed" : false,
+             "xtype" : "Button",
+             "String _ontext" : "Hide Inactive",
+             "$ xns" : "Roo.bootstrap",
+             "String html" : "Show Inactive",
+             "* prop" : "buttons[]",
+             "string name" : "activeButton"
+            }
+           ]
           }
          ]
         }
           "cellclick" : "function (_self, el, rowIndex, columnIndex, e)\n{\n    var di = _this.permission_grid.colModel.getDataIndex(columnIndex);\n    \n    var r = _this.permission_grid.store.getAt(rowIndex);\n    \n    if(di == 'rightname' || di == 'descript' || r.data.id * 1 < 1) {\n        return;\n    }\n    \n    if(di == 'id'){\n        \n        var accessmask = r.data.accessmask.split('').sort().join('');\n        var fullmask = r.data.FullMask.split('').sort().join('');\n        \n        r.set('accessmask', (accessmask == fullmask) ? '' : r.data.FullMask);\n        \n        r.commit();\n        \n        return;\n    }\n    \n    var mapping = {\n        'add' : 'A',\n        'edit' : 'E',\n        'delete' : 'D',\n        'view' : 'S',\n        'print' : 'P'\n    };\n    \n    var target = mapping[di];\n    \n    if(r.data.FullMask.indexOf(target) === -1){\n        return;\n    }\n    \n    var accessmask = r.data.accessmask.split('');\n    \n    if(accessmask.indexOf(target) !== -1){\n        accessmask.splice(accessmask.indexOf(target), 1);\n    } else {\n        accessmask.push(target);\n    }\n    \n    r.set('accessmask', accessmask.sort().join(''));\n    \n    r.commit();\n    \n}",
           "render" : "function (_self)\n{\n    _this.permission_grid = this;\n    \n    if(_this.permission_panel.active) {\n        (function(){\n            _this.permission_grid.store.load({});\n        }).defer(50);\n    }\n}"
          },
+         "Boolean cellSelection" : true,
          "String cls" : "table-fixed",
          "Boolean footerShow" : false,
-         "Boolean cellSelection" : true,
          "boolean striped" : true,
          "boolean hover" : true,
          "xtype" : "Table",
-         "boolean responsive" : true,
          "Boolean rowSelection" : true,
          "$ xns" : "Roo.bootstrap",
          "Boolean loadMask" : true,
           {
            "listeners" : {
             "update" : "function (_self, record, operation)\n{\n    if (operation != 'commit') {\n        return;\n    }\n\n    var group = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!group || group.data.id * 1 < 1){\n        return;\n    }\n    \n    var params = {};\n    \n    params.group_id = group.data.id;\n    \n    params['dataUpdate[' + record.data.id + ']'] = record.data.accessmask;\n    \n    new Pman.Request({\n        url : baseURL + '/Admin/GroupRights',\n        method :'POST',\n        params : params,\n        success : function() {\n            // do nothing\n        },\n        failure : function() \n        {\n            Roo.bootstrap.MessageBox.alert(\"Error\", \"saving failed\", function() {\n                _this.permission_grid.store.load({});\n            });\n        }\n    });\n    \n}",
-            "beforeload" : "function (_self, o)\n{\n    if (!Pman.buildCompleted) {\n        return false;\n    }\n    var group = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!group){\n        _this.permission_panel.el.mask('Please select a group');\n        this.removeAll();\n        return false;\n    }\n    \n    if(group.data.id * 1 < 1){\n        _this.permission_panel.el.mask('You can not set permissions for this group');\n        this.removeAll();\n        return false;\n    }\n    \n    _this.permission_panel.el.unmask();\n    \n    o.params = o.params || {};\n     \n    o.params._sort = 1;    \n    o.params.group_id = group.data.id;\n\n}"
+            "beforeload" : "function (_self, o)\n{\n    if (!Pman.buildCompleted) {\n        return false;\n    }\n    var group = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!group){\n        _this.permission_panel.el.mask('Please select a group');\n        this.removeAll();\n        return false;\n    }\n    \n    if(group.data.id * 1 < 1){\n        _this.permission_panel.el.mask('Please select a group on the left');\n        this.removeAll();\n        return false;\n    }\n    \n    _this.permission_panel.el.unmask();\n    \n    o.params = o.params || {};\n     \n    o.params._sort = 1;    \n    o.params.group_id = group.data.id;\n\n}"
            },
            "xtype" : "Store",
            "boolean remoteSort" : true,
            "String header" : "Module",
            "String dataIndex" : "rightname",
            "$ Function renderer" : "function (v) {\n    return String.format('<span tooltip=\"{1}\">{0}</span>', v.split('.').shift(), v);\n}",
+           "$ Number xs" : "appDisabled.indexOf('Core.SuperAdmin') > 0 ? 0 : 2",
            "xtype" : "ColumnModel",
-           "Number xs" : 2,
            "$ xns" : "Roo.grid",
+           "$ Boolean hidden" : "appDisabled.indexOf('Core.SuperAdmin') > 0 ? 1 : 0",
            "* prop" : "cm[]"
           },
           {
-           "String header" : "Permission",
+           "String header" : "Description",
            "String dataIndex" : "descript",
            "$ Function renderer" : "function (v) {\n    return String.format('{0}', v ? v : '');\n}",
+           "$ Number xs" : "appDisabled.indexOf('Core.SuperAdmin') > 0 ? 6 : 4",
            "xtype" : "ColumnModel",
-           "Number xs" : 4,
            "$ xns" : "Roo.grid",
            "* prop" : "cm[]"
           },
            "$ xns" : "Roo.bootstrap",
            "items" : [
             {
-             "Boolean preventDefault" : true,
-             "xtype" : "NavSidebarItem",
+             "String cls" : "account-management-group-nav-item",
+             "xtype" : "NavItem",
              "$ xns" : "Roo.bootstrap",
-             "String html" : "Manage Groups ",
-             "String glyphicon" : "menu-hamburger",
              "items" : [
               {
-               "xtype" : "Menu",
+               "xtype" : "Button",
                "$ xns" : "Roo.bootstrap",
-               "* prop" : "menu",
+               "String html" : "Manage Groups",
                "items" : [
                 {
-                 "listeners" : {
-                  "click" : "function (_self, e)\n{\n    Pman.Dialog.BAdminGroups.show({ id : 0 }, function(res){\n        _this.group_grid.store.load({});\n    });\n}"
-                 },
-                 "Boolean preventDefault" : true,
-                 "xtype" : "MenuItem",
-                 "String fa" : "fa fa-plus",
-                 "$ xns" : "Roo.bootstrap",
-                 "Boolean isContainer" : false,
-                 "String html" : "Add"
-                },
-                {
-                 "listeners" : {
-                  "click" : "function (_self, e)\n{\n    var sel = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!sel){\n        Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');\n        return;\n    }\n    \n    if(sel.data.id * 1 < 1){\n        Roo.bootstrap.MessageBox.alert('Error', 'The selected group is not editable');\n        return;\n    }\n    \n    Pman.Dialog.BAdminGroups.show({ id : sel.data.id }, function(res){\n        _this.group_grid.store.load({});\n    });\n}"
-                 },
-                 "Boolean preventDefault" : true,
-                 "xtype" : "MenuItem",
-                 "String fa" : "fa fa-pencil",
-                 "$ xns" : "Roo.bootstrap",
-                 "Boolean isContainer" : false,
-                 "String html" : "Edit"
-                },
-                {
-                 "listeners" : {
-                  "click" : "function (_self, e)\n{\n    var sel = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!sel){\n        Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');\n        return;\n    }\n    \n    if(sel.data.id * 1 < 1){\n        Roo.bootstrap.MessageBox.alert('Error', 'The selected group is not editable');\n        return;\n    }\n    \n    var deleteIt = function()\n    {\n        new Pman.Request({\n            url: baseURL + '/Roo/Core_group',\n            method: 'POST',\n            params: {\n                _delete : sel.data.id\n            },\n            success: function(res){\n                _this.group_grid.store.load({});\n                return;\n            }\n        });\n    }\n    \n    Roo.bootstrap.MessageBox.confirm('Confirm', 'Are you sure to delete the group?',function(ret) {\n        \n        if(ret == 'no'){\n            return;\n        }\n        \n        deleteIt();\n        \n     }, this);\n    \n    \n}"
-                 },
-                 "Boolean preventDefault" : true,
-                 "xtype" : "MenuItem",
-                 "String fa" : "fa fa-trash",
+                 "xtype" : "Menu",
                  "$ xns" : "Roo.bootstrap",
-                 "Boolean isContainer" : false,
-                 "String html" : "Delete"
-                },
-                {
-                 "listeners" : {
-                  "click" : "function (_self, e)\n{\n    _this.group_grid.store.load({});\n}"
-                 },
-                 "Boolean preventDefault" : true,
-                 "xtype" : "MenuItem",
-                 "String fa" : "fa fa-refresh",
-                 "$ xns" : "Roo.bootstrap",
-                 "Boolean isContainer" : false,
-                 "String html" : "Reload"
+                 "* prop" : "menu",
+                 "items" : [
+                  {
+                   "listeners" : {
+                    "click" : "function (_self, e)\n{\n    Pman.Dialog.BAdminGroups.show({ id : 0 }, function(res){\n        _this.group_grid.store.load({});\n    });\n}"
+                   },
+                   "Boolean preventDefault" : true,
+                   "xtype" : "MenuItem",
+                   "String fa" : "fa fa-plus",
+                   "$ xns" : "Roo.bootstrap",
+                   "Boolean isContainer" : false,
+                   "String html" : "Add"
+                  },
+                  {
+                   "listeners" : {
+                    "click" : "function (_self, e)\n{\n    var sel = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!sel){\n        Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');\n        return;\n    }\n    \n    if(sel.data.id * 1 < 1){\n        Roo.bootstrap.MessageBox.alert('Error', 'The selected group is not editable');\n        return;\n    }\n    \n    Pman.Dialog.BAdminGroups.show({ id : sel.data.id }, function(res){\n        _this.group_grid.store.load({});\n    });\n}"
+                   },
+                   "Boolean preventDefault" : true,
+                   "xtype" : "MenuItem",
+                   "String fa" : "fa fa-pencil",
+                   "$ xns" : "Roo.bootstrap",
+                   "Boolean isContainer" : false,
+                   "String html" : "Edit"
+                  },
+                  {
+                   "listeners" : {
+                    "click" : "function (_self, e)\n{\n    var sel = _this.group_grid.getSelectionModel().getSelected();\n    \n    if(!sel){\n        Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');\n        return;\n    }\n    \n    if(sel.data.id * 1 < 1){\n        Roo.bootstrap.MessageBox.alert('Error', 'The selected group is not editable');\n        return;\n    }\n    \n    var deleteIt = function()\n    {\n        new Pman.Request({\n            url: baseURL + '/Roo/Core_group',\n            method: 'POST',\n            params: {\n                _delete : sel.data.id\n            },\n            success: function(res){\n                _this.group_grid.store.load({});\n                return;\n            }\n        });\n    }\n    \n    Roo.bootstrap.MessageBox.confirm('Confirm', 'Are you sure to delete the group?',function(ret) {\n        \n        if(ret == 'no'){\n            return;\n        }\n        \n        deleteIt();\n        \n     }, this);\n    \n    \n}"
+                   },
+                   "Boolean preventDefault" : true,
+                   "xtype" : "MenuItem",
+                   "String fa" : "fa fa-trash",
+                   "$ xns" : "Roo.bootstrap",
+                   "Boolean isContainer" : false,
+                   "String html" : "Delete"
+                  },
+                  {
+                   "listeners" : {
+                    "click" : "function (_self, e)\n{\n    _this.group_grid.store.load({});\n}"
+                   },
+                   "Boolean preventDefault" : true,
+                   "xtype" : "MenuItem",
+                   "String fa" : "fa fa-refresh",
+                   "$ xns" : "Roo.bootstrap",
+                   "Boolean isContainer" : false,
+                   "String html" : "Reload"
+                  }
+                 ]
                 }
                ]
               }
          "boolean hover" : true,
          "boolean striped" : true,
          "xtype" : "Table",
-         "boolean responsive" : true,
          "Boolean rowSelection" : true,
          "$ xns" : "Roo.bootstrap",
          "Boolean loadMask" : true,
           },
           {
            "listeners" : {
-            "beforeload" : "function (_self, options)\n{\n    if (!Pman.buildCompleted) {\n        return false;\n    }\n    options.params = options.params || {};\n    \n    options.params.type = 0;\n    \n    options.params._add_everyone = 1;\n\n}"
+            "beforeload" : "function (_self, options)\n{\n    if (!Pman.buildCompleted) {\n        return false;\n    }\n    options.params = options.params || {};\n    \n    options.params.type = 0;\n    \n    options.params._add_everyone = 1;\noptions.params.limit = 999;\n}"
            },
            "xtype" : "Store",
            "boolean remoteSort" : true,