VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol-form__js__flexformeditor__FlexFormEditorCmd.js
/*** 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;

VaKeR 2022