Pman.Dialog.BAdminImageManager.bjs
[Pman.BAdmin] / Pman.Dialog.BAdminImageManager.bjs
1 {
2  "name" : "Pman.Dialog.BAdminImageManager",
3  "parent" : "",
4  "title" : "Pman.Dialog.BAdminImageManager",
5  "path" : "/home/edward/gitlive/Pman.BAdmin/Pman.Dialog.BAdminImageManager.bjs",
6  "permname" : "",
7  "modOrder" : "001",
8  "strings" : {
9   "ef797d5638c2e1c6b6225b2247541ea5" : "Upload Image or File:",
10   "d9787032e54a7facd5c7b1db2ae61c7b" : "Image Manager",
11   "37c1097cf82226d511586ecd99ed97cf" : "search for image",
12   "cdb6b6bab1fd18b9dbfe3fb84a5d34ae" : "<i class=\"fa fa-search\"></i>",
13   "5350277f16d9998c57fa7e1d17be2a76" : "<i class=\"fa fa-upload\"></i> Upload Image",
14   "14834a16229091f47cf1810177d07916" : "Created Date:",
15   "1a0ce561842e3caef9098f46ecaa1dcf" : "Add Images with Settings",
16   "78d0f5aac952e2ce840a381976a3b01e" : "Image Details",
17   "708ea0e601087e73c4764d5086e3ea3c" : "File Name:",
18   "e0a53da57dd79cca5d3b6a7c42e463ef" : "File Type:",
19   "3f986fa4066f6bded1376eb69de18da2" : "File Size:",
20   "d3d2e617335f08df83599665eef8a418" : "Close",
21   "84378f54966381befd040dafbdc221d6" : "<i class=\"fa fa-plus\"></i> Add into the email",
22   "361bacb1a72a350ee34e2f31a6a91dab" : "Alignment:",
23   "f48f7c7bccb5e29c83d87984c49ad8d4" : "Show image for this email",
24   "ed807858fcb68abdd180481f1fcba5c5" : "<i class=\"fa fa-trash\"></i> Delete",
25   "031fa343a28d221a25d2bcd942437174" : "Alternate Text:",
26   "48ccf48dcf2218a413ce473262f21a0c" : "Width: ",
27   "d0042a700e9bdf79689d63ee6846dc0e" : "Description:",
28   "d6d93f0d6b7c6018d8949e73ed6efb6c" : "<i class=\"fa fa-save\"></i> Save Changes",
29   "e933dc24fb245d863a43b4fefe9b45f5" : "Height:"
30  },
31  "named_strings" : {
32   "align_fieldLabel" : "361bacb1a72a350ee34e2f31a6a91dab",
33   "filename_fieldLabel" : "708ea0e601087e73c4764d5086e3ea3c",
34   "add_html" : "84378f54966381befd040dafbdc221d6",
35   "created_fieldLabel" : "14834a16229091f47cf1810177d07916",
36   "height_fieldLabel" : "e933dc24fb245d863a43b4fefe9b45f5",
37   "mimetype_fieldLabel" : "e0a53da57dd79cca5d3b6a7c42e463ef",
38   "close_html" : "d3d2e617335f08df83599665eef8a418",
39   "imageUpload_fieldLabel" : "ef797d5638c2e1c6b6225b2247541ea5",
40   "width_fieldLabel" : "48ccf48dcf2218a413ce473262f21a0c",
41   "filesize_fieldLabel" : "3f986fa4066f6bded1376eb69de18da2",
42   "descript_fieldLabel" : "d0042a700e9bdf79689d63ee6846dc0e"
43  },
44  "items" : [
45   {
46    "listeners" : {
47     "resize" : "function (_self)\n{\n    if (_this.dialog && _this.container && _this.toolbar) {\n        \n        _this.document_container.el.setHeight(\n            _this.dialog.bodyEl.getHeight() -\n            _this.dialog.headerEl.getHeight() -\n            _this.toolbar.el.dom.offsetHeight -\n            _this.dialog.footerEl.getHeight()\n        );\n        \n    }\n}"
48    },
49    "String cls" : "modal-body-enable-overflow-y pman-badmin-image-manager",
50    "Boolean fitwindow" : true,
51    "xtype" : "Modal",
52    "$ xns" : "Roo.bootstrap",
53    "String title" : "Image Manager",
54    "items" : [
55     {
56      "listeners" : {
57       "click" : "function (_self, e)\n{\n    _this.dialog.hide();\n}"
58      },
59      "xtype" : "Button",
60      "$ xns" : "Roo.bootstrap",
61      "String html" : "Close",
62      "string weight" : "default",
63      "* prop" : "buttons[]",
64      "string name" : "close"
65     },
66     {
67      "xtype" : "Row",
68      "$ xns" : "Roo.bootstrap",
69      "items" : [
70       {
71        "xtype" : "Column",
72        "$ xns" : "Roo.bootstrap",
73        "Number sm" : 8,
74        "items" : [
75         {
76          "listeners" : {
77           "actionfailed" : "function (_self, action)\n{\n    if (action.type == 'submit') {\n        Roo.log(\"Upload error\");\n        Roo.log(action);\n        \n        try {\n            \n            Roo.MessageBox.alert(\"Error\", action.result.errorMsg.split(/\\n/).join('<BR/>'));\n            \n        } catch(e) {\n            \n            Roo.MessageBox.alert(\"Error\", \"Saving failed = fix errors and try again\");\n        }\n        return;\n    }\n    \n    Roo.MessageBox.alert(\"Error\", \"Error loading details\"); \n}",
78           "actioncomplete" : "function(_self,action)\n{\n    if (action.type == 'setdata') { \n        \n        this.url = _this.data._url ? baseURL + _this.data._url : baseURL + '/Roo/Images.php';\n        \n        this.el.dom.action = this.url;\n        \n        if (typeof(_this.data.timeout) != 'undefined') {\n            this.timeout = _this.data.timeout;\n        }\n        \n        this.findField('UPLOAD_IDENTIFIER').setValue(\n            (new Date() * 1) + '' + Math.random());\n        \n        _this.masonry.load();\n        \n        return;\n    }\n     \n   \n    if (action.type == 'load') {\n        \n        _this.data = action.result.data;\n        \n        return;\n    }\n    \n    \n    if (action.type == 'submit') { // only submitted here if we are \n        \n        _this.masonry.load();\n        \n        return; \n    }\n \n\n    \n}\n",
79           "render" : "function (_self)\n{\n    _this.form = this;\n    \n}"
80          },
81          "style" : "display: none;",
82          "xtype" : "Form",
83          "Number timeout" : 300,
84          "$ xns" : "Roo.bootstrap",
85          "Boolean fileUpload" : true,
86          "String method" : "POST",
87          "$ String url" : "baseURL + '/Roo/Images.php'",
88          "items" : [
89           {
90            "listeners" : {
91             "render" : "function (_self)\n{\n    _this.uploadDL = this;\n    \n    _this.uploadDL.inputEl().on(\"change\",function(){\n        \n        _this.form.findField('onid').setValue(_this.showTypeBtn.isActive() ? _this.data.onid : 0);\n        _this.form.doAction('submit');\n        \n        //_this.dialog.uploadProgress.defer(1000, _this.dialog);\n    });\n    \n    \n}"
92            },
93            "String name" : "imageUpload",
94            "xtype" : "Input",
95            "string fieldLabel" : "Upload Image or File:",
96            "String inputType" : "file",
97            "$ xns" : "Roo.bootstrap",
98            "Number labelWidth" : 4
99           },
100           {
101            "String name" : "UPLOAD_IDENTIFIER",
102            "xtype" : "Input",
103            "String inputType" : "hidden",
104            "$ xns" : "Roo.bootstrap"
105           },
106           {
107            "String name" : "post_max_size",
108            "xtype" : "Input",
109            "String inputType" : "hidden",
110            "$ xns" : "Roo.bootstrap"
111           },
112           {
113            "String name" : "upload_max_filesize",
114            "xtype" : "Input",
115            "String inputType" : "hidden",
116            "$ xns" : "Roo.bootstrap"
117           },
118           {
119            "String name" : "ontable",
120            "xtype" : "Input",
121            "String inputType" : "hidden",
122            "$ xns" : "Roo.bootstrap"
123           },
124           {
125            "String name" : "onid",
126            "xtype" : "Input",
127            "String inputType" : "hidden",
128            "$ xns" : "Roo.bootstrap"
129           },
130           {
131            "String name" : "id",
132            "xtype" : "Input",
133            "String inputType" : "hidden",
134            "$ xns" : "Roo.bootstrap"
135           }
136          ]
137         },
138         {
139          "listeners" : {
140           "render" : "function (_self)\n{\n    _this.container = this;\n    \n}"
141          },
142          "xtype" : "Container",
143          "$ xns" : "Roo.bootstrap",
144          "items" : [
145           {
146            "listeners" : {
147             "render" : "function (_self)\n{\n    _this.toolbar = this;\n}"
148            },
149            "xtype" : "Row",
150            "$ xns" : "Roo.bootstrap",
151            "items" : [
152             {
153              "Number md" : 8,
154              "xtype" : "Column",
155              "$ xns" : "Roo.bootstrap",
156              "items" : [
157               {
158                "listeners" : {
159                 "toggle" : "function (b, e, pressed)\n{\n    _this.showTypeBtn.setText(!pressed ? 'Show all images' : 'Show image for this email');\n    \n    _this.masonry.load();\n}",
160                 "render" : "function (_self)\n{\n    _this.showTypeBtn = this;\n}"
161                },
162                "bool pressed" : false,
163                "xtype" : "Button",
164                "$ xns" : "Roo.bootstrap",
165                "String html" : "Show image for this email",
166                "String style" : "float:left;"
167               },
168               {
169                "listeners" : {
170                 "specialkey" : "function (_self, e)\n{    \n    \n    var image_name = \"\";\n    \n    if(e.keyCode == e.ENTER) {\n        _this.masonry.clearAll();\n        _this.masonry.load();\n    \n    }\n}",
171                 "render" : "function (_self)\n{\n    _this.searchBox = this;\n}"
172                },
173                "xtype" : "Input",
174                "string placeholder" : "search for image",
175                "$ xns" : "Roo.bootstrap",
176                "String style" : "float:left; width: 300px; margin-left: 15px;",
177                "items" : [
178                 {
179                  "listeners" : {
180                   "click" : "function (_self, e)\n{\n    _this.masonry.clearAll();\n    _this.masonry.load();\n}"
181                  },
182                  "xtype" : "Button",
183                  "$ xns" : "Roo.bootstrap",
184                  "String html" : "<i class=\"fa fa-search\"></i>",
185                  "* prop" : "after"
186                 }
187                ]
188               }
189              ]
190             },
191             {
192              "Number md" : 4,
193              "String cls" : "text-right",
194              "xtype" : "Column",
195              "$ xns" : "Roo.bootstrap",
196              "items" : [
197               {
198                "listeners" : {
199                 "click" : "function (_self, e)\n{\n    var id = _this.data.onid;\n    \n    if(id*1 < 1){\n        Roo.MessageBox.alert('Error', 'Please save the email template first');\n        return;\n    }\n    \n    _this.uploadDL.inputEl().dom.click();\n}"
200                },
201                "xtype" : "Button",
202                "$ xns" : "Roo.bootstrap",
203                "String html" : "<i class=\"fa fa-upload\"></i> Upload Image",
204                "string weight" : "primary"
205               },
206               {
207                "listeners" : {
208                 "render" : "function (_self)\n{\n    _this.deleteBtn = this;\n    \n    this.hide();\n}",
209                 "click" : "function (_self, e)\n{\n    if (_this.masonry.getSelected().length > 1) {\n        Roo.bootstrap.MessageBox.alert('Cannot delete the images !','Please select one image only');\n        return;\n    }\n    \n    if (_this.masonry.getSelected().length < 1) {\n        Roo.bootstrap.MessageBox.alert('Cannot delete any image!', 'Please select an image');\n        return;\n    }\n    \n    Roo.bootstrap.MessageBox.confirm(\"Confirm\", \"Are sure you want to delete this image?\", function (v){\n        if (v != 'yes') {\n            return;\n        }\n        \n        new Pman.Request({\n            url : baseURL + '/Roo/Images.php',\n            method: 'POST',\n            params : {\n                _delete : Roo.bootstrap.MasonryBrick.get(_this.masonry.getSelected()[0]).imageObj.id\n            },\n            success : function()\n            {\n//                _this.masonry.removeBrick(_this.masonry.getSelected()[0]);\n                _this.masonry.load();\n            }\n        });\n    });\n}"
210                },
211                "String weight" : "default",
212                "xtype" : "Button",
213                "$ xns" : "Roo.bootstrap",
214                "String html" : "<i class=\"fa fa-trash\"></i> Delete",
215                "String style" : "margin-left: 15px;"
216               }
217              ]
218             }
219            ]
220           },
221           {
222            "listeners" : {
223             "render" : "function (_self)\n{\n    _this.document_container = this;\n    \n    this.el.setStyle('overflow', 'auto');\n}"
224            },
225            "xtype" : "Row",
226            "$ xns" : "Roo.bootstrap",
227            "String style" : "margin-top: 15px;",
228            "items" : [
229             {
230              "Number md" : 12,
231              "xtype" : "Column",
232              "$ xns" : "Roo.bootstrap",
233              "items" : [
234               {
235                "listeners" : {
236                 "render" : "function (_self)\n{\n    _this.masonry = this;\n    \n}"
237                },
238                "Boolean isLayoutInstant" : false,
239                "| function load" : "function() \n{\n    _this.setting_form.reset();\n    _this.detail_form.reset();\n    \n    _this.setting_form.hide();\n    _this.detail_form.hide();\n    \n    _this.masonry.clearAll();\n    \n    new Pman.Request({\n        url: baseURL + '/Roo/Images',\n        method: 'GET',\n        params: {\n            ontable : 'core_email',\n            onid : _this.showTypeBtn.isActive() ? _this.data.onid : 0,\n            'search[filename]' : _this.searchBox.getValue()\n        },\n        success: function(ret) {\n            \n            if(!ret.data.length){\n                return;\n            }\n            \n            Roo.each(ret.data, function(r){\n                \n                _this.masonry.addBrick({\n                    size: 'md',\n                    boxWidth: 150,\n                    cls: 'coba-image-mgmt-masonry-brick',\n                    active: false,\n                    activeClass: 'active',\n                    preventDefault: true,\n                    bgimage : baseURL + '/Images/' + r.id + '/' + r.filename.replace('%', '-'),\n                    imageObj: r,\n                    listeners : {\n                        click : function (_self)\n                        {\n                            _this.setting_form.reset();\n                            _this.detail_form.reset();\n                            \n                            _this.setting_form.hide();\n                            _this.detail_form.hide();\n                            \n                            _this.deleteBtn.hide();\n                            \n                            if(!this.isSelected()){\n                                return;\n                            }\n                            \n                            if(_this.masonry.getSelected().length == 1){\n                                _this.deleteBtn.show();\n                            }\n                            \n                            new Pman.Request({\n                                url: baseURL + '/Roo/Images.php',\n                                method : 'GET',\n                                params : {\n                                    _id: _self.imageObj.id\n                                }, \n                                success : function(rr) {\n                                    \n                                    _this.setting_form.show();\n                                    _this.detail_form.show();\n                                    \n                                    _this.detail_form.setValues(rr.data);\n                                    _this.setting_form.setValues(rr.data);\n                                    \n                                    _this.setting_form.findField('align').setValue(\"left\");\n                                    \n                                    _self.imageObj = rr.data;\n                                }\n                            });\n                            \n                        }\n                     }\n                })\n                \n            });\n            \n            _this.masonry.initial();\n            \n         },\n         \n         failure: function(res) {\n             Roo.log('cannot read Coba/Roo/Images');\n         }\n     });\n}",
240                "Number boxWidth" : 250,
241                "xtype" : "LayoutMasonry",
242                "$ xns" : "Roo.bootstrap",
243                "string activeClass" : "active",
244                "Boolean isAutoInitial" : false
245               }
246              ]
247             }
248            ]
249           }
250          ]
251         }
252        ]
253       },
254       {
255        "xtype" : "Column",
256        "$ xns" : "Roo.bootstrap",
257        "Number sm" : 4,
258        "items" : [
259         {
260          "xtype" : "Row",
261          "$ xns" : "Roo.bootstrap",
262          "items" : [
263           {
264            "Number md" : 12,
265            "xtype" : "Column",
266            "$ xns" : "Roo.bootstrap",
267            "items" : [
268             {
269              "listeners" : {
270               "render" : "function (_self)\n{\n    _this.setting_form = this;\n}"
271              },
272              "$ string url" : "baseURL + '/Roo/Images'\n",
273              "xtype" : "Form",
274              "$ xns" : "Roo.bootstrap",
275              "Boolean loadMask" : true,
276              "items" : [
277               {
278                "String header" : "Add Images with Settings",
279                "$ String panel" : "'default'",
280                "xtype" : "Container",
281                "$ xns" : "Roo.bootstrap",
282                "String style" : "width: 100%;",
283                "items" : [
284                 {
285                  "xtype" : "Row",
286                  "$ xns" : "Roo.bootstrap",
287                  "items" : [
288                   {
289                    "Number md" : 12,
290                    "xtype" : "Column",
291                    "$ xns" : "Roo.bootstrap",
292                    "items" : [
293                     {
294                      "String name" : "descript",
295                      "xtype" : "Input",
296                      "string fieldLabel" : "Alternate Text:",
297                      "cls" : "row-style",
298                      "$ xns" : "Roo.bootstrap",
299                      "Number labelWidth" : 4
300                     }
301                    ]
302                   }
303                  ]
304                 },
305                 {
306                  "xtype" : "Row",
307                  "$ xns" : "Roo.bootstrap",
308                  "items" : [
309                   {
310                    "Number md" : 12,
311                    "xtype" : "Column",
312                    "$ xns" : "Roo.bootstrap",
313                    "String style" : "margin-top:15px;",
314                    "items" : [
315                     {
316                      "String name" : "height",
317                      "xtype" : "Input",
318                      "string fieldLabel" : "Height:",
319                      "cls" : "row-style",
320                      "$ xns" : "Roo.bootstrap",
321                      "Number labelWidth" : 4
322                     }
323                    ]
324                   }
325                  ]
326                 },
327                 {
328                  "xtype" : "Row",
329                  "$ xns" : "Roo.bootstrap",
330                  "items" : [
331                   {
332                    "Number md" : 12,
333                    "xtype" : "Column",
334                    "$ xns" : "Roo.bootstrap",
335                    "String style" : "margin-top:15px;",
336                    "items" : [
337                     {
338                      "String name" : "width",
339                      "xtype" : "Input",
340                      "string fieldLabel" : "Width: ",
341                      "cls" : "row-style",
342                      "$ xns" : "Roo.bootstrap",
343                      "Number labelWidth" : 4
344                     }
345                    ]
346                   }
347                  ]
348                 },
349                 {
350                  "xtype" : "Row",
351                  "$ xns" : "Roo.bootstrap",
352                  "items" : [
353                   {
354                    "Number md" : 12,
355                    "xtype" : "Column",
356                    "$ xns" : "Roo.bootstrap",
357                    "String style" : "margin-top:15px;",
358                    "items" : [
359                     {
360                      "Boolean allowBlank" : true,
361                      "Boolean selectOnFocus" : true,
362                      "String name" : "align",
363                      "String mode" : "local",
364                      "String valueField" : "code",
365                      "xtype" : "ComboBox",
366                      "Boolean editable" : false,
367                      "String triggerAction" : "all",
368                      "string fieldLabel" : "Alignment:",
369                      "Boolean alwaysQuery" : true,
370                      "cls" : "row-style",
371                      "$ xns" : "Roo.bootstrap",
372                      "Number labelWidth" : 4,
373                      "String displayField" : "value",
374                      "Boolean forceSelection" : true,
375                      "items" : [
376                       {
377                        "$ Array fields" : "['code', 'value']",
378                        "xtype" : "SimpleStore",
379                        "$ xns" : "Roo.data",
380                        "* prop" : "store",
381                        "| Array data" : "[\n    ['left', 'left'],\n    ['right', 'right'],\n    ['middle', 'middle'],\n    ['top', 'top'],\n    ['bottom', 'bottom']\n]"
382                       }
383                      ]
384                     }
385                    ]
386                   }
387                  ]
388                 },
389                 {
390                  "xtype" : "Row",
391                  "$ xns" : "Roo.bootstrap",
392                  "items" : [
393                   {
394                    "Number md" : 12,
395                    "String cls" : "text-center",
396                    "xtype" : "Column",
397                    "$ xns" : "Roo.bootstrap",
398                    "String style" : "margin-top:15px;",
399                    "items" : [
400                     {
401                      "listeners" : {
402                       "click" : "function (_self, e)\n{\n    var b = _this.masonry.getSelected();\n    \n    if (b.length < 1) {\n        \n        Roo.bootstrap.MessageBox.alert('Cannot add any image', 'Please select an image');\n        return;\n    }\n    \n    var brick = Roo.bootstrap.MasonryBrick.get(b[0]);\n    \n    _this.dialog.hide();\n\n    if(_this.callback){\n        \n        var data = {\n            id : brick.imageObj.id,\n            filename : brick.imageObj.filename,\n            width : _this.setting_form.findField('width').getValue(),\n            height : _this.setting_form.findField('height').getValue(),\n            descript : _this.setting_form.findField('descript').getValue(),\n            align : _this.setting_form.findField('align').getValue()\n        };\n        \n        _this.callback.call(_this, data);\n        \n    }\n}"
403                      },
404                      "String weight" : "default",
405                      "xtype" : "Button",
406                      "$ xns" : "Roo.bootstrap",
407                      "String html" : "<i class=\"fa fa-plus\"></i> Add into the email",
408                      "name" : "add"
409                     }
410                    ]
411                   }
412                  ]
413                 }
414                ]
415               }
416              ]
417             }
418            ]
419           }
420          ]
421         },
422         {
423          "xtype" : "Row",
424          "$ xns" : "Roo.bootstrap",
425          "items" : [
426           {
427            "Number md" : 12,
428            "xtype" : "Column",
429            "$ xns" : "Roo.bootstrap",
430            "items" : [
431             {
432              "listeners" : {
433               "render" : "function (_self)\n{\n    _this.detail_form = this;\n}"
434              },
435              "xtype" : "Form",
436              "$ xns" : "Roo.bootstrap",
437              "Boolean loadMask" : true,
438              "$ String url" : "baseURL + '/Roo/Images'",
439              "items" : [
440               {
441                "xtype" : "Container",
442                "string header" : "Image Details",
443                "$ xns" : "Roo.bootstrap",
444                "String style" : "width: 100%; padding: 0",
445                "$ string panel" : "'default'",
446                "items" : [
447                 {
448                  "xtype" : "Row",
449                  "$ xns" : "Roo.bootstrap",
450                  "items" : [
451                   {
452                    "Number md" : 12,
453                    "xtype" : "Column",
454                    "$ xns" : "Roo.bootstrap",
455                    "items" : [
456                     {
457                      "String name" : "filename",
458                      "style" : "padding: 0;",
459                      "xtype" : "Input",
460                      "string fieldLabel" : "File Name:",
461                      "cls" : "row-style",
462                      "Boolean disabled" : true,
463                      "$ xns" : "Roo.bootstrap",
464                      "Number labelWidth" : 4
465                     }
466                    ]
467                   }
468                  ]
469                 },
470                 {
471                  "xtype" : "Row",
472                  "$ xns" : "Roo.bootstrap",
473                  "items" : [
474                   {
475                    "Number md" : 12,
476                    "xtype" : "Column",
477                    "$ xns" : "Roo.bootstrap",
478                    "String style" : "margin-top:15px;",
479                    "items" : [
480                     {
481                      "String name" : "mimetype",
482                      "xtype" : "Input",
483                      "string fieldLabel" : "File Type:",
484                      "cls" : "row-style",
485                      "Boolean disabled" : true,
486                      "$ xns" : "Roo.bootstrap",
487                      "Number labelWidth" : 4
488                     }
489                    ]
490                   }
491                  ]
492                 },
493                 {
494                  "xtype" : "Row",
495                  "$ xns" : "Roo.bootstrap",
496                  "items" : [
497                   {
498                    "Number md" : 12,
499                    "xtype" : "Column",
500                    "$ xns" : "Roo.bootstrap",
501                    "String style" : "margin-top:15px;",
502                    "items" : [
503                     {
504                      "String name" : "filesize",
505                      "xtype" : "Input",
506                      "string fieldLabel" : "File Size:",
507                      "cls" : "row-style",
508                      "Boolean disabled" : true,
509                      "$ xns" : "Roo.bootstrap",
510                      "Number labelWidth" : 4
511                     }
512                    ]
513                   }
514                  ]
515                 },
516                 {
517                  "xtype" : "Row",
518                  "$ xns" : "Roo.bootstrap",
519                  "items" : [
520                   {
521                    "Number md" : 12,
522                    "xtype" : "Column",
523                    "$ xns" : "Roo.bootstrap",
524                    "String style" : "margin-top:15px;",
525                    "items" : [
526                     {
527                      "String name" : "created",
528                      "xtype" : "Input",
529                      "string fieldLabel" : "Created Date:",
530                      "cls" : "row-style",
531                      "Boolean disabled" : true,
532                      "$ xns" : "Roo.bootstrap",
533                      "Number labelWidth" : 4
534                     }
535                    ]
536                   }
537                  ]
538                 },
539                 {
540                  "xtype" : "Row",
541                  "$ xns" : "Roo.bootstrap",
542                  "items" : [
543                   {
544                    "Number md" : 12,
545                    "xtype" : "Column",
546                    "$ xns" : "Roo.bootstrap",
547                    "String style" : "margin-top:15px;",
548                    "items" : [
549                     {
550                      "String name" : "descript",
551                      "xtype" : "Input",
552                      "string fieldLabel" : "Description:",
553                      "cls" : "row-style",
554                      "$ xns" : "Roo.bootstrap",
555                      "Number labelWidth" : 4
556                     }
557                    ]
558                   }
559                  ]
560                 },
561                 {
562                  "String name" : "id",
563                  "xtype" : "Input",
564                  "String inputType" : "hidden",
565                  "$ xns" : "Roo.bootstrap"
566                 },
567                 {
568                  "xtype" : "Row",
569                  "$ xns" : "Roo.bootstrap",
570                  "items" : [
571                   {
572                    "Number md" : 12,
573                    "String cls" : "text-center",
574                    "xtype" : "Column",
575                    "$ xns" : "Roo.bootstrap",
576                    "String style" : "margin-top:15px;",
577                    "items" : [
578                     {
579                      "listeners" : {
580                       "click" : "function (_self, e)\n{\n    _this.detail_form.doAction('submit');\n}"
581                      },
582                      "String weight" : "default",
583                      "xtype" : "Button",
584                      "$ xns" : "Roo.bootstrap",
585                      "String html" : "<i class=\"fa fa-save\"></i> Save Changes"
586                     }
587                    ]
588                   }
589                  ]
590                 }
591                ]
592               }
593              ]
594             }
595            ]
596           }
597          ]
598         }
599        ]
600       }
601      ]
602     }
603    ]
604   }
605  ]
606 }