BS4 support
[Pman.BAdmin] / Pman.Tab.BAdminIPAccess.bjs
1 {
2  "name" : "Pman.Tab.BAdminIPAccess",
3  "parent" : "Pman.Tab.BAdmin",
4  "title" : "",
5  "path" : "/home/edward/gitlive/Pman.BAdmin/Pman.Tab.BAdminIPAccess.bjs",
6  "permname" : "",
7  "modOrder" : "006",
8  "strings" : {
9   "ce8ae9da5b7cd6c3df2929543a9af92d" : "Email",
10   "86f16ddf147752b95ffe69e2dfa769a1" : "Authorized By",
11   "ec53a8c4f07baed5d8825072c89799be" : "Status",
12   "7dce122004969d56ae2e0245cb754d35" : "Edit",
13   "fc6f97505d89fe9277965c126744647a" : "No Companies found",
14   "11e8622b4aa4b1924aee81a9ec54c555" : "Create Date",
15   "a12a3079e14ced46e69ba52b8a90b21a" : "IP",
16   "155ca6a755e25c15ad7ce45e2f638f10" : "Displaying Companies{0} - {1} of {2}",
17   "5a787141d53b573ec9b86e900bfe0d79" : "Expire Date",
18   "f2a6c498fb90ee345d997f888fce3b18" : "Delete",
19   "e3030abfa75de4573fb37032affa11e7" : "IP Access"
20  },
21  "items" : [
22   {
23    "xtype" : "Nest",
24    "$ xns" : "Roo.bootstrap.panel",
25    "String title" : "IP Access",
26    "Boolean background" : true,
27    "items" : [
28     {
29      "xtype" : "Border",
30      "$ xns" : "Roo.bootstrap.layout",
31      "* prop" : "layout",
32      "items" : [
33       {
34        "String tabPosition" : "top",
35        "Boolean hideTabs" : true,
36        "xtype" : "Region",
37        "$ xns" : "Roo.bootstrap.layout",
38        "* prop" : "center"
39       },
40       {
41        "listeners" : {
42         "activate" : "function (_self)\n{\n    _this.edit_btn.hide();\n    _this.delete_btn.hide();\n    \n    if (_this.table) {\n        _this.table.footer.onClick('first');\n    }\n}",
43         "render" : "function (_self)\n{\n    _this.grid = _self;\n}"
44        },
45        "xtype" : "Grid",
46        "Boolean fitToFrame" : true,
47        "$ xns" : "Roo.bootstrap.panel",
48        "String region" : "center",
49        "String title" : "IP Access",
50        "Boolean closable" : false,
51        "items" : [
52         {
53          "xtype" : "NavSimplebar",
54          "$ xns" : "Roo.bootstrap",
55          "* prop" : "toolbar",
56          "items" : [
57           {
58            "xtype" : "NavGroup",
59            "$ xns" : "Roo.bootstrap",
60            "items" : [
61             {
62              "xtype" : "NavItem",
63              "$ xns" : "Roo.bootstrap",
64              "items" : [
65               {
66                "xtype" : "Element",
67                "$ xns" : "Roo.bootstrap",
68                "items" : [
69                 {
70                  "String cls" : "roo-toolbar",
71                  "xtype" : "Row",
72                  "$ xns" : "Roo.bootstrap",
73                  "items" : [
74                   {
75                    "Number md" : 3,
76                    "xtype" : "Column",
77                    "$ xns" : "Roo.bootstrap",
78                    "items" : [
79                     {
80                      "listeners" : {
81                       "render" : "function (_self)\n{\n    _this.status = this;\n    \n    this.setValue(0);\n}",
82                       "select" : "function (combo, record, index)\n{\n    _this.table.footer.onClick('first'); \n}"
83                      },
84                      "Boolean allowBlank" : false,
85                      "String mode" : "local",
86                      "String name" : "status_name",
87                      "String valueField" : "code",
88                      "Boolean editable" : false,
89                      "xtype" : "ComboBox",
90                      "String triggerAction" : "all",
91                      "$ xns" : "Roo.bootstrap",
92                      "String/Roo.Template tpl" : "<div class=\"roo-select2-result\"><b>{value}</b></div>",
93                      "String hiddenName" : "status",
94                      "String displayField" : "value",
95                      "items" : [
96                       {
97                        "$ string data" : "[\n    ['0', 'Pending'],\n    ['1', 'Approve'],\n    ['-2', 'Temporary'],\n    ['-1', 'Reject']\n] ",
98                        "xtype" : "SimpleStore",
99                        "$ xns" : "Roo.data",
100                        "$ fields" : "[ 'code', 'value' ]",
101                        "* prop" : "store"
102                       }
103                      ]
104                     }
105                    ]
106                   },
107                   {
108                    "Number md" : 9,
109                    "xtype" : "Column",
110                    "$ xns" : "Roo.bootstrap",
111                    "String style" : "text-align: right;",
112                    "items" : [
113                     {
114                      "listeners" : {
115                       "render" : "function (_self)\n{\n    _this.edit_btn = this;\n    \n    this.hide();\n}",
116                       "click" : "function (_self, e)\n{\n    var sel = _this.table.getSelectionModel().getSelected();\n    \n    if(!sel || sel.data.id * 1 < 1){\n        Roo.bootstrap.MessageBox.alert('Error', 'Please select a row');\n        return;\n    }\n\n    Pman.Dialog.BAdminIPAccess.show({ \n        id : sel.data.id\n    }, function(res) {\n        _this.table.store.load({});\n    });\n\n}"
117                      },
118                      "String cls" : "roo-toolbar-button",
119                      "String weight" : "default",
120                      "xtype" : "Button",
121                      "$ xns" : "Roo.bootstrap",
122                      "String html" : "Edit",
123                      "String glyphicon" : "edit"
124                     },
125                     {
126                      "listeners" : {
127                       "render" : "function (_self)\n{\n    _this.delete_btn = this;\n    \n    this.hide();\n}",
128                       "click" : "function (_self, e)\n{\n    Pman.genericDelete(_this.grid, 'core_ip_access'); \n\n}"
129                      },
130                      "String cls" : "roo-toolbar-button",
131                      "String weight" : "primary",
132                      "xtype" : "Button",
133                      "$ xns" : "Roo.bootstrap",
134                      "String html" : "Delete",
135                      "String glyphicon" : "trash"
136                     }
137                    ]
138                   }
139                  ]
140                 }
141                ]
142               }
143              ]
144             }
145            ]
146           }
147          ]
148         },
149         {
150          "listeners" : {
151           "rowdblclick" : "function (_self, el, rowIndex, e)\n{\n    var s = _this.table.store.getAt(rowIndex);\n    \n    if(!s || s.data.id * 1 < 1){\n        return;\n    }\n    \n    Pman.Dialog.BAdminIPAccess.show({ \n        id : s.data.id\n    }, function(res) {\n        _this.table.footer.onClick('first');\n    });\n}",
152           "render" : "function (_self)\n{\n    _this.table = this;\n}"
153          },
154          "String cls" : "table-fixed",
155          "boolean striped" : false,
156          "boolean hover" : true,
157          "xtype" : "Table",
158          "boolean responsive" : true,
159          "Boolean rowSelection" : true,
160          "$ xns" : "Roo.bootstrap",
161          "Boolean loadMask" : true,
162          "* prop" : "grid",
163          "items" : [
164           {
165            "listeners" : {
166             "selectionchange" : "function (_self)\n{\n    _this.edit_btn.hide();\n    _this.delete_btn.hide();\n    \n    if (!this.getSelected()) {\n        return;\n    }\n    \n    _this.edit_btn.show();\n    _this.delete_btn.show();\n    \n}"
167            },
168            "Boolean singleSelect" : true,
169            "xtype" : "RowSelectionModel",
170            "$ xns" : "Roo.bootstrap.Table",
171            "* prop" : "sm"
172           },
173           {
174            "listeners" : {
175             "beforeload" : "function (_self, o)\n{\n     if (!Pman.buildCompleted) {\n        return false;\n    }\n\n    o.params = o.params || {};\n    \n    var status = _this.status.getValue() * 1;\n    \n    o.params.status = status;\n    \n}",
176             "load" : "function (_self, records, options)\n{\n    _this.edit_btn.hide();\n    _this.delete_btn.hide();\n}"
177            },
178            "xtype" : "Store",
179            "boolean remoteSort" : true,
180            "$ xns" : "Roo.data",
181            "$ sortInfo" : "{ field : 'display_name', direction: 'ASC' }",
182            "* prop" : "store",
183            "items" : [
184             {
185              "$ Array fields" : "[\n    {\n        'name': 'id',\n        'type': 'int'\n    },\n    {\n        'name': 'created_dt',\n        'type': 'date',\n        'formatDate' : 'Y-m-d'\n    },\n    {\n        'name': 'status',\n        'type': 'int'\n    },\n    {\n        'name': 'authorized_by',\n        'type': 'int'\n    },\n    {\n        'name': 'authorized_by_name',\n        'type': 'string'\n    },\n    {\n        'name': 'authorized_by_email',\n        'type': 'string'\n    },\n    {\n        'name': 'authorized_key',\n        'type': 'string'\n    },\n    {\n        'name': 'email',\n        'type': 'string'\n    },\n    {\n        'name': 'expire_dt',\n        'type': 'date',\n        'formatDate' : 'Y-m-d'\n    },\n    {\n        'name': 'user_agent',\n        'type': 'string'\n    },\n    {\n        'name': 'updated_by',\n        'type': 'int'\n    },\n    {\n        'name': 'updated_by_name',\n        'type': 'string'\n    },\n    {\n        'name': 'updated_by_email',\n        'type': 'string'\n    }\n    \n]",
186              "xtype" : "JsonReader",
187              "String root" : "data",
188              "$ xns" : "Roo.data",
189              "String id" : "id",
190              "* prop" : "reader",
191              "String totalProperty" : "total"
192             },
193             {
194              "$ url" : "baseURL + '/Roo/Core_ip_access.php'",
195              "xtype" : "HttpProxy",
196              "$ xns" : "Roo.data",
197              "String method" : "GET",
198              "* prop" : "proxy"
199             }
200            ]
201           },
202           {
203            "String header" : "Create Date",
204            "String cursor" : "pointer",
205            "String dataIndex" : "created_dt",
206            "xtype" : "ColumnModel",
207            "Number xs" : 2,
208            "$ xns" : "Roo.grid",
209            "$ renderer" : "function(v,x,r) { \n    return String.format('{0}', v ? v.format('Y-m-d') : '');\n}",
210            "Boolean sortable" : true,
211            "* prop" : "cm[]"
212           },
213           {
214            "String header" : "IP",
215            "String cursor" : "pointer",
216            "String dataIndex" : "ip",
217            "xtype" : "ColumnModel",
218            "Number xs" : 2,
219            "$ xns" : "Roo.grid",
220            "$ renderer" : "function(v,x,r) { \n    return String.format('{0}', v ? v : '');\n}",
221            "Boolean sortable" : true,
222            "* prop" : "cm[]"
223           },
224           {
225            "String header" : "Email",
226            "String cursor" : "pointer",
227            "String dataIndex" : "email",
228            "xtype" : "ColumnModel",
229            "Number xs" : 2,
230            "$ xns" : "Roo.grid",
231            "$ renderer" : "function(v,x,r) \n{ \n    return String.format('<a href=\"mailto:{0}\">{0}</a>', v ? v : '')\n}",
232            "Boolean sortable" : true,
233            "* prop" : "cm[]"
234           },
235           {
236            "String header" : "Authorized By",
237            "String cursor" : "pointer",
238            "String dataIndex" : "authorized_by",
239            "xtype" : "ColumnModel",
240            "Number xs" : 2,
241            "$ xns" : "Roo.grid",
242            "$ renderer" : "function(v,x,r) \n{ \n    if(v * 1 == 0){\n        return '';\n    }\n    \n    return String.format('{0}', r.data.authorized_by_name);\n}",
243            "Boolean sortable" : true,
244            "* prop" : "cm[]"
245           },
246           {
247            "String header" : "Status",
248            "String cursor" : "pointer",
249            "String dataIndex" : "status",
250            "xtype" : "ColumnModel",
251            "Number xs" : 2,
252            "$ xns" : "Roo.grid",
253            "$ renderer" : "function(v,x,r) \n{\n    v = v * 1;\n    \n    var status = 'Pending';\n    \n    switch (v) {\n        case 1 :\n            status = 'Approve';\n            break;\n        case -1 :\n            status = 'Reject';\n            break;\n        case -2 :\n            status = 'Temporary';\n            break;\n        default : \n            break;\n    }\n    \n    return String.format('{0}', status);\n    \n}",
254            "Boolean sortable" : true,
255            "* prop" : "cm[]"
256           },
257           {
258            "String header" : "Expire Date",
259            "String cursor" : "pointer",
260            "String dataIndex" : "expire_dt",
261            "xtype" : "ColumnModel",
262            "Number xs" : 2,
263            "$ xns" : "Roo.grid",
264            "$ renderer" : "function(v,x,r) { \n    \n    if(r.data.status * 1 != -2){\n        return '';\n    }\n    \n    return String.format('{0}', v ? v.format('Y-m-d') : '');\n}",
265            "Boolean sortable" : true,
266            "* prop" : "cm[]"
267           },
268           {
269            "Number pageSize" : 25,
270            "Boolean displayInfo" : false,
271            "String displayMsg" : "Displaying Companies{0} - {1} of {2}",
272            "xtype" : "PagingToolbar",
273            "String emptyMsg" : "No Companies found",
274            "$ xns" : "Roo.bootstrap",
275            "* prop" : "footer",
276            "string name" : "footer"
277           }
278          ]
279         }
280        ]
281       }
282      ]
283     }
284    ]
285   }
286  ]
287 }