From 3ddaf2583bfc725a96c637f7b58d7a3aca3342b3 Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 23 Apr 2008 01:42:25 +0000 Subject: [PATCH] move the translation widget out to openils.widget git-svn-id: svn://svn.open-ils.org/ILS/trunk@9432 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/dojo/openils/I18N.js | 189 --------------------------- 1 file changed, 189 deletions(-) diff --git a/Open-ILS/web/js/dojo/openils/I18N.js b/Open-ILS/web/js/dojo/openils/I18N.js index a99fa41692..029ea78b3c 100644 --- a/Open-ILS/web/js/dojo/openils/I18N.js +++ b/Open-ILS/web/js/dojo/openils/I18N.js @@ -66,195 +66,6 @@ if(!dojo._hasResource["openils.I18N"]) { return obj_list; } -//---------------------------------------------------------------- - - dojo.declare( - 'openils.I18N.translationWidget', - [dijit._Widget, dijit._Templated], - { - - templateString : "
Translate
", - - widgetsInTemplate: true, - field : "", - targetObject : "", - unique : "" - } - ); - - openils.I18N.translationWidget.renderTranslationPopup = function (obj, field, num) { - var node = dojo.byId(field + '_translation_' + num); - - var trans_list = openils.I18N.getTranslations( obj, field ); - - var trans_template = dojo.query('.translation_tbody_template', node)[0]; - var trans_tbody = dojo.query('.translation_tbody', node)[0]; - - // Empty it - while (trans_tbody.lastChild) trans_tbody.removeChild( trans_tbody.lastChild ); - - for (var i in trans_list) { - if (!trans_list[i]) continue; - - var trans_obj = trans_list[i]; - var trans_id = trans_obj.id(); - - var trans_row = dojo.query('tr',trans_template)[0].cloneNode(true); - trans_row.id = 'translation_row_' + trans_id; - - var old_dijit = dijit.byId('locale_' + trans_id); - if (old_dijit) old_dijit.destroy(); - - old_dijit = dijit.byId('translation_' + trans_id); - if (old_dijit) old_dijit.destroy(); - - dojo.query('.locale_combobox',trans_row).instantiate( - dijit.form.ComboBox, - { store:openils.I18N.localeStore, - searchAttr:'locale', - lowercase:true, - required:true, - id:'locale_' + trans_id, - value: trans_obj.translation(), - invalidMessage:'Specify locale as {languageCode}_{countryCode}, like en_us', - regExp:'[a-z_]+' - } - ); - - dojo.query('.translation_textbox',trans_row).instantiate( - dijit.form.TextBox, - { required : true, - id:'translation_' + trans_id, - value: trans_obj.string() - } - ); - - dojo.query('.update_button',trans_row).style({ visibility : 'visible', display : 'inline'}).instantiate( - dijit.form.Button, - { onClick : - (function (trans_id, obj, field) { - return function () { openils.I18N.translationWidget.updateTranslation(trans_id, obj, field, num) } - })(trans_id, obj, field) - } - ); - - dojo.query('.delete_button',trans_row).style({ visibility : 'visible', display : 'inline'}).instantiate( - dijit.form.Button, - { onClick : - (function (trans_id, obj, field) { - return function () { openils.I18N.translationWidget.removeTranslation(trans_id, obj, field, num) } - })(trans_id, obj, field) - } - ); - - trans_tbody.appendChild( trans_row ); - } - - old_dijit = dijit.byId('i18n_new_locale_' + obj.classname + '.' + field + num); - if (old_dijit) old_dijit.destroy(); - - old_dijit = dijit.byId('i18n_new_translation_' + obj.classname + '.' + field + num); - if (old_dijit) old_dijit.destroy(); - - trans_row = dojo.query('tr',trans_template)[0].cloneNode(true); - - dojo.query('.locale_combobox',trans_row).instantiate( - dijit.form.ComboBox, - { store:openils.I18N.localeStore, - searchAttr:'locale', - id:'i18n_new_locale_' + obj.classname + '.' + field + num, - lowercase:true, - required:true, - invalidMessage:'Specify locale as {languageCode}_{countryCode}, like en_us', - regExp:'[a-z_]+' - } - ); - - dojo.query('.translation_textbox',trans_row).addClass('new_translation').instantiate( - dijit.form.TextBox, - { required : true, - id:'i18n_new_translation_' + obj.classname + '.' + field + num - } - ); - - dojo.query('.create_button',trans_row).style({ visibility : 'visible', display : 'inline'}).instantiate( - dijit.form.Button, - { onClick : function () { openils.I18N.translationWidget.createTranslation( obj, field, num) } } - ); - - trans_tbody.appendChild( trans_row ); - } - - openils.I18N.translationWidget.updateTranslation = function (trans_id, obj, field, num) { - return openils.I18N.translationWidget.changeTranslation('update', trans_id, obj, field, num); - } - - openils.I18N.translationWidget.removeTranslation = function (trans_id, obj, field, num) { - return openils.I18N.translationWidget.changeTranslation('delete', trans_id, obj, field, num); - } - - openils.I18N.translationWidget.changeTranslation = function (method, trans_id, obj, field, num) { - - var trans_obj = new i18n().fromHash({ - ischanged : method == 'update' ? 1 : 0, - isdeleted : method == 'delete' ? 1 : 0, - id : trans_id, - fq_field : obj.classname + '.' + field, - identity_value : obj.id(), - translation : dijit.byId('locale_' + trans_id).getValue(), - string : dijit.byId('translation_' + trans_id).getValue() - }); - - openils.I18N.translationWidget.writeTranslation(method, trans_obj, obj, field, num); - } - - openils.I18N.translationWidget.createTranslation = function (obj, field, num) { - var node = dojo.byId(field + '_translation_' + num); - - var trans_obj = new i18n().fromHash({ - isnew : 1, - fq_field : obj.classname + '.' + field, - identity_value : obj.id(), - translation : dijit.byId('i18n_new_locale_' + obj.classname + '.' + field + num).getValue(), - string : dijit.byId('i18n_new_translation_' + obj.classname + '.' + field + num).getValue() - }); - - openils.I18N.translationWidget.writeTranslation('create', trans_obj, obj, field, num); - } - - openils.I18N.translationWidget.writeTranslation = function (method, trans_obj, obj, field, num) { - - OpenSRF.CachedClientSession('open-ils.permacrud').request({ - method : 'open-ils.permacrud.' + method + '.i18n', - timeout: 10, - params : [ ses, trans_obj ], - onerror: function (r) { - //highlighter.editor_pane.red.play(); - if (status_update) status_update( 'Problem saving translation for ' + obj[field]() ); - }, - oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { - //highlighter.editor_pane.green.play(); - if (status_update) status_update( 'Saved changes to translation for ' + obj[field]() ); - - if (method == 'delete') { - dojo.NodeList(dojo.byId('translation_row_' + trans_obj.id())).orphan(); - } else if (method == 'create') { - var node = dojo.byId(field + '_translation_' + num); - dijit.byId('i18n_new_locale_' + obj.classname + '.' + field + num).setValue(null); - dijit.byId('i18n_new_translation_' + obj.classname + '.' + field + num).setValue(null); - openils.I18N.translationWidget.renderTranslationPopup(obj, field, num); - } - - } else { - //highlighter.editor_pane.red.play(); - if (status_update) status_update( 'Problem saving translation for ' + obj[field]() ); - } - }, - }).send(); - } - } -- 2.43.2