![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol-form/js/flexformeditor/FlexFormEditorCmd.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _PluginManager = _interopRequireDefault(require("../core/PluginManager")); var _R = _interopRequireDefault(require("../R")); var _FormPreview = require("../editor/FormPreview"); var _FCore = _interopRequireWildcard(require("../core/FCore")); var _safeThrow = _interopRequireDefault(require("absol/src/Code/safeThrow")); var _utils = require("absol-acomp/js/utils"); var _FileSaver = require("absol/src/Network/FileSaver"); var _generator = require("absol/src/JSMaker/generator"); var _SBIdentifierInput = require("../sclang/dom/SBIdentifierInput"); var _Toast = _interopRequireDefault(require("absol-acomp/js/Toast")); var _Snackbar = _interopRequireDefault(require("absol-acomp/js/Snackbar")); /** * @type {FlexFormEditor||Object} */ var FlexFormEditorCmd = {}; FlexFormEditorCmd.save = function () { var task = this.getContext(_R.default.TASK); if (task) _PluginManager.default.exec(this, _R.default.PLUGINS.SAVE_CONTENT_DATA, task.bundle); this.notifySaved(); }; FlexFormEditorCmd.saveAs = function () { var task = this.formEditor.getEditorHolderByEditor(this); if (task) _PluginManager.default.exec(this, _R.default.PLUGINS.SAVE_AS_CONTENT_DATA, task.bundle); this.notifySaved(); }; FlexFormEditorCmd.saveAsSystem = function () { var task = this.formEditor.getEditorHolderByEditor(this); if (task) _PluginManager.default.exec(this, _R.default.PLUGINS.SAVE_AS_SYSTEM, task.bundle); this.notifySaved(); }; FlexFormEditorCmd.importFromJson = function () { var self = this; (0, _utils.openFileDialog)({ accept: 'application/JSON' }).then(function (files) { if (!files || files.length === 0) return; var file = files[0]; var reader = new FileReader(); reader.onload = function () { try { var data = (0, _generator.replaceDateStringJSVariable)(JSON.parse(reader.result)); if (data.app === _R.default.APP) { self.setData(data); self.notifyUnsaved(); } else { console.error('Invalid data!'); } } catch (error) { (0, _safeThrow.default)(error); } }; reader.readAsText(file); }); }; FlexFormEditorCmd.export2Json = function () { var fileName = 'exported.json'; var formEditor = this.getContext(_R.default.FORM_EDITOR); var tabHolder; if (formEditor) { tabHolder = formEditor.getEditorHolderByEditor(this); console.log(tabHolder); fileName = tabHolder.name.replace(/[\\\/\.\?]/g, '_') + '.json'; } if (formEditor.options.downloadPrefixFileName) { fileName = formEditor.options.downloadPrefixFileName + fileName; } var text = JSON.stringify(Object.assign(this.getData(), { app: _R.default.APP, version: _R.default.VERSION }), null, ' '); var fileType = 'json'; var blob = new Blob([text], { type: fileType, encoding: "UTF-8" }); (0, _FileSaver.saveAs)(blob, fileName); }; FlexFormEditorCmd.export2sharpEncode = function () { if (!window.EncodingClass) return; var fileName = 'exported.txt'; var formEditor = this.getContext(_R.default.FORM_EDITOR); if (formEditor) { var tabHolder = formEditor.getEditorHolderByEditor(this); fileName = tabHolder.name.replace(/[\\\/\.\?]/g, '_') + '.txt'; } if (formEditor.options.downloadPrefixFileName) { fileName = formEditor.options.downloadPrefixFileName + fileName; } var text = window.EncodingClass.string.fromVariable(Object.assign(this.getData(), { app: _R.default.APP, version: _R.default.VERSION }), null, ' '); (0, _FileSaver.saveTextAs)(text, fileName); }; FlexFormEditorCmd.export2clipboard = function () { var fileName = 'exported.json'; var formEditor = this.getContext(_R.default.FORM_EDITOR); if (formEditor) { var tabHolder = formEditor.getEditorHolderByEditor(this); fileName = tabHolder.name.replace(/[\\\/\.\?]/g, '_') + '.json'; } if (formEditor.options.downloadPrefixFileName) { fileName = formEditor.options.downloadPrefixFileName + fileName; } var text = (0, _generator.generateJSVariable)(Object.assign(this.getData(), { app: _R.default.APP, version: _R.default.VERSION }), null, ' '); navigator.clipboard.writeText(text).then(() => { _Snackbar.default.show("Copied JS to clipboard"); }); }; FlexFormEditorCmd.preview = function () { var launcher = this.getContext(_R.default.LAUNCHER); var task = this.getContext(_R.default.TASK); var bundle = { id: task.bundle.id + '_preview', name: task.bundle.name + '(Preview)' }; var previewTask = launcher.newTask(_FormPreview.FormPreviewTask, bundle); previewTask.mainFragment.setData(this.getData()); }; //todo: save variable in context var mqttClient; var deviceIdSync; FlexFormEditorCmd.linkToPhone = function () {}; FlexFormEditorCmd.remotePreview = function () { mqttClient = mqttClient || window.MQTT.connect('wss:absol.cf:9884'); this.$remotePreviewBtn = this.$remotePreviewBtn || (0, _FCore.$)('button[data-cmd-name="remotePreview"]', this.$view); deviceIdSync = deviceIdSync || (0, _SBIdentifierInput.openIdentifierInputDialog)(this.$remotePreviewBtn, '').then(result => { if (!result) return null; this.$remotePreviewBtn.title = "Connect to client: " + result; return result; }); deviceIdSync.then(result => { if (!result) { deviceIdSync = null; return; } var data = this.getData(); mqttClient.publish('rfp/' + result, JSON.stringify({ type: 'form', data: data }), err => { if (err) { _Toast.default.make({ props: { variant: 'error', htitle: "Send data error", disappearTimeout: 4000 }, child: { style: { padding: '5px' }, child: { text: err.message } } }); } }); }); }; var _default = FlexFormEditorCmd; exports.default = _default;