{
"name" : "Pman.Dialog.BAdminEmail",
"parent" : "",
"title" : "Pman.Dialog.BAdminEmail",
"path" : "/home/alan/gitlive/Pman.BAdmin/Pman.Dialog.BAdminEmail.bjs",
"permname" : "",
"modOrder" : "001",
"strings" : {
"843627586c62e389041a4d8800143974" : "Searching",
"2c466a2c159463f1d9ef5a7b57b52827" : "Select BCC Group",
"396ecabf0cd1f9503e591418851ef406" : "Edit / Create Message",
"3858712080cb3d846ea206d1d1070674" : "Test Class (for system reference only):",
"31fde7b05ac8952dacf4af8a704074ec" : "Preview",
"5b8ef4e762c00a15a41cfc26dc3ef99c" : "Send me a test copy",
"4182c8f19d40c7ca236a5f4f83faeb6b" : "Unsubscribe",
"b2bce8099bf8e6f51345bee5c9015c89" : "Convert HTML to Plain Text",
"ea4788705e6873b424c65e91c2846b19" : "Cancel",
"c4ca4238a0b923820dcc509a6f75849b" : "1",
"1e6d57e813355689e9c77e947d73ad8f" : "From:",
"47a0be8d1015d526a1fbaa56c3102135" : "Subject:",
"5feb9bf3c03b32635135006cbacb9542" : "Insert Field",
"292f75d54a6892cfe18a93e64230112a" : "Mailout Name:",
"7038eac66e387c3b3a0834d786a88757" : "Insert Image",
"e71c729cd7f3c6b6ebdb447e65952dfd" : "From email address:",
"edddfc18b2ffb806573a1b3f341832cd" : "BCC to Group:",
"bd88a20b53a47f7b5704a83a15ff5506" : "Saved Version",
"e44b145bd8b49b06e0ad2ced1ad56466" : "Plain Text",
"c9cc8cce247e49bae79f15173ce97354" : "Save",
"b5a7adde1af5c87d7fd797b6245c2a39" : "Description",
"49ee3087348e8d44e1feda1917443987" : "Name",
"28690be026c0bb9003aa58e45e5662ca" : "Enabled - will be sent out",
"fb981fe689fbec75c6531eb7410971f4" : "To group:",
"e05f77bdf3f659c1fd354a88526c03da" : "Select Group",
"36a65bbd12f7586ea1f9b0be4e8848aa" : "HTML Editor"
},
"named_strings" : {
"description_fieldLabel" : "b5a7adde1af5c87d7fd797b6245c2a39",
"active_boxLabel" : "28690be026c0bb9003aa58e45e5662ca",
"save_html" : "c9cc8cce247e49bae79f15173ce97354",
"to_group_id_display_name_loadingText" : "843627586c62e389041a4d8800143974",
"bcc_group_id_name_placeholder" : "2c466a2c159463f1d9ef5a7b57b52827",
"name_fieldLabel" : "292f75d54a6892cfe18a93e64230112a",
"cancel_html" : "ea4788705e6873b424c65e91c2846b19",
"from_email_fieldLabel" : "e71c729cd7f3c6b6ebdb447e65952dfd",
"to_group_id_display_name_fieldLabel" : "fb981fe689fbec75c6531eb7410971f4",
"preview_html" : "31fde7b05ac8952dacf4af8a704074ec",
"active_value" : "c4ca4238a0b923820dcc509a6f75849b",
"to_group_id_display_name_placeholder" : "e05f77bdf3f659c1fd354a88526c03da",
"send_html" : "5b8ef4e762c00a15a41cfc26dc3ef99c",
"from_name_fieldLabel" : "1e6d57e813355689e9c77e947d73ad8f",
"bcc_group_id_name_loadingText" : "843627586c62e389041a4d8800143974",
"bcc_group_id_name_fieldLabel" : "edddfc18b2ffb806573a1b3f341832cd",
"subject_fieldLabel" : "47a0be8d1015d526a1fbaa56c3102135",
"test_class_fieldLabel" : "3858712080cb3d846ea206d1d1070674"
},
"items" : [
{
"listeners" : {
"show" : "function (_self)\n{\n\n}",
"render" : "function (_self)\n{\n\n}",
"hide" : "function (_self)\n{\n if(_this.autosave) {\n \n clearInterval(_this.autosave);\n }\n}"
},
"string fitwindow" : true,
"String cls" : "modal-body-enable-overflow-y",
"xtype" : "Modal",
"$ xns" : "Roo.bootstrap",
"String title" : "Edit / Create Message",
"Boolean bodyOverflow" : true,
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n var id = _this.form.findField('id').getValue();\n \n if(id*1 < 1){\n Roo.bootstrap.MessageBox.alert('Error', 'Please save the message first!');\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Core/MessagePreview',\n method : 'POST',\n mask: 'Sending',\n params : {\n _id : id,\n _table : _this.data.module\n }, \n success : function(res) {\n if(res.data == 'SUCCESS'){\n Roo.bootstrap.MessageBox.alert(\"Email Sent\", 'The report was sent to your email (HTML format).');\n }\n }\n });\n}"
},
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Send me a test copy",
"* prop" : "buttons[]",
"string name" : "send",
"$ String weight" : "'default'"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n Pman.Dialog.BAdminEmailPreview.show({ id : _this.form.findField('id').getValue(), module : _this.data.module });\n}"
},
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Preview",
"* prop" : "buttons[]",
"string name" : "preview",
"$ String weight" : "'default'"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n _this.dialog.hide();\n}"
},
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Cancel",
"* prop" : "buttons[]",
"string name" : "cancel",
"$ String weight" : "'default'"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n _this.form.preValidate(function(res) {\n if (!res) {\n return; //failed.\n }\n });\n}"
},
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Save",
"* prop" : "buttons[]",
"string name" : "save",
"$ String weight" : "'primary'"
},
{
"xtype" : "Container",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"listeners" : {
"actionfailed" : "function (_self, action)\n{\n\n var displayErr = function() {\n if(action.result.errorMsg.length >= 200) {\n Roo.bootstrap.MessageBox.alert(\"Error\", action.result.errorMsg.substring(0,199) + '...');\n } else {\n Roo.bootstrap.MessageBox.alert(\"Error\", action.result.errorMsg);\n }\n }\n switch(action.failureType) {\n case Roo.form.Action.SERVER_INVALID: \n if(action.result.errors.errcode) {\n switch (action.result.errors.errcode) {\n case 100:\n \n Roo.bootstrap.MessageBox.show({\n title: 'Confirm Save',\n msg: 'No member found in To Group: '+ _this.combo_to_group.getRawValue(),\n buttons: {yes:'OK Save anyway', no:'Change to another group'},\n fn: function(ret){\n \n if(ret == 'no'){\n return;\n }\n \n _this.form.findField('_ignore_group_count').setValue('1');\n _this.form.doAction(\"submit\"); \n }\n });\n \n \n break;\n \n default:\n displayErr();\n break;\n }\n return;\n }\n displayErr();\n \n break;\n case Roo.form.Action.CLIENT_INVALID: //for validation\n break;\n case Roo.form.Action.CONNECT_FAILURE:\n Roo.bootstrap.MessageBox.alert(\"Connect Error\", action.result.errorMsg);\n break;\n default: \n Roo.bootstrap.MessageBox.alert(\"Error\", action.result.errorMsg);\n break;\n \n }\n}",
"actioncomplete" : "function(_self,action)\n{\n \n if (action.type == 'setdata') {\n \n _this.data.module = _this.data.module || 'crm_mailing_list_message';\n this.url = baseURL + '/Roo/' + _this.data.module;\n \n if(_this.data.id*1 > 0){\n _this.dialog.el.mask(\"Loading\");\n this.doAction(\n 'load',\n { method: 'GET', params: { '_id' : _this.data.id, '_with_css' : 1 }}\n );\n return;\n }\n \n //this.findField('name').setDisabled(false);\n //this.findField('test_class').setDisabled(false);\n \n this.reset();\n \n this.findField('to_group_id').setValue(-1);\n this.findField('bodytext').setValue('');\n \n this.setValues({\n 'from_name' : Pman.Login.authUser.name,\n 'from_email' : Pman.Login.authUser.email\n });\n \n this.clearInvalid();\n \n this.hideshow();\n \n return;\n }\n \n if (action.type == 'load') {\n \n /*\n this.findField('name').setDisabled(false);\n this.findField('test_class').setDisabled(false);\n \n if(action.result.data['is_system'] == 1) {\n this.findField('name').setDisabled(true);\n this.findField('test_class').setDisabled(true);\n }\n */\n \n _this.dialog.el.unmask();\n \n this.findField('bodytext').originalValue = this.findField('bodytext').getValue();\n \n _this.form_data = action.result.data;\n \n if(_this.form_data._css && _this.form_data._css.length){\n _this.htmleditor.editorcore.setStyle(_this.form_data._css);\n }\n \n this.findField('_ignore_group_count').setValue('0');\n \n if(!_this.form_data.description.length){\n _this.form_data.findField('description').setValue(_this.form_data.name);\n }\n \n this.hideshow();\n \n return;\n }\n \n if (action.type =='submit') {\n \n _this.dialog.el.unmask();\n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, action.result.data);\n }\n \n this.reset();\n \n return;\n }\n}\n",
"render" : "function (_self)\n{\n _this.form = this;\n}"
},
"| function hideshow" : "function()\n{\n _this.to_group_row.hide();\n \n if (this.findField('to_group_id').getValue() == -1) {\n return;\n }\n \n _this.to_group_row.show();\n}",
"$ string preValidate" : "function(done_callback) {\n \n if(!_this.form.findField('bodytext').editorcore.sourceEditMode){\n _this.form.findField('bodytext').syncValue();\n }else{\n _this.form.findField('bodytext').pushValue();\n }\n \n var html = _this.form.findField('bodytext').getValue();\n \n var s = Roo.get(_this.form.findField('bodytext').editorcore.doc.documentElement);\n \n var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n \n var nodes = [];\n \n s.select('img[src]').each(function(i) {\n nodes.push(i.dom);\n });\n \n \n var total = nodes.length;\n \n var mkimg = function() {\n if (!nodes.length) {\n _this.form.findField('bodytext').syncValue();\n done_callback(true);\n _this.form.doAction(\"submit\");\n return;\n }\n var i = nodes.pop(); \n \n var n = i.getAttribute('src').match(/(baseURL|server_baseurl)/);\n \n if(n){\n mkimg();\n return;\n }\n \n n = i.getAttribute('src').match(/^http(.*)/);\n \n if(!n ){\n mkimg();\n return;\n }\n \n \n \n new Pman.Request({\n url : baseURL + '/Roo/Images.php',\n method : 'POST',\n params : {\n onid : _this.form.findField('id').getValue(),\n ontable : ontable ,\n _remote_upload : i.src\n },\n success : function(res){\n if(res.success == true){ \n i.setAttribute('src', res.data);\n }\n mkimg();\n }\n });\n \n }\n mkimg();\n}\n",
"xtype" : "Form",
"$ xns" : "Roo.bootstrap",
"String method" : "POST",
"string errorMask" : true,
"$ String url" : "baseURL + '/Roo/crm_mailing_list_message.php'",
"items" : [
{
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Number md" : 8,
"xtype" : "Column",
"Number xs" : 12,
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Boolean allowBlank" : false,
"String name" : "description",
"xtype" : "Input",
"string fieldLabel" : "Description",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 3,
"String indicatorpos" : "right"
}
]
},
{
"Number md" : 4,
"xtype" : "Column",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"listeners" : {
"check" : "function (_self, checked)\n{\n var boxLabel = 'Enabled - will be sent out';\n \n if(!checked){\n boxLabel = 'Disabled - will NOT be sent out';\n }\n \n //this.setBoxLabel(boxLabel);\n}"
},
"String name" : "active",
"Boolean checked" : true,
"xtype" : "CheckBox",
"String valueOff" : 0,
"String boxLabel" : "Enabled - will be sent out",
"$ xns" : "Roo.bootstrap",
"string value" : 1,
"String indicatorpos" : "right"
}
]
}
]
},
{
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Number md" : 6,
"xtype" : "Column",
"Number xs" : 12,
"$ xns" : "Roo.bootstrap",
"string name" : "from_name",
"items" : [
{
"Boolean allowBlank" : false,
"String name" : "from_name",
"xtype" : "Input",
"string fieldLabel" : "From:",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 4,
"String indicatorpos" : "right"
}
]
},
{
"Number md" : 6,
"xtype" : "Column",
"Number xs" : 12,
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Boolean allowBlank" : false,
"String name" : "from_email",
"xtype" : "Input",
"string fieldLabel" : "From email address:",
"$ xns" : "Roo.bootstrap",
"String vtype" : "email",
"Number labelWidth" : 4,
"String indicatorpos" : "right"
}
]
}
]
},
{
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"listeners" : {
"render" : "function (_self)\n{\n _this.to_group_row = this;\n}"
},
"Number md" : 6,
"xtype" : "Column",
"Number xs" : 12,
"$ xns" : "Roo.bootstrap",
"items" : [
{
"listeners" : {
"render" : "function (_self)\n{\n _this.combo_to_group = _self;\n}"
},
"Boolean allowBlank" : true,
"String loadingText" : "Searching",
"Number pageSize" : 20,
"String name" : "to_group_id_display_name",
"Number minChars" : 2,
"String valueField" : "id",
"Boolean typeAhead" : true,
"xtype" : "ComboBox",
"Boolean editable" : false,
"String triggerAction" : "all",
"String labelAlign" : "left",
"string fieldLabel" : "To group:",
"Boolean alwaysQuery" : true,
"string placeholder" : "Select Group",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 4,
"String hiddenName" : "to_group_id",
"String displayField" : "display_name",
"Boolean forceSelection" : true,
"String indicatorpos" : "right",
"items" : [
{
"listeners" : {
"beforeload" : "function (_self, o){\n o.params = o.params || {};\n \n o.params._direct_return = 1;\n o.params.limit = 100;\n}\n"
},
"$ Object sortInfo" : "{ direction : 'ASC', field: 'name' }",
"xtype" : "Store",
"boolean remoteSort" : true,
"$ xns" : "Roo.data",
"* prop" : "store",
"items" : [
{
"xtype" : "HttpProxy",
"$ xns" : "Roo.data",
"String method" : "GET",
"* prop" : "proxy",
"$ String url" : "baseURL + '/Roo/Core_group'"
},
{
"$ Array fields" : "['name','display_name',{\"name\":\"id\",\"type\":\"int\"}]",
"xtype" : "JsonReader",
"String root" : "data",
"$ xns" : "Roo.data",
"String id" : "name",
"* prop" : "reader",
"String totalProperty" : "total"
}
]
}
]
}
]
},
{
"Number md" : 6,
"xtype" : "Column",
"Number xs" : 12,
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Boolean allowBlank" : true,
"String loadingText" : "Searching",
"Number pageSize" : 20,
"String name" : "bcc_group_id_name",
"Number minChars" : 2,
"String valueField" : "id",
"Boolean typeAhead" : true,
"xtype" : "ComboBox",
"Boolean editable" : false,
"String triggerAction" : "all",
"String labelAlign" : "left",
"string fieldLabel" : "BCC to Group:",
"Boolean alwaysQuery" : true,
"string placeholder" : "Select BCC Group",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 4,
"String hiddenName" : "bcc_group_id",
"String displayField" : "name",
"Boolean forceSelection" : true,
"String indicatorpos" : "right",
"items" : [
{
"listeners" : {
"beforeload" : "function (_self, o){\n o.params = o.params || {};\n \n o.params._direct_return = 1;\n}\n"
},
"$ Object sortInfo" : "{ direction : 'ASC', field: 'name' }",
"xtype" : "Store",
"boolean remoteSort" : true,
"$ xns" : "Roo.data",
"* prop" : "store",
"items" : [
{
"xtype" : "HttpProxy",
"$ xns" : "Roo.data",
"String method" : "GET",
"* prop" : "proxy",
"$ String url" : "baseURL + '/Roo/Core_group'"
},
{
"$ Array fields" : "[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"id\",\"type\":\"int\"}]",
"xtype" : "JsonReader",
"String root" : "data",
"$ xns" : "Roo.data",
"String id" : "name",
"* prop" : "reader",
"String totalProperty" : "total"
}
]
}
]
}
]
}
]
},
{
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Number md" : 12,
"xtype" : "Column",
"Number xs" : 12,
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Boolean allowBlank" : false,
"String name" : "subject",
"xtype" : "Input",
"string fieldLabel" : "Subject:",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 2,
"String indicatorpos" : "right"
}
]
}
]
},
{
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Number md" : 12,
"xtype" : "Column",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"String header" : "HTML Editor",
"xtype" : "Container",
"String panel" : "default",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"listeners" : {
"savedpreview" : "function (_self)\n{\n var id = _this.form.findField('id').getValue() * 1;\n \n var successFn = function(res){\n return res.data.POST.source;\n };\n \n var params = {\n action : 'AUTOSAVE',\n remarks : 'BODY',\n on_id : (id < 1) ? 0 : id,\n on_table : 'core_email',\n successFn : successFn\n };\n \n \n Pman.Dialog.BAdminAutoSavePreview.show(params, function(res){\n _self.setValue(res);\n _self.originalValue = res;\n });\n}",
"render" : "function (_self)\n{\n _this.htmleditor = this;\n}",
"autosave" : "function (_self)\n{\n Roo.log('autosave');\n \n var id = _this.form.findField('id').getValue() * 1;\n \n new Pman.Request({\n url : baseURL + '/Roo/Events.php',\n method :'POST',\n params : {\n id : 0,\n action : 'AUTOSAVE',\n on_id : (id > 0) ? id : 0,\n on_table : 'crm_mailing_list_message',\n remarks : 'BODY',\n source: _self.getValue()\n },\n success : function() {\n _self.originalValue = _self.getValue();\n \n },\n failure : function() \n {\n Roo.log('body autosave failed?!');\n }\n });\n \n}"
},
"String name" : "bodytext",
"String bodyCls" : "roo-email",
"xtype" : "HtmlEditor",
"$ xns" : "Roo.bootstrap",
"Array stylesheets" : "",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n if (!_this.form.findField('bodytext').editorcore.activated) {\n Roo.bootstrap.MessageBox.alert('Cannot add any image', 'Please select a place in the belowing text area where the image will insert at');\n return;\n }\n \n var id = _this.form.findField('id').getValue();\n \n if(id*1 < 1){\n Roo.bootstrap.MessageBox.alert('Cannot add any image', 'Please save the email template first');\n return;\n }\n \n var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n Pman.Dialog.BAdminImageManager.show({\n id: 0,\n onid: id,\n ontable: ontable\n }, function(img){\n _this.form.findField('bodytext').editorcore.insertAtCursor(\n String.format(\n '',\n baseURL,\n img.id,\n img.filename.replace('%', '-'),\n img.height,\n img.width,\n img.descript,\n img.align\n )\n )\n });\n \n}"
},
"Boolean toggle" : false,
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String glyphicon" : "camera",
"String html" : "Insert Image",
"* prop" : "btns[]"
},
{
"Boolean toggle" : false,
"$ String glyphicon" : "'tag'",
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Insert Field",
"* prop" : "btns[]",
"items" : [
{
"xtype" : "Menu",
"$ xns" : "Roo.bootstrap",
"* prop" : "menu",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n if (!_this.form.findField('bodytext').editorcore.activated) {\n Roo.bootstrap.MessageBox.alert('Cannot add the name tag', 'Please select a place in the belowing text area where the tag will insert at');\n return;\n }\n \n _this.form.findField('bodytext').editorcore.insertAtCursor(\n String.format('{0}',\n '{person.name}'\n )\n );\n}"
},
"xtype" : "MenuItem",
"$ xns" : "Roo.bootstrap",
"String html" : "Name"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n if (!_this.form.findField('bodytext').editorcore.activated) {\n Roo.bootstrap.MessageBox.alert('Cannot add the unsubscribe tag', 'Please select a place in the belowing text area where the tag will insert at');\n return;\n }\n \n _this.form.findField('bodytext').editorcore.insertAtCursor(\n String.format('{1}',\n '#unsubscribe', \"Unsubscribe\"\n )\n );\n}"
},
"xtype" : "MenuItem",
"$ xns" : "Roo.bootstrap",
"String html" : "Unsubscribe"
}
]
}
]
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n var h = _this.form.findField('bodytext').getValue();\n var p = _this.form.findField('plaintext');\n \n new Pman.Request({\r\n url : baseURL + '/Core/ImportMailMessage.php',\r\n method : 'POST',\r\n params : {\n bodytext : h,\r\n _convertToPlain : true,\n _check_unsubscribe : true\r\n }, \r\n success : function(res) {\r\n if(res.success == true){\n p.setValue(res.data);\n }\r\n }\r\n });\n \n}"
},
"Boolean toggle" : false,
"$ String glyphicon" : "'refresh'",
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Convert HTML to Plain Text",
"* prop" : "btns[]"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n this.scope.owner.fireEvent('savedpreview', this.scope.owner);\n}"
},
"Boolean toggle" : false,
"$ String glyphicon" : "'floppy-disk'",
"xtype" : "Button",
"$ xns" : "Roo.bootstrap",
"String html" : "Saved Version",
"* prop" : "btns[]"
}
]
}
]
}
]
}
]
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n var h = _this.form.findField('bodytext').getValue();\n var p = _this.form.findField('plaintext');\n \n new Pman.Request({\r\n url : baseURL + '/Core/ImportMailMessage.php',\r\n method : 'POST',\r\n params : {\n bodytext : h,\r\n _convertToPlain : true,\n _check_unsubscribe : true\r\n }, \r\n success : function(res) {\r\n if(res.success == true){\n p.setValue(res.data);\n }\r\n }\r\n });\n \n}"
},
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Number md" : 12,
"xtype" : "Column",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"String header" : "Plain Text",
"$ String panel" : "'default'",
"xtype" : "Container",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"String name" : "plaintext",
"xtype" : "TextArea",
"$ xns" : "Roo.bootstrap"
}
]
}
]
}
]
},
{
"xtype" : "Row",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Number md" : 6,
"xtype" : "Column",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"Boolean allowBlank" : false,
"String name" : "name",
"xtype" : "Input",
"string fieldLabel" : "Mailout Name:",
"String labelAlign" : "top",
"Boolean disabled" : true,
"$ xns" : "Roo.bootstrap",
"String indicatorpos" : "right"
}
]
},
{
"Number md" : 6,
"xtype" : "Column",
"$ xns" : "Roo.bootstrap",
"items" : [
{
"String name" : "test_class",
"xtype" : "Input",
"string fieldLabel" : "Test Class (for system reference only):",
"String labelAlign" : "top",
"Boolean disabled" : true,
"$ xns" : "Roo.bootstrap"
}
]
}
]
},
{
"String name" : "id",
"xtype" : "Input",
"String inputType" : "hidden",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 3
},
{
"String name" : "_ignore_group_count",
"xtype" : "Input",
"String inputType" : "hidden",
"$ xns" : "Roo.bootstrap",
"Number labelWidth" : 3
}
]
}
]
}
]
}
]
}