//@include lib_Class.js //@include lib_sol.dev.BuildPackages.js /** * Build packages * * @author MW, ELO Digital Office GmbH * @version 1.0 * * @elojc */ sol.define("sol.dev.jc.BuildPackages", { defaultExportDirPath: "d:/eloinst", initialize: function (config) { var me = this; me.$super("sol.Base", "initialize", [config]); }, execute: function () { var me = this, objIds = [], view, packageElements, packageElement, exportDirPath, builder; view = workspace.activeView; if (!(view instanceof ArchiveViewAdapter)) { return; } workspace.setWaitCursor(); packageElements = view.allSelected; while (packageElements.hasMoreElements()) { packageElement = packageElements.nextElement(); objIds.push(packageElement.id); } if (sol.common.FileUtils.exists(me.defaultExportDirPath)) { exportDirPath = me.defaultExportDirPath; } else { exportDirPath = sol.common.jc.CommonDialogs.showSaveDialog({ title: me.getText("dev.setupBuilder.saveDialog.title"), directoriesOnly: true }); } if (!exportDirPath) { workspace.setNormalCursor(); return; } builder = sol.create("sol.dev.BuildPackages", { objIds: objIds, transport: me.transport, exportDirPath: exportDirPath }); builder.execute(); workspace.setNormalCursor(); workspace.setStatusMessage(""); workspace.setFeedbackMessage(me.getText("sol.dev.SetupBuilder.msgCreated").replace("{0}", exportDirPath)); }, /** * @private * Helper function to get a localized text of a specific key. * @param {String} key Key for the text constant. * @return {String} Localized text constant. */ getText: function (key) { return String(utils.getText("sol.dev.client", key)); } });