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__launcher__FExplorer.js
/*** module: node_modules/absol-form/js/launcher/FExplorer.js ***/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _FCore = _interopRequireWildcard(require("../core/FCore"));

var _OOP = _interopRequireDefault(require("absol/src/HTML5/OOP"));

require("../../css/explorer.css");

var _R = _interopRequireDefault(require("../R"));

var _ExpTree = _interopRequireDefault(require("absol-acomp/js/ExpTree"));

var _utils = require("absol-acomp/js/utils");

var _QuickMenu = _interopRequireDefault(require("absol-acomp/js/QuickMenu"));

var _EventEmitter = require("absol/src/HTML5/EventEmitter");

var _FFloatWindow = _interopRequireDefault(require("./FFloatWindow"));




/***
 * @extends Fragment
 * @constructor
 */
function FExplorer() {
  _FFloatWindow.default.call(this);

  this.savedState = {};
}

_OOP.default.mixClass(FExplorer, _FFloatWindow.default);

FExplorer.prototype.windowTitle = 'Explorer';

FExplorer.prototype.createView = function () {
  this.$view = (0, _FCore._)({
    class: 'af-explore',
    child: [{
      class: 'af-explore-title-bar',
      child: {
        class: 'as-form-editor-quick-toolbar',
        child: [{
          tag: 'button',
          class: 'af-explore-header-menu',
          child: 'span.mdi.mdi-dots-horizontal'
        }]
      }
    }, {
      class: 'af-explore-body',
      child: []
    }]
  });
  this.$body = (0, _FCore.$)('.af-explore-body', this.$view);
  this.$headerMenuBtn = (0, _FCore.$)('.af-explore-header-menu', this.$view);

  _QuickMenu.default.toggleWhenClick(this.$headerMenuBtn, {
    getMenuProps: this.getHeaderActionContextMenuProps.bind(this),
    onSelect: this.onHeaderAction.bind(this),
    anchor: [2, 3, 9, 1, 0]
  });
};

FExplorer.prototype.onStart = function () {
  var classes = this.getContext(_R.default.CLASSES);
  if (!classes) return;
  this.startExploringFrg = new classes.StartExploringFragment();
  this.startExploringFrg.attach(this);
  this.$body.addChild(this.startExploringFrg.getView());
  this.startExploringFrg.start();
};

FExplorer.prototype.onDestroy = function () {
  this.startExploringFrg.destroy();
};

FExplorer.prototype.getExploreTree = function () {
  return [];
};

FExplorer.prototype.redrawExpTree = function () {
  var treeData = this.getExploreTree();
  if (!treeData) return;

  var visit = (treeData, parentElt) => {
    var props = Object.assign({}, treeData);
    var id = treeData.id;
    delete props.id;
    delete props.children;
    delete props.parent;
    var treeElt = (0, _FCore._)({
      tag: _ExpTree.default.tag,
      props: props,
      on: {
        statuschange: () => {
          this.savedState[id] = treeElt.status;
        }
      }
    });
    treeElt.getNode().defineEvent('contextmenu').on('contextmenu', event => {
      var menuProps = this.getActionContextMenuProps(treeData);
      event.showContextMenu(menuProps, event => {
        var item = (0, _utils.cleanMenuItemProperty)(event.menuItem);
        this.onTreeAction(treeData, item, treeElt);
      });
    }).on('dblclick', event => {
      var toggleIco = treeElt.getNode().$toggleIcon;

      if (treeElt.status === 'close') {
        if (!(0, _EventEmitter.hitElement)(toggleIco, event)) {
          treeElt.status = 'open';
          treeElt.emit('statuschange', {});
        }
      } else if (treeElt.status === 'open') {
        if (!(0, _EventEmitter.hitElement)(toggleIco, event)) {
          treeElt.status = 'close';
          treeElt.emit('statuschange', {});
        }
      } else {}

      this.onTreeAction(treeData, {
        cmd: 'open'
      }, treeElt);
    });
    parentElt.addChild(treeElt);

    if (treeData.children && treeData.children.length > 0) {
      treeElt.status = this.savedState[id] === 'open' ? 'open' : 'close';
      treeData.children.forEach(it => visit(it, treeElt));
    }
  };

  var handleTreeData = treeData => {
    if (treeData && treeData.then) {
      return treeData.then(handleTreeData);
    } else if (treeData instanceof Array) {
      this.$body.clearChild();
      treeData.forEach(node => visit(node, this.$body));
    } else {
      this.$body.clearChild();
      return visit(treeData, this.$body);
    }
  };

  return handleTreeData(treeData);
};

FExplorer.prototype.getActionContextMenuProps = function (treeData) {
  return {
    items: [{
      icon: 'span.mdi.mdi-folder-open',
      text: 'Open',
      cmd: 'open'
    }]
  };
};

FExplorer.prototype.onTreeAction = function (treeData, action, nodeElt) {
  console.log(treeData, action, nodeElt);
};

FExplorer.prototype.getHeaderActionContextMenuProps = function () {
  return {
    items: [{
      icon: 'span.mdi.mdi-exit-to-app',
      text: 'Close Package',
      cmd: 'close_package'
    }]
  };
};

FExplorer.prototype.onHeaderAction = function (action) {
  console.log(action);
};

var _default = FExplorer;
exports.default = _default;

VaKeR 2022