{ "items" : [ { "$ xns" : "Roo", "items" : [ { "$ xns" : "Roo", "* prop" : "layout", "items" : [ { "$ xns" : "Roo", "* prop" : "west", "split" : true, "width" : 450, "xtype" : "LayoutRegion" }, { "$ xns" : "Roo", "* prop" : "center", "xtype" : "LayoutRegion" }, { "$ xns" : "Roo", "items" : [ { "$ xns" : "Roo", "* prop" : "toolbar", "items" : [ { "$ xns" : "Roo.Toolbar", "listeners" : { "click" : [ "function (_self, e)", "{", " Pman.Dialog.AdminLanguagePick.show( { }, function(lang) {", " ", " new Pman.Request({", " url : baseURL + '/Roo/core_templatestr',", " method : 'POST',", " params : {", " _rescan : lang", " }, ", " success : function()", " {", " _this.treepanel.tree.getRootNode().reload();", " }", " });", " ", " });", " ", "}" ] }, "text" : "New", "xtype" : "Button" }, { "$ xns" : "Roo.Toolbar", "xtype" : "Separator" }, { "$ xns" : "Roo.Toolbar", "listeners" : { "click" : [ "function (_self, e)", "{", " var tree = _this.treepanel.tree;", " var sn = tree.getSelectionModel().getSelectedNode();", "", " if (!sn || typeof(sn.attributes.language) == 'undefined' || !sn.attributes.language) {", " Roo.MessageBox.alert(\"Error\", \"Select a language\");", " return;", " }", "", " Roo.MessageBox.confirm(\"Confirm\", \"Are sure you want to delete the language\", function (v){", " if (v != 'yes') {", " return;", " }", " Roo.MessageBox.alert(\"Not yet\", \"not done yet\");", " return;", " ", " ", " ", " ", " });", "}" ] }, "text" : "Delete", "xtype" : "Button" }, { "$ xns" : "Roo.Toolbar", "xtype" : "Separator" }, { "$ xns" : "Roo.Toolbar", "listeners" : { "click" : [ "function (_self, e)", "{", " var tree = _this.treepanel.tree;", " Roo.log(tree);", " var sn = tree.getSelectionModel().getSelectedNode();", "", " if (!sn) {", " Roo.MessageBox.alert(\"Error\", \"Select a node\");", " return;", " }", " ", " ", " var steps = [ ", " 'scanProjectBJS',", " 'scanPmanBJS',", " 'scanPmanTemplates',", " 'scanTables',", " 'syncLanguage' ", " ];", " ", " ", " var syncTemplate = function(){", " ", " var step = steps.shift();", " Roo.MessageBox.updateProgress( (5.0 - steps.length) / 5.0, \"Running \" + step);", " ", " new Pman.Request({", " url : baseURL + '/Admin/UpdateBjsTemplates/' + step,", " method : 'GET',", " //mask : 'Processing...',", " timeout : 9000000,", " success : function()", " {", " if (steps.length > 0 ) { ", " syncTemplate();", " return;", " }", " Roo.MessageBox.hide();", " _this.treepanel.tree.getRootNode().reload();", " }", " });", " ", " };", " ", " ", " var syncLanguage = function(){", " new Pman.Request({", " url : baseURL + '/Roo/Core_templatestr',", " method : 'POST',", " mask : 'Processing...',", " params : {", " _rescan : sn.attributes.id.split(':')[1]", " }, ", " success : function()", " {", " _this.treepanel.tree.getRootNode().reload();", " }", " });", " };", " ", " var syncSingleTemplate = function(id){", " new Pman.Request({", " url : baseURL + '/Roo/Core_template',", " method : 'POST',", " mask : 'Processing...',", " params : {", " id : id,", " _rescan : 1", " }, ", " success : function()", " {", " (function() {", " _this.grid.footer.onClick('first');", " }).defer(100);", " }", " });", " };", " ", " ", " if(typeof(sn.isRoot) != 'undefined' && sn.isRoot){", " Roo.MessageBox.progress(\"Syncing templates\", \"Starting\");", " syncTemplate();", " return;", " }", " ", " if(typeof(sn.attributes.language) != 'undefined' && sn.attributes.language){", " syncLanguage();", " return;", " }", " ", " if(typeof(sn.attributes.id) != 'undefined' && sn.attributes.id * 1> 0){", " syncSingleTemplate(sn.attributes.id);", " return;", " }", " ", " ", " ", " ", "}" ] }, "text" : "Rescan", "xtype" : "Button" }, { "$ xns" : "Roo.Toolbar", "xtype" : "Fill" }, { "$ xns" : "Roo.Toolbar", "listeners" : { "click" : [ "function (_self, e)", "{", " ", " ", " Pman.Dialog.Image.show({", " _url : baseURL + '/Admin/Import/Core_templatestr' ", " ", " }, function() {", " _this.treepanel.tree.getRootNode().reload();", " });", " ", " ", " ", "}" ] }, "text" : "Upload", "xtype" : "Button" }, { "$ xns" : "Roo.Toolbar", "xtype" : "Fill" }, { "$ xns" : "Roo.Toolbar", "listeners" : { "click" : [ "function (_self, e)", "{", " var tree = _this.treepanel.tree;", "", " var sn = tree.getSelectionModel().getSelectedNode();", " ", " p = {", " csvCols : 'src_id_mdsum,template_id_view_name,template_id_template,src_id_txt,lang,txt',", " csvTitles : 'Code,Module,Template,Original,Language,Translation',", " limit : 9999,", " sort: 'template_id_view_name,template_id_template,on_table,on_col,src_id_txt',", " dir: 'ASC',", " active : 1", " };", " if (!sn || sn.id == 'transtree') {", " Roo.MessageBox.alert(\"Error\", \"Select language, module or page\");", " return;", " }", " if (typeof(sn.id) == 'number') {", " p.template_id = sn.id;", "", " }", " ", " ", " if (typeof(sn.id) == 'string' && sn.id.match(/^table:/)) {", " var sns = sn.id.split(':');", " p.lang = sns[1];", " p.on_table = sns[2];", " p.csvCols = 'src_id_mdsum,on_table,on_id,on_col,src_id_txt,lang,txt';", " p.csvTitles = 'Code,Table,Table id,Column,Original,Language,Translation';", " }", " ", " if (typeof(sn.id) == 'string' && sn.id.match(/^view:/)) {", " var sns = sn.id.split(':');", " p.lang = sns[1];", " p.template_id_view_name = sns[2];", " ", " }", " if (typeof(sn.id) == 'string' && sn.id.match(/^lang:/)) {", " var sns = sn.id.split(':');", " p.lang = sns[1];", "", " }", " // transtree", " // view: {lang} : {view_name}", " // lang:", " ", " new Pman.Download({", " url : baseURL + '/Roo/Core_templatestr',", " params : p,", " method : 'GET' ", " });", " ", " ", " ", " ", " ", "}" ] }, "text" : "Download", "xtype" : "Button" }, { "$ xns" : "Roo.Toolbar", "xtype" : "Separator" }, { "$ xns" : "Roo.Toolbar", "listeners" : { "click" : [ "function (_self, e)", "{", " _this.treepanel.tree.getRootNode().reload();", " ", "}" ] }, "text" : "Reload", "xtype" : "Button" } ], "xtype" : "Toolbar" }, { "$ xns" : "Roo.tree", "* prop" : "tree", "containerScroll" : false, "items" : [ { "$ baseParams" : "{ _tree : 1 }", "$ dataUrl" : "baseURL + '/Roo/Core_templatestr'", "$ xns" : "Roo.tree", "* prop" : "loader", "listeners" : { "beforeload" : [ "function (This, node, callback)", "{", " // set some params.", " Roo.log(node);", " this.baseParams._tree = 1;", " ", " //this.baseParams.category = node.attributes.category;", "}" ], "loadexception" : [ "function (This, node, response)", "{", " Roo.MessageBox.alert(\"Error\", \"Problem loading tree\");", "}" ] }, "requestMethod" : "GET", "xtype" : "TreeLoader" }, { "$ xns" : "Roo.tree", "* prop" : "root", "id" : "transtree", "text" : "Translations (rescan this to update strings)", "xtype" : "AsyncTreeNode" }, { "$ xns" : "Roo.tree", "* prop" : "selModel", "listeners" : { "selectionchange" : [ "function (_self, node)", "{", " Roo.log(node);", " ", " //if (node.id.split('/').length < 2) {", " // return;", " // }", " (function() {", " _this.grid.footer.onClick('first');", " }).defer(100);", " ", "}" ] }, "xtype" : "DefaultSelectionModel" } ], "rootVisible" : true, "xtype" : "TreePanel" } ], "listeners" : { "render" : [ "function (_self)", "{", " _this.treepanel = _self;", "}" ] }, "region" : "west", "xtype" : "TreePanel" }, { "$ xns" : "Roo", "background" : false, "fitContainer" : true, "fitToframe" : true, "items" : [ { "$ xns" : "Roo.grid", "* prop" : "grid", "autoExpandColumn" : "txt", "clicksToEdit" : 1, "items" : [ { "$ xns" : "Roo", "* prop" : "toolbar", "items" : [ { "$ xns" : "Roo.form", "String emptyText" : "Search for", "listeners" : { "render" : [ "function (_self)", "{", " _this.searchBox = this;", "}" ], "specialkey" : [ "function (_self, e)", "{", "_this.grid.footer.onClick('first');", "}" ] }, "xtype" : "TextField" }, { "$ icon" : "rootURL + '/Pman/templates/images/search.gif'", "$ xns" : "Roo.Toolbar", "cls" : "x-btn-icon", "listeners" : { "|click" : [ "function (_self, e)", "{", "_this.grid.footer.onClick('first');", "}" ] }, "xtype" : "Button" }, { "$ icon" : "rootURL + '/Pman/templates/images/edit-clear.gif'", "$ xns" : "Roo.Toolbar", "cls" : "x-btn-icon", "listeners" : { "|click" : [ "function (_self, e)", "{", " _this.searchBox.setValue('');", " ", " _this.grid.footer.onClick('first');", "}" ] }, "xtype" : "Button" } ], "xtype" : "Toolbar" }, { "$ xns" : "Roo", "* prop" : "footer", "displayInfo" : true, "displayMsg" : "Displaying petition_entry{0} - {1} of {2}", "emptyMsg" : "Not Found", "pageSize" : 100, "xtype" : "PagingToolbar" }, { "$ sortInfo" : "{ field : 'src_id_txt', direction: 'ASC' }", "$ xns" : "Roo.data", "* prop" : "dataSource", "items" : [ { "$ url" : "baseURL + '/Roo/Core_templatestr.php'", "$ xns" : "Roo.data", "* prop" : "proxy", "method" : "GET", "xtype" : "HttpProxy" }, { "$ fields" : [ "[", " {", " 'name': 'id',", " 'type': 'int'", " },", " {", " 'name': 'shortname',", " 'type': 'string'", " }", " ", "]" ], "$ xns" : "Roo.data", "* prop" : "reader", "id" : "id", "root" : "data", "totalProperty" : "total", "xtype" : "JsonReader" } ], "listeners" : { "beforeload" : [ "function (_self, o)", "{", " ", " var sn = _this.treepanel.tree.getSelectionModel().getSelectedNode();", "", " if (!sn || typeof(sn.attributes) == 'undefined' || typeof(sn.attributes.leaf) == 'undefined' || !sn.attributes.leaf) { ", " _this.grid.ds.removeAll();", " return false;", " }", "", " o.params = o.params || {};", " o.params.lang = sn.parentNode.attributes.id.split(':')[1];", " ", " o.params.active = 1;", " o.params['!src_id'] = 0;", " ", " if (_this.searchBox && _this.searchBox.getValue().length) { ", " o.params['_search_txt'] = _this.searchBox.getValue();", " }", " ", " ", " if(sn.attributes.on_table){", " o.params.on_table = sn.attributes.on_table;", " } else {", " o.params.template_id = sn.attributes.id * 1;", " }", " ", "}", "", "", "" ], "update" : [ "function (_self, rec, operation)", "{", " Roo.log(operation);", " ", " if (operation != 'commit') {", " return;", " }", " ", "", " _this.grid.getView().el.mask(\"Saving\");", " new Pman.Request({", " url : baseURL + '/Roo/Core_templatestr',", " method: 'POST',", " params : {", " id : rec.get('id'),", " txt : rec.get('txt')", " },", " success : function()", " {", " _this.grid.getView().el.unmask();", " //g.getDataSource().reload();", " },", " failure : function()", " {", " _this.grid.getView().el.unmask();", " Roo.MessageBox.alert(\"Error\", \"There was a problem saving the data - try reloading\");", " }", " ", " });", " ", "}" ] }, "remoteSort" : true, "xtype" : "Store" }, { "$ renderer" : [ "function(v,x,r) ", "{", " var c = '#666';", " if (r.data.updated < r.data.src_id_updated) {", " c = 'red';", " }", " ", " return String.format('
{0}
', v)", "", "}" ], "$ xns" : "Roo.grid", "* prop" : "cm[]", "dataIndex" : "src_id_txt", "header" : "Original", "width" : 300, "xtype" : "ColumnModel" }, { "$ renderer" : [ "function(v,x,r) ", "{ ", "", " var c = '#666';", " if (r.data.updated < r.data.src_id_updated) {", " c = 'red';", " }", " ", " return String.format('
{0}
', v)", "", "}" ], "$ xns" : "Roo.grid", "* prop" : "cm[]", "dataIndex" : "txt", "header" : "Translation", "items" : [ { "$ xns" : "Roo.grid", "* prop" : "editor", "items" : [ { "$ xns" : "Roo.form", "* prop" : "field", "allowBlank" : false, "xtype" : "TextField" } ], "xtype" : "GridEditor" } ], "width" : 200, "xtype" : "ColumnModel" }, { "$ renderer" : [ "function(v,x,r) ", "{", " return v ? v : '';", "", "}" ], "$ xns" : "Roo.grid", "* prop" : "cm[]", "Boolean hidden" : true, "dataIndex" : "src_id_mdsum", "header" : "md5", "width" : 250, "xtype" : "ColumnModel" } ], "listeners" : { "afteredit" : [ "function (e)", "{", " e.record.commit();", "}" ], "beforeedit" : [ "function (e)", "{ ", " /*if (e.record.data.src_id_txt.indexOf('<') > -1) {", " // console.log(\"HTML EDITOR!!\");", " Pman.Dialog.CmsTranslateEditor.show(e.record);", " return false;", " }*/", " ", " var str=e.record.data.src_id_txt;", " var patt=/{(.*?)}/g;", " ", " Roo.log(str.length);", " ", " ", " if(patt.test(str)){", " e.cancel = true;", " Pman.Dialog.AdminTranslateTemplates.show(e.record.data, function(v){", " Roo.log(v);", " e.value = v.txt;", " e.record.set('txt', v.txt);", " e.record.commit();", " });", " /*", " Roo.MessageBox.prompt('WARNING', 'This text is with {TEMPLATE VARIABLE}, PLEASE BE CAREFUL EDITING. What\\'s change? '+str, function(btn, text){", " if (btn == 'ok'){", " e.value = text;", " e.record.set('txt', text);", " e.record.commit();", " }", " });*/", " return;", " }", " ", " if(str.length > 150){", " e.cancel = true;", " Pman.Dialog.AdminTranslateTemplates.show(e.record.data, function(v){", " e.value = v.txt;", " e.record.set('txt', v.txt);", " e.record.commit();", " });", " /*", " Roo.MessageBox.prompt('WARNING', 'This text is with {TEMPLATE VARIABLE}, PLEASE BE CAREFUL EDITING. What\\'s change? '+str, function(btn, text){", " if (btn == 'ok'){", " e.value = text;", " e.record.set('txt', text);", " e.record.commit();", " }", " });*/", " return;", " }", " ", "", " if (e.record.data.txt.replace(/\\s+/, '').length) {", " return true;", " }", " ", " var tl = _this.treepanel.tree.getSelectionModel().getSelectedNode().parentNode.attributes.id;", " // mapping?", " ", " tl = (tl == 'zh_HK') ? 'zh-TW' : tl;", " ", " if (tl == 'en' && !e.value.length) {", "", " e.value = e.record.data.src_id_txt;", " e.record.set('txt', e.record.data.src_id_txt);", " return true;", " }", " ", " Pman.GoogleTranslate(e.record.data.src_id_txt, \"en\", tl, function(result) {", " // Roo.log(result);", " _this.grid.activeEditor.setValue(result);", " //console.log(result.translation);", " });", " ", "", " ", " return true;", "}" ], "|render" : [ "function() ", "{", " _this.grid = this; ", " //_this.dialog = Pman.Dialog.FILL_IN", " if (_this.panel.active) {", " this.footer.onClick('first');", " // this.ds.onc.onClick('first');", " }", "}" ], "|rowdblclick" : [ "function (_self, rowIndex, e)", "{", " if (!_this.dialog) {", " return;", " }", " _this.dialog.show( this.getDataSource().getAt(rowIndex).data, function() {", " _this.grid.footer.onClick('first');", " }); ", "}", "" ] }, "loadMask" : true, "xtype" : "EditorGrid" } ], "listeners" : { "|activate" : [ "function() {", " _this.panel = this;", " if (_this.grid) {", " _this.grid.footer.onClick('first');", " }", "}" ] }, "region" : "center", "tableName" : "Page", "title" : "Page", "xtype" : "GridPanel" } ], "xtype" : "BorderLayout" } ], "region" : "center", "title" : "Application Words", "xtype" : "NestedLayoutPanel" } ], "modOrder" : "950", "name" : "Pman.Tab.AdminTranslations", "parent" : "Pman.Tab.AdminTranslationsInt", "path" : "/home/leon/gitlive/web.MediaOutreach/Pman/Admin/Pman.Tab.AdminTranslations.bjs", "permname" : "Admin.Translations", "strings" : { "03c2e7e41ffc181a4e84080b4710e81e" : "New", "07a1d316d1065473f290c3c2b72a80f3" : "Application Words", "0a52da7a03a6de3beefe54f8c03ad80d" : "Original", "193cfc9be3b995831c6af2fea6650e60" : "Page", "1bc29b36f623ba82aaf6724fd3b16718" : "md5", "4d1c8263ba1036754f8db14a98f9f006" : "Reload", "69fd71b6f79260924a32a45850a13ab7" : "Translations (rescan this to update strings)", "6dd08874f83507e9c7b23f1a46b7fa7c" : "Translation", "801ab24683a4a8c433c6eb40c48bcd9d" : "Download", "91412465ea9169dfd901dd5e7c96dd99" : "Upload", "9d1ead73e678fa2f51a70a933b0bf017" : "Not Found", "cd6ae20e52d83f601c5fa12b66f0f6d0" : "Rescan", "e2f9d206562d8f5ea421ad51100f7151" : "Displaying petition_entry{0} - {1} of {2}", "e3d388b2c43e5ba0905702620ae2abc1" : "Search for", "f2a6c498fb90ee345d997f888fce3b18" : "Delete" }, "title" : "Admin - Translations" }