dojo.require('openils.PermaCrud');
dojo.require('dojo.parser');
dojo.require('dojo.string');
-dojo.require('dojo.cookie');
dojo.require('dojo.data.ItemFileWriteStore');
+dojo.require('dojo.cookie');
dojo.require('dijit.form.TextBox');
dojo.require('dijit.form.ValidationTextBox');
dojo.require('dijit.form.Textarea');
+
dojo.require('dijit.layout.ContentPane');
dojo.require('dijit.layout.LayoutContainer');
dojo.require('dijit.layout.BorderContainer');
dojo.require('dojox.fx');
dojo.require('openils.XUL');
dojo.require("dojox.grid.cells.dijit");
-dojo.require("dojo.data.ItemFileWriteStore");
dojo.require('dojox.grid.DataGrid');
dojo.requireLocalization("openils.conify", "conify");
}
var pCRUD = new openils.PermaCrud({authtoken : ses});
-var ppl_strings = dojo.i18n.getLocalization('openils.conify', 'conify');
-
var current_perm;
var virgin_out_id = -1;
-var highlighter = {};
-
+var ppl_strings = dojo.i18n.getLocalization('openils.conify', 'conify');
-dojo.addOnLoad(function()
-{
- highlighter.green = dojox.fx.highlight( { color : '#B4FFB4', node : 'perm_grid', duration : 500 } );
- highlighter.red = dojox.fx.highlight( { color : '#FF2018', node : 'perm_grid', duration : 500 } );
-});
+var highlighter = {};
function status_update (markup) {
if (parent !== window && parent.status_update) parent.status_update( markup );
pCRUD.update(modified_ppl, {
onerror : function (r) {
highlighter.red.play();
- status_update( dojo.string.substitute(ppl_strings.ERROR_SAVING_DATA, [perm_store.getValue(current_perm, 'code')]) );
+ status_update( dojo.string.substitute(ppl_strings.ERROR_SAVING_DATA, [current_perm.code]) );
},
oncomplete : function (r) {
perm_store.setValue( current_perm, 'ischanged', 0 );
var confirmation = true;
- if (event && dirtyStore.length > 0) {
+ if (event && window.dirtyStore.length > 0) {
confirmation = confirm( ppl_strings.CONFIRM_EXIT_PPL );
}
this.setValue( item, 'ischanged', 1);
};
+function getTranslationFormat(r, row, grid)
+{
+ if (!window.perm_rows) window.perm_rows = [];
+ if (r) {
+ window.perm_rows[row] = new ccs().fromHash(r);
+ console.log(window.perm_rows[row]);
-var perm_grid_layout = [
- { cells : [
- [
- { name : ppl_strings.LABEL_CODE, field : "code", width : "300px", rowSpan : "2", editable : true },
- { name : ppl_strings.LABEL_DESCRIPTION, field : "description", width : "auto", style : "minHeight:1em;", editable : true }
- ],
- [
- { name : ppl_strings.LABEL_TRANSLATION,
- width : "10em",
- height : "2em",
- formatter : function (value, row) {
-
- var r = perm_grid.getItem(row);
- if (r) {
- perm_rows[row] = new ccs().fromHash(r);
- }
- var pop = new openils.widget.TranslatorPopup({field:"description", targetObject:"window.perm_rows["+row+"]"});
- pop._destroyOnRemove = true;
- return pop;
- //return '<span class="perm_grid_trans_desc_'+value+'"></span>';
- }/**,
- get : function (row) {
- console.log("row",row);
- var r = perm_grid.getItem(row);
- if (r) {
- perm_rows[row] = new ccs().fromHash(r);
- setTimeout(
- 'dojo.query(".perm_grid_trans_desc_' + row + '").'+
- 'instantiate(openils.widget.TranslatorPopup,{field:"description",'+
- 'targetObject:"window.perm_rows['+row+']"});'+
- 'perm_grid.rowHeightChanged('+row+')',
- 0
- );
- var oldnode = dojo.byId('description_translation_' + row);
- if (oldnode) dijit.byNode(oldnode).destroyRecursive();
- return row;
- }
- return '';
- }**/
- }
- ]
- ]
+ var tp = new openils.widget.TranslatorPopup({field:"code", targetObject:"window.perm_rows["+row+"]"});
+ tp._destroyOnRemove=true;
+
+ return tp;
}
-];
+}
+
+
+var perm_grid_layout = [[
+ { name : ppl_strings.LABEL_CODE, field : "code", width : "300px", editable : true },
+ { name : ppl_strings.LABEL_DESCRIPTION, field : "description", width : "auto", style : "minHeight:1em;", editable : true },
+ { name : ppl_strings.LABEL_TRANSLATION,
+ width : "10em",
+ height : "2em",
+ field:"_item", formatter: getTranslationFormat,
+ editable: true
+ }
+]];
dojo.addOnUnload( function (event) {
perm_store.fetch({
query : { ischanged : 1 },
- onItem : function (item, req) { try { if (this.isItem( item )) dirtyStore.push( item ); } catch (e) { /* meh */ } },
+ onItem : function (item, req) { try { if (this.isItem( item )) window.dirtyStore.push( item ); } catch (e) { /* meh */ } },
scope : perm_store
});
- if (dirtyStore.length > 0) {
+ if (window.dirtyStore.length > 0) {
var confirmation = confirm(ppl_strings.CONFIRM_EXIT_PPL);
if (confirmation) {
- for (var i in dirtyStore) {
- current_perm = dirtyStore[i];
+ for (var i in window.dirtyStore) {
+ current_perm = window.dirtyStore[i];
save_perm(true);
}
}
function saveNewPermCode()
{
-var new_code = new_perm_code.getValue();
+ var new_code = new_perm_code.getValue();
if (!new_code) return;
var new_fm_obj = new ppl().fromHash({
}
}
}
+
+
+dojo.addOnLoad(function()
+{
+ highlighter.green = dojox.fx.highlight( { color : '#B4FFB4', node : 'perm_grid', duration : 500 } );
+ highlighter.red = dojox.fx.highlight( { color : '#FF2018', node : 'perm_grid', duration : 500 } );
+});