function addInstance() { try { var query = "backend.php?op=pluginhandler&plugin=instances&method=addInstance"; if (dijit.byId("instanceAddDlg")) dijit.byId("instanceAddDlg").destroyRecursive(); dialog = new dijit.Dialog({ id: "instanceAddDlg", title: __("Link Instance"), style: "width: 600px", regenKey: function() { new Ajax.Request("backend.php", { parameters: "op=pluginhandler&plugin=instances&method=genHash", onComplete: function(transport) { var reply = JSON.parse(transport.responseText); if (reply) dijit.byId('instance_add_key').attr('value', reply.hash); } }); }, execute: function() { if (this.validate()) { console.warn(dojo.objectToQuery(this.attr('value'))); notify_progress('Saving data...', true); new Ajax.Request("backend.php", { parameters: dojo.objectToQuery(this.attr('value')), onComplete: function(transport) { dialog.hide(); notify(''); updateInstanceList(); } }); } }, href: query, }); dialog.show(); } catch (e) { exception_error("addInstance", e); } } // *** INS *** function updateInstanceList(sort_key) { new Ajax.Request("backend.php", { parameters: "op=pluginhandler&plugin=instances&sort=" + param_escape(sort_key), onComplete: function(transport) { dijit.byId('instanceConfigTab').attr('content', transport.responseText); selectTab("instanceConfig", true); notify(""); } }); } function editInstance(id, event) { try { if (!event || !event.ctrlKey) { selectTableRows('prefInstanceList', 'none'); selectTableRowById('LIRR-'+id, 'LICHK-'+id, true); var query = "backend.php?op=pluginhandler&plugin=instances&method=edit&id=" + param_escape(id); if (dijit.byId("instanceEditDlg")) dijit.byId("instanceEditDlg").destroyRecursive(); dialog = new dijit.Dialog({ id: "instanceEditDlg", title: __("Edit Instance"), style: "width: 600px", regenKey: function() { new Ajax.Request("backend.php", { parameters: "op=pluginhandler&plugin=instances&method=genHash", onComplete: function(transport) { var reply = JSON.parse(transport.responseText); if (reply) dijit.byId('instance_edit_key').attr('value', reply.hash); } }); }, execute: function() { if (this.validate()) { // console.warn(dojo.objectToQuery(this.attr('value'))); notify_progress('Saving data...', true); new Ajax.Request("backend.php", { parameters: dojo.objectToQuery(this.attr('value')), onComplete: function(transport) { dialog.hide(); notify(''); updateInstanceList(); } }); } }, href: query, }); dialog.show(); } else if (event.ctrlKey) { var cb = $('LICHK-' + id); cb.checked = !cb.checked; toggleSelectRow(cb); } } catch (e) { exception_error("editInstance", e); } } function removeSelectedInstances() { try { var sel_rows = getSelectedInstances(); if (sel_rows.length > 0) { var ok = confirm(__("Remove selected instances?")); if (ok) { notify_progress("Removing selected instances..."); var query = "op=pluginhandler&plugin=instances&method=remove&ids="+ param_escape(sel_rows.toString()); new Ajax.Request("backend.php", { parameters: query, onComplete: function(transport) { notify(''); updateInstanceList(); } }); } } else { alert(__("No instances are selected.")); } } catch (e) { exception_error("removeInstance", e); } } function editSelectedInstance() { var rows = getSelectedInstances(); if (rows.length == 0) { alert(__("No instances are selected.")); return; } if (rows.length > 1) { alert(__("Please select only one instance.")); return; } notify(""); editInstance(rows[0]); } function getSelectedInstances() { return getSelectedTableRowIds("prefInstanceList"); }