From 6c2637d973a8887bdccf4cdbd15e30643605c576 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 24 Dec 2012 15:03:19 +0400 Subject: move data import/export to a separate plugin --- plugins/import_export/import_export.js | 123 +++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 plugins/import_export/import_export.js (limited to 'plugins/import_export/import_export.js') diff --git a/plugins/import_export/import_export.js b/plugins/import_export/import_export.js new file mode 100644 index 000000000..b3b760f15 --- /dev/null +++ b/plugins/import_export/import_export.js @@ -0,0 +1,123 @@ +function exportData() { + try { + + var query = "backend.php?op=pluginhandler&plugin=import_export&method=exportData"; + + if (dijit.byId("dataExportDlg")) + dijit.byId("dataExportDlg").destroyRecursive(); + + var exported = 0; + + dialog = new dijit.Dialog({ + id: "dataExportDlg", + title: __("Export Data"), + style: "width: 600px", + prepare: function() { + + notify_progress("Loading, please wait..."); + + new Ajax.Request("backend.php", { + parameters: "?op=pluginhandler&plugin=import_export&method=exportrun&offset=" + exported, + onComplete: function(transport) { + try { + var rv = JSON.parse(transport.responseText); + + if (rv && rv.exported != undefined) { + if (rv.exported > 0) { + + exported += rv.exported; + + $("export_status_message").innerHTML = + " " + + "Exported %d articles, please wait...".replace("%d", + exported); + + setTimeout('dijit.byId("dataExportDlg").prepare()', 2000); + + } else { + + $("export_status_message").innerHTML = + __("Finished, exported %d articles. You can download the data here.") + .replace("%d", exported) + .replace("%u", "backend.php?op=pluginhandler&plugin=import_export&subop=exportget"); + + exported = 0; + + } + + } else { + $("export_status_message").innerHTML = + "Error occured, could not export data."; + } + } catch (e) { + exception_error("exportData", e, transport.responseText); + } + + notify(''); + + } }); + + }, + execute: function() { + if (this.validate()) { + + + + } + }, + href: query}); + + dialog.show(); + + + } catch (e) { + exception_error("exportData", e); + } +} + +function dataImportComplete(iframe) { + try { + if (!iframe.contentDocument.body.innerHTML) return false; + + Element.hide(iframe); + + notify(''); + + if (dijit.byId('dataImportDlg')) + dijit.byId('dataImportDlg').destroyRecursive(); + + var content = iframe.contentDocument.body.innerHTML; + + dialog = new dijit.Dialog({ + id: "dataImportDlg", + title: __("Data Import"), + style: "width: 600px", + onCancel: function() { + + }, + content: content}); + + dialog.show(); + + } catch (e) { + exception_error("dataImportComplete", e); + } +} + +function importData() { + + var file = $("export_file"); + + if (file.value.length == 0) { + alert(__("Please choose the file first.")); + return false; + } else { + notify_progress("Importing, please wait...", true); + + Element.show("data_upload_iframe"); + + return true; + } +} + + -- cgit v1.2.3