// Auto generated file - created by app.Builder.js- do not edit directly (at present!)
+Roo.namespace('Pman.Tab');
+Pman.Tab.AdminTranslations = new Roo.XComponent({
-// register the module first
-Pman.on('beforeload', function()
-{
- Pman.register({
- modKey : '950-Pman.Tab.AdminTranslations',
- module : Pman.Tab.AdminTranslations,
- region : 'center',
- parent : Pman.Tab.Admin,
- name : "Admin - Translations",
- disabled : false,
- permname: 'Admin.Translations'
- });
-});
-
-Pman.Tab.AdminTranslations = new Roo.util.Observable({
-
- panel : false,
- disabled : false,
- parentLayout: false,
-
- add : function(parentLayout, region)
- {
-
- var _this = this;
- this.parentLayout = parentLayout;
+ _strings : {
+ '0a52da7a03a6de3beefe54f8c03ad80d' :"Original",
+ '69fd71b6f79260924a32a45850a13ab7' :"Translations (rescan this to update strings)",
+ '9d1ead73e678fa2f51a70a933b0bf017' :"Not Found",
+ '801ab24683a4a8c433c6eb40c48bcd9d' :"Download",
+ '6dd08874f83507e9c7b23f1a46b7fa7c' :"Translation",
+ '07a1d316d1065473f290c3c2b72a80f3' :"Application Words",
+ 'e3d388b2c43e5ba0905702620ae2abc1' :"Search for",
+ 'e2f9d206562d8f5ea421ad51100f7151' :"Displaying petition_entry{0} - {1} of {2}",
+ 'cd6ae20e52d83f601c5fa12b66f0f6d0' :"Rescan",
+ '91412465ea9169dfd901dd5e7c96dd99' :"Upload",
+ '4d1c8263ba1036754f8db14a98f9f006' :"Reload",
+ 'f2a6c498fb90ee345d997f888fce3b18' :"Delete",
+ '03c2e7e41ffc181a4e84080b4710e81e' :"New",
+ '193cfc9be3b995831c6af2fea6650e60' :"Page",
+ '1bc29b36f623ba82aaf6724fd3b16718' :"md5"
+ },
- this.panel = parentLayout.addxtype({
- xtype: 'NestedLayoutPanel',
- xns: Roo,
- region : 'center',
- title : "Translate App",
- layout : {
- xtype: 'BorderLayout',
- xns: Roo,
- items : [
- {
- xtype: 'GridPanel',
- xns: Roo,
- listeners : {
- activate : function() {
- _this.panel = this;
- if (_this.grid) {
- _this.grid.getDataSource().reload();
- }
- }
- },
- background : true,
- fitContainer : true,
- fitToframe : true,
- region : 'center',
- title : "Text in interface",
- grid : {
- xtype: 'EditorGrid',
- xns: Roo.grid,
- autoExpandColumn : 'txt',
- loadMask : true,
- listeners : {
- render : function() {
- _this.grid = this;
- //_this.dialog = Pman.Dialog.FILL_IN
- if (_this.panel.active) {
- _this.grid.getDataSource().reload();
- }
- },
- beforeedit : function(e) {
- console.log('beforeedit');
- //if (e.record.get('origtxt').indexOf('<') > -1) {
- // console.log("HTML EDITOR!!");
-
- // return false;
- //}
- if (e.record.get('txt').replace(/\s+/, '').length) {
- return true;
- }
- if (e.record.get('suggest').length) {
- e.record.set('txt', e.record.get('suggest'));
- // _this.saveRec(e.record);
- return;
- }
-
-
-
-
- var tl = e.record.get('id').split('/')[0];
-
- tl = (tl == 'zh_HK') ? 'zh-TW' : tl;
- tl = tl.replace('_', '-');
- var rec = e.record;
-
-
-
- Pman.gtranslate(e.record.get('origtxt'), 'en', tl, function(result) {
- if (typeof(result) == 'object') { //error
- return;
- }
-
- if (_this.grid.activeEditor) {
- _this.grid.activeEditor.setValue(result);
- } else {
- rec.set('txt',result);
- //_this.saveRec(rec);
- }
-
- //
-
-
- //console.log(result.translation);
- });
-
-
-
- return true;
- },
- afteredit : function (e)
- {
- var saveRec = function(rec)
- {
- var g = _this.grid;
-
- //g.getView().el.mask('Saving');
- Ext.Ajax.request({
- url : baseURL + '/Admin/Translations.php',
- method: 'POST',
- params : {
- id : rec.get('id'),
- txt : rec.get('txt'),
- lang : _this.langCombo.getValue(),
- module : _this.modCombo.getValue()
- },
- success : function()
- {
- //g.getView().el.unmask();
- //g.getDataSource().reload();
- },
- failure : function()
- {
- Ext.Msg.alert("Error", "There was a problem saving the data - try reloading");
- // g.getView().el.unmask();
- }
-
- });
- };
-
- saveRec.defer(1000, _this, [ e.record ]);
- }
- },
- clicksToEdit : 1,
- dataSource : {
- xtype: 'Store',
- xns: Roo.data,
- reader : Pman.Readers.Category,
- listeners : {
- beforeload : function (_self, opts)
- {
-
- if (!_this.langCombo || !_this.langCombo.getValue().length) {
- return false;
- }
- if (!_this.modCombo || !_this.modCombo.getValue().length) {
- return false;
- }
- opts.params = {
- lang : _this.langCombo.getValue(),
- module : _this.modCombo.getValue()
- };
- }
- },
- proxy : {
- xtype: 'HttpProxy',
- xns: Roo.data,
- method : 'GET',
- url : baseURL + '/Admin/Translations.php'
- },
- reader : {
- xtype: 'JsonReader',
- xns: Roo.data,
- root : 'data',
- totalProperty : 'total',
- id : 'id',
- fields : [ 'id', 'tablename', 'tableid', 'colname', 'txt', 'lang', { name:'updated', type:'date', dateFormat: 'Y-m-d H:i:s' }, { name:'origupdated', type:'date', dateFormat: 'Y-m-d H:i:s' }, 'origtxt', 'msum', 'suggest' ]
- }
- },
- toolbar : {
- xtype: 'Toolbar',
- xns: Roo,
- items : [
- {
- xtype: 'ComboBox',
- xns: Roo.form,
- listeners : {
- render : function (_self)
- {
- _this.modCombo = _self;
- },
- select : function (combo, record, index)
- {
- _this.grid.getDataSource().reload();
- }
- },
- valueField : 'module',
- displayField : 'module',
- width : 200,
- typeAhead : false,
- editable : false,
- mode : 'local',
- triggerAction : 'all',
- emptyText : "Select Module",
- selectOnFocus : true,
- store : {
- xtype: 'SimpleStore',
- xns: Roo.data,
- fields : ['module'],
- data : (function() { var modlist = []; Roo.each( AppModules.split(','), function(mod) {
- modlist.push( [ mod ] ); }); return modlist; })()
- }
- },
- {
- xtype: 'ComboBox',
- xns: Roo.form,
- listeners : {
- select : function (combo, record, index)
- {
- _this.grid.getDataSource().reload();
- },
- render : function (_self)
- {
- _this.langCombo=_self;
- }
- },
- valueField : 'lang',
- displayField : 'ldisp',
- width : 200,
- typeAhead : false,
- editable : false,
- mode : 'local',
- triggerAction : 'all',
- emptyText : "Select Language",
- selectOnFocus : true,
- store : {
- xtype: 'SimpleStore',
- xns: Roo.data,
- fields : ['lang', 'ldisp'],
- data : [ [ 'zh_HK' , '\u7E41\u4E2D - Trad. Chin. (HK)' ], [ 'zh_CN', '\u7C21\u4E2D - Simp. Chin.' ] ]
- }
- }
- ]
- },
- colModel : [
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Name',
- width : 150,
- dataIndex : 'colname',
- renderer : function(v,x,r) { var c = '#666'; if (r.get('updated') < r.get('origupdated')) { c = 'red'; } return '<div style="color:'+c+'";>' +r.get('tableid')+ ':' + v + '</div>'; }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Original',
- width : 300,
- dataIndex : 'origtxt',
- renderer : function(v,x,r) { var c = '#666'; if (r.get('updated') < r.get('origupdated')) { c = 'red'; } return '<div style="color:' + c+ '">' + Ext.util.Format.htmlEncode(v) + '</div>'; }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Translated (Click to Edit)',
- width : 150,
- dataIndex : 'txt',
- renderer : function(v,x,r) { var c = '#666'; if (r.get('updated') < r.get('origupdated')) { c = 'red'; } return '<div style="color:' + c+ '">' + Ext.util.Format.htmlEncode(v) + '</div>'; },
- editor : {
- xtype: 'GridEditor',
- xns: Roo.grid,
- field : {
- xtype: 'TextField',
- xns: Roo.form
- }
- }
- }
- ]
- }
- },
- {
- xtype: 'GridPanel',
- xns: Roo,
- listeners : {
- activate : function() {
- _this.langpanel = this;
- if (_this.langgrid) {
- _this.langgrid.ds.load({});
- }
- }
- },
- background : true,
- fitContainer : true,
- fitToframe : true,
- region : 'center',
- tableName : 'i18n',
- title : "i18n",
- grid : {
- xtype: 'Grid',
- xns: Roo.grid,
- listeners : {
- render : function()
- {
- _this.langgrid = this;
- //_this.dialog = Pman.Dialog.FILL_IN
- if (_this.langpanel.active) {
- this.ds.load({});
- }
- },
- rowdblclick : function (_self, rowIndex, e)
- {
- if (!_this.dialog) return;
- _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
- _this.grid.footer.onClick('first');
- });
- }
- },
- autoExpandColumn : 'ltype',
- loadMask : true,
- dataSource : {
- xtype: 'Store',
- xns: Roo.data,
- remoteSort : true,
- sortInfo : { field : 'ltype', direction: 'ASC' },
- proxy : {
- xtype: 'HttpProxy',
- xns: Roo.data,
- method : 'GET',
- url : baseURL + '/Roo/i18n.php'
- },
- reader : {
- xtype: 'JsonReader',
- xns: Roo.data,
- totalProperty : 'total',
- root : 'data',
- id : 'id',
- fields : [
- {
- 'name': 'id',
- 'type': 'int'
- },
- {
- 'name': 'ltype',
- 'type': 'string'
- },
- {
- 'name': 'lkey',
- 'type': 'string'
- },
- {
- 'name': 'inlang',
- 'type': 'string'
- },
- {
- 'name': 'lval',
- 'type': 'string'
- }
- ]
- }
- },
- footer : {
- xtype: 'PagingToolbar',
- xns: Roo,
- pageSize : 25,
- displayInfo : true,
- displayMsg : "Displaying i18n{0} - {1} of {2}",
- emptyMsg : "No i18n found"
- },
- toolbar : {
- xtype: 'Toolbar',
- xns: Roo,
- items : [
- {
- xtype: 'Button',
- xns: Roo.Toolbar,
- text : "Add",
- cls : 'x-btn-text-icon',
- icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
- listeners : {
- click : function()
- {
- if (!_this.dialog) return;
- _this.dialog.show( { id : 0 } , function() {
- _this.grid.footer.onClick('first');
- });
- }
- }
- },
- {
- xtype: 'Button',
- xns: Roo.Toolbar,
- text : "Edit",
- cls : 'x-btn-text-icon',
- icon : Roo.rootURL + 'images/default/tree/leaf.gif',
- listeners : {
- click : function()
- {
- var s = _this.grid.getSelectionModel().getSelections();
- if (!s.length || (s.length > 1)) {
- Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
- return;
- }
- if (!_this.dialog) return;
- _this.dialog.show(s[0].data, function() {
- _this.grid.footer.onClick('first');
- });
-
- }
- }
- },
- {
- xtype: 'Button',
- xns: Roo.Toolbar,
- text : "Delete",
- cls : 'x-btn-text-icon',
- icon : rootURL + '/Pman/templates/images/trash.gif',
- listeners : {
- click : function()
- {
- Pman.genericDelete(_this, 'i18n');
- }
- }
- }
- ]
- },
- colModel : [
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Id',
- width : 75,
- dataIndex : 'id',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Ltype',
- width : 200,
- dataIndex : 'ltype',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Lkey',
- width : 200,
- dataIndex : 'lkey',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Inlang',
- width : 200,
- dataIndex : 'inlang',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Lval',
- width : 200,
- dataIndex : 'lval',
- renderer : function(v) { return String.format('{0}', v); }
- }
- ]
- }
- }
- ],
- center : {
- xtype: 'LayoutRegion',
- xns: Roo,
- alwaysShowTabs : true,
- tabPosition : 'top'
- }
+ part : ["Admin", "Translations" ],
+ order : '950-Pman.Tab.AdminTranslations',
+ region : 'center',
+ parent : 'Pman.Tab.AdminTranslationsInt',
+ name : "Admin - Translations",
+ disabled : false,
+ permname : 'Admin.Translations',
+ _tree : function(_data)
+ {
+ var _this = this;
+ var MODULE = this;
+ return {
+ xtype : 'NestedLayoutPanel',
+ region : 'center',
+ title : _this._strings['07a1d316d1065473f290c3c2b72a80f3'] /* Application Words */,
+ xns : Roo,
+ '|xns' : 'Roo',
+ layout : {
+ xtype : 'BorderLayout',
+ xns : Roo,
+ '|xns' : 'Roo',
+ center : {
+ xtype : 'LayoutRegion',
+ xns : Roo,
+ '|xns' : 'Roo'
+ },
+ west : {
+ xtype : 'LayoutRegion',
+ split : true,
+ width : 450,
+ xns : Roo,
+ '|xns' : 'Roo'
+ },
+ items : [
+ {
+ xtype : 'TreePanel',
+ region : 'west',
+ listeners : {
+ render : function (_self)
+ {
+ _this.treepanel = _self;
+ }
+ },
+ xns : Roo,
+ '|xns' : 'Roo',
+ toolbar : {
+ xtype : 'Toolbar',
+ xns : Roo,
+ '|xns' : 'Roo',
+ items : [
+ {
+ xtype : 'Button',
+ text : _this._strings['03c2e7e41ffc181a4e84080b4710e81e'] /* New */,
+ 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();
+ }
+ });
+
+ });
+
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Separator',
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ text : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
+ 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;
+
+
+
+
+ });
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Separator',
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ text : _this._strings['cd6ae20e52d83f601c5fa12b66f0f6d0'] /* Rescan */,
+ 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;
+ }
+
+
+
+
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Fill',
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ text : _this._strings['91412465ea9169dfd901dd5e7c96dd99'] /* Upload */,
+ listeners : {
+ click : function (_self, e)
+ {
+
+
+ Pman.Dialog.Image.show({
+ _url : baseURL + '/Admin/Import/Core_templatestr'
+
+ }, function() {
+ _this.treepanel.tree.getRootNode().reload();
+ });
+
+
+
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Fill',
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ text : _this._strings['801ab24683a4a8c433c6eb40c48bcd9d'] /* Download */,
+ 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,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,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'
+ });
+
+
+
+
+
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Separator',
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ text : _this._strings['4d1c8263ba1036754f8db14a98f9f006'] /* Reload */,
+ listeners : {
+ click : function (_self, e)
+ {
+ _this.treepanel.tree.getRootNode().reload();
+
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ }
+ ]
+ },
+ tree : {
+ xtype : 'TreePanel',
+ containerScroll : false,
+ rootVisible : true,
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree',
+ root : {
+ xtype : 'AsyncTreeNode',
+ id : 'transtree',
+ text : _this._strings['69fd71b6f79260924a32a45850a13ab7'] /* Translations (rescan this to update strings) */,
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree'
+ },
+ selModel : {
+ xtype : 'DefaultSelectionModel',
+ listeners : {
+ selectionchange : function (_self, node)
+ {
+ Roo.log(node);
+
+ //if (node.id.split('/').length < 2) {
+ // return;
+ // }
+ (function() {
+ _this.grid.footer.onClick('first');
+ }).defer(100);
+
+ }
+ },
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree'
+ },
+ loader : {
+ xtype : 'TreeLoader',
+ baseParams : { _tree : 1 },
+ dataUrl : baseURL + '/Roo/Core_templatestr',
+ requestMethod : 'GET',
+ 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");
+ }
+ },
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree'
+ }
+ }
+ },
+ {
+ xtype : 'GridPanel',
+ background : false,
+ fitContainer : true,
+ fitToframe : true,
+ region : 'center',
+ tableName : 'Page',
+ title : _this._strings['193cfc9be3b995831c6af2fea6650e60'] /* Page */,
+ listeners : {
+ activate : function() {
+ _this.panel = this;
+ if (_this.grid) {
+ _this.grid.footer.onClick('first');
}
- });
- this.layout = this.panel.layout;
-
- }
+ }
+ },
+ xns : Roo,
+ '|xns' : 'Roo',
+ grid : {
+ xtype : 'EditorGrid',
+ autoExpandColumn : 'txt',
+ clicksToEdit : 1,
+ loadMask : true,
+ 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');
+ });
+ }
+ },
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid',
+ footer : {
+ xtype : 'PagingToolbar',
+ displayInfo : true,
+ displayMsg : _this._strings['e2f9d206562d8f5ea421ad51100f7151'] /* Displaying petition_entry{0} - {1} of {2} */,
+ emptyMsg : _this._strings['9d1ead73e678fa2f51a70a933b0bf017'] /* Not Found */,
+ pageSize : 100,
+ xns : Roo,
+ '|xns' : 'Roo'
+ },
+ toolbar : {
+ xtype : 'Toolbar',
+ xns : Roo,
+ '|xns' : 'Roo',
+ items : [
+ {
+ xtype : 'TextField',
+ emptyText : _this._strings['e3d388b2c43e5ba0905702620ae2abc1'] /* Search for */,
+ listeners : {
+ render : function (_self)
+ {
+ _this.searchBox = this;
+ },
+ specialkey : function (_self, e)
+ {
+ _this.grid.footer.onClick('first');
+ }
+ },
+ xns : Roo.form,
+ '|xns' : 'Roo.form'
+ },
+ {
+ xtype : 'Button',
+ cls : 'x-btn-icon',
+ icon : rootURL + '/Pman/templates/images/search.gif',
+ listeners : {
+ click : function (_self, e)
+ {
+ _this.grid.footer.onClick('first');
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ cls : 'x-btn-icon',
+ icon : rootURL + '/Pman/templates/images/edit-clear.gif',
+ listeners : {
+ click : function (_self, e)
+ {
+ _this.searchBox.setValue('');
+
+ _this.grid.footer.onClick('first');
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ }
+ ]
+ },
+ dataSource : {
+ xtype : 'Store',
+ remoteSort : true,
+ sortInfo : { field : 'src_id_txt', direction: 'ASC' },
+ 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");
+ }
+
+ });
+
+ }
+ },
+ xns : Roo.data,
+ '|xns' : 'Roo.data',
+ proxy : {
+ xtype : 'HttpProxy',
+ method : 'GET',
+ url : baseURL + '/Roo/Core_templatestr.php',
+ xns : Roo.data,
+ '|xns' : 'Roo.data'
+ },
+ reader : {
+ xtype : 'JsonReader',
+ fields : [
+ {
+ 'name': 'id',
+ 'type': 'int'
+ },
+ {
+ 'name': 'shortname',
+ 'type': 'string'
+ }
+
+ ],
+ id : 'id',
+ root : 'data',
+ totalProperty : 'total',
+ xns : Roo.data,
+ '|xns' : 'Roo.data'
+ }
+ },
+ cm : [
+ {
+ xtype : 'ColumnModel',
+ dataIndex : 'src_id_txt',
+ header : _this._strings['0a52da7a03a6de3beefe54f8c03ad80d'] /* Original */,
+ renderer : function(v,x,r)
+ {
+ var c = '#666';
+ if (r.data.updated < r.data.src_id_updated) {
+ c = 'red';
+ }
+
+ return String.format('<div style="color:'+c+'";>{0}</div>', v)
+
+ },
+ width : 300,
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid'
+ },
+ {
+ xtype : 'ColumnModel',
+ dataIndex : 'txt',
+ header : _this._strings['6dd08874f83507e9c7b23f1a46b7fa7c'] /* Translation */,
+ renderer : function(v,x,r)
+ {
+
+ var c = '#666';
+ if (r.data.updated < r.data.src_id_updated) {
+ c = 'red';
+ }
+
+ return String.format('<div style="color:'+c+'";>{0}</div>', v)
+
+ },
+ width : 200,
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid',
+ editor : {
+ xtype : 'GridEditor',
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid',
+ field : {
+ xtype : 'TextField',
+ allowBlank : false,
+ xns : Roo.form,
+ '|xns' : 'Roo.form'
+ }
+ }
+ },
+ {
+ xtype : 'ColumnModel',
+ dataIndex : 'src_id_mdsum',
+ header : _this._strings['1bc29b36f623ba82aaf6724fd3b16718'] /* md5 */,
+ hidden : true,
+ renderer : function(v,x,r)
+ {
+ return v ? v : '';
+
+ },
+ width : 250,
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid'
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }; }
});