AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.227.190.202
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/js/mail/directorymenu/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/js/mail/directorymenu/dist/directorymenu.bundle.js
this.BX = this.BX || {};
(function (exports,main_core_events,main_core) {
	'use strict';

	var _templateObject, _templateObject2;

	function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }

	function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }

	var _count = /*#__PURE__*/new WeakMap();

	var _nameOriginal = /*#__PURE__*/new WeakMap();

	var _name = /*#__PURE__*/new WeakMap();

	var _counterElement = /*#__PURE__*/new WeakMap();

	var _itemElement = /*#__PURE__*/new WeakMap();

	var _isActive = /*#__PURE__*/new WeakMap();

	var _path = /*#__PURE__*/new WeakMap();

	var _shiftWidthInPixels = /*#__PURE__*/new WeakMap();

	var _zeroLevelShiftWidth = /*#__PURE__*/new WeakMap();

	var Item = /*#__PURE__*/function () {
	  babelHelpers.createClass(Item, [{
	    key: "setCount",
	    value: function setCount(number) {
	      babelHelpers.classPrivateFieldSet(this, _count, number);
	      babelHelpers.classPrivateFieldGet(this, _counterElement).textContent = number;

	      if (number === 0) {
	        babelHelpers.classPrivateFieldGet(this, _counterElement).classList.add('ui-sidepanel-menu-link-text-counter-hidden');
	      } else {
	        babelHelpers.classPrivateFieldGet(this, _counterElement).classList.remove('ui-sidepanel-menu-link-text-counter-hidden');
	      }
	    }
	  }, {
	    key: "getCount",
	    value: function getCount() {
	      return Number(babelHelpers.classPrivateFieldGet(this, _count));
	    }
	  }, {
	    key: "disableActivity",
	    value: function disableActivity() {
	      babelHelpers.classPrivateFieldSet(this, _isActive, false);
	      babelHelpers.classPrivateFieldGet(this, _itemElement).classList.remove('ui-sidepanel-menu-active');
	    }
	  }, {
	    key: "getPath",
	    value: function getPath() {
	      return babelHelpers.classPrivateFieldGet(this, _path);
	    }
	  }, {
	    key: "enableActivity",
	    value: function enableActivity() {
	      babelHelpers.classPrivateFieldSet(this, _isActive, true);
	      babelHelpers.classPrivateFieldGet(this, _itemElement).classList.add('ui-sidepanel-menu-active');
	    }
	  }, {
	    key: "isActive",
	    value: function isActive() {
	      return babelHelpers.classPrivateFieldGet(this, _isActive);
	    }
	    /**
	     * So as not to break the menu with incorrectly synchronized directories.
	     *
	     * @param directory (directory structure).
	     * @returns {boolean}
	     */

	  }], [{
	    key: "checkProperties",
	    value: function checkProperties(directory) {
	      if (directory['path'] === undefined || directory['name'] === undefined || directory['name'] === undefined) {
	        return false;
	      }

	      return true;
	    }
	  }]);

	  function Item(directory, menu) {
	    var _this = this;

	    var nestingLevel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
	    var systemDirs = arguments.length > 3 ? arguments[3] : undefined;
	    babelHelpers.classCallCheck(this, Item);

	    _classPrivateFieldInitSpec(this, _count, {
	      writable: true,
	      value: 0
	    });

	    _classPrivateFieldInitSpec(this, _nameOriginal, {
	      writable: true,
	      value: ''
	    });

	    _classPrivateFieldInitSpec(this, _name, {
	      writable: true,
	      value: ''
	    });

	    _classPrivateFieldInitSpec(this, _counterElement, {
	      writable: true,
	      value: void 0
	    });

	    _classPrivateFieldInitSpec(this, _itemElement, {
	      writable: true,
	      value: void 0
	    });

	    _classPrivateFieldInitSpec(this, _isActive, {
	      writable: true,
	      value: void 0
	    });

	    _classPrivateFieldInitSpec(this, _path, {
	      writable: true,
	      value: void 0
	    });

	    _classPrivateFieldInitSpec(this, _shiftWidthInPixels, {
	      writable: true,
	      value: 10
	    });

	    _classPrivateFieldInitSpec(this, _zeroLevelShiftWidth, {
	      writable: true,
	      value: 29
	    });

	    babelHelpers.classPrivateFieldSet(this, _path, directory['path']);
	    var iconClass = 'default';

	    if (systemDirs['inbox'] === babelHelpers.classPrivateFieldGet(this, _path)) {
	      iconClass = 'inbox';
	    } else if (systemDirs['spam'] === babelHelpers.classPrivateFieldGet(this, _path)) {
	      iconClass = 'spam';
	    } else if (systemDirs['outcome'] === babelHelpers.classPrivateFieldGet(this, _path)) {
	      iconClass = 'outcome';
	    } else if (systemDirs['trash'] === babelHelpers.classPrivateFieldGet(this, _path)) {
	      iconClass = 'trash';
	    } else if (systemDirs['drafts'] === babelHelpers.classPrivateFieldGet(this, _path)) {
	      iconClass = 'drafts';
	    }

	    babelHelpers.classPrivateFieldSet(this, _nameOriginal, directory['name']);
	    babelHelpers.classPrivateFieldSet(this, _name, babelHelpers.classPrivateFieldGet(this, _nameOriginal).charAt(0).toUpperCase() + babelHelpers.classPrivateFieldGet(this, _nameOriginal).slice(1));
	    var itemContainer = main_core.Tag.render(_templateObject || (_templateObject = babelHelpers.taggedTemplateLiteral(["<div title=\"", "\" class=\"mail-menu-directory-item-container\"></div>"])), babelHelpers.classPrivateFieldGet(this, _name));
	    var itemElement = main_core.Tag.render(_templateObject2 || (_templateObject2 = babelHelpers.taggedTemplateLiteral(["<li class=\"ui-sidepanel-menu-item ui-sidepanel-menu-counter-white mail-menu-directory-item-", "\">\n\t\t\t\t<a style=\"padding-left: ", "px\" class=\"ui-sidepanel-menu-link\">\n\t\t\t\t\t<div class=\"ui-sidepanel-menu-link-text\">\n\t\t\t\t\t\t<span class=\"ui-sidepanel-menu-link-text-item\">", "</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"ui-sidepanel-menu-link-text-counter\">", "</span>\n\t\t\t\t</a>\n\t\t\t</li>"])), iconClass, babelHelpers.classPrivateFieldGet(this, _zeroLevelShiftWidth) + babelHelpers.classPrivateFieldGet(this, _shiftWidthInPixels) * nestingLevel, babelHelpers.classPrivateFieldGet(this, _name), directory['count']);
	    itemContainer.append(itemElement);

	    itemElement.onclick = function () {
	      if (!itemContainer.isActive()) {
	        menu.chooseFunction(directory['path']);
	        itemContainer.enableActivity();
	      }
	    };

	    var counterElement = itemElement.querySelector(".ui-sidepanel-menu-link-text-counter");
	    babelHelpers.classPrivateFieldSet(this, _counterElement, counterElement);
	    babelHelpers.classPrivateFieldSet(this, _itemElement, itemElement);

	    itemContainer.getCount = function () {
	      return _this.getCount();
	    };

	    itemContainer.setCount = function (number) {
	      return _this.setCount(number);
	    };

	    itemContainer.enableActivity = function () {
	      return _this.enableActivity();
	    };

	    itemContainer.disableActivity = function () {
	      return _this.disableActivity();
	    };

	    itemContainer.isActive = function () {
	      return _this.isActive();
	    };

	    itemContainer.setIconClass = function (name) {
	      return _this.setIconClass(name);
	    };

	    this.setCount(directory['count']);

	    for (var i = 0; i < directory['items'].length; i++) {
	      if (!Item.checkProperties(directory['items'][i])) {
	        continue;
	      }

	      var subdirectory = new Item(directory['items'][i], menu, nestingLevel + 1, systemDirs);
	      itemContainer.append(subdirectory);
	    }

	    menu.includeItem(itemContainer, babelHelpers.classPrivateFieldGet(this, _path));
	    return itemContainer;
	  }

	  return Item;
	}();

	var _templateObject$1;

	function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

	function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

	function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

	function _classPrivateFieldInitSpec$1(obj, privateMap, value) { _checkPrivateRedeclaration$1(obj, privateMap); privateMap.set(obj, value); }

	function _checkPrivateRedeclaration$1(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }

	var _activeDir = /*#__PURE__*/new WeakMap();

	var _menu = /*#__PURE__*/new WeakMap();

	var _directoryCounters = /*#__PURE__*/new WeakMap();

	var _items = /*#__PURE__*/new WeakMap();

	var _systemDirs = /*#__PURE__*/new WeakMap();

	var DirectoryMenu = /*#__PURE__*/function () {
	  babelHelpers.createClass(DirectoryMenu, [{
	    key: "getActiveDir",
	    value: function getActiveDir() {
	      return babelHelpers.classPrivateFieldGet(this, _activeDir);
	    }
	  }, {
	    key: "setActiveDir",
	    value: function setActiveDir(path) {
	      babelHelpers.classPrivateFieldSet(this, _activeDir, path);
	    }
	  }, {
	    key: "clearActiveMenuButtons",
	    value: function clearActiveMenuButtons() {
	      var _iterator = _createForOfIteratorHelper(babelHelpers.classPrivateFieldGet(this, _items).values()),
	          _step;

	      try {
	        for (_iterator.s(); !(_step = _iterator.n()).done;) {
	          var item = _step.value;
	          item.disableActivity();
	        }
	      } catch (err) {
	        _iterator.e(err);
	      } finally {
	        _iterator.f();
	      }
	    }
	  }, {
	    key: "rebuildMenu",
	    value: function rebuildMenu(dirsWithUnseenMailCounters) {
	      babelHelpers.classPrivateFieldSet(this, _directoryCounters, dirsWithUnseenMailCounters);
	      this.cleanItems();
	      this.buildMenu();
	      this.setDirectory(this.getActiveDir());
	    }
	  }, {
	    key: "cleanItems",
	    value: function cleanItems() {
	      var _iterator2 = _createForOfIteratorHelper(babelHelpers.classPrivateFieldGet(this, _items).values()),
	          _step2;

	      try {
	        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
	          var item = _step2.value;
	          babelHelpers.classPrivateFieldGet(this, _menu).removeChild(item);
	        }
	      } catch (err) {
	        _iterator2.e(err);
	      } finally {
	        _iterator2.f();
	      }

	      babelHelpers.classPrivateFieldGet(this, _items).clear();
	    }
	  }, {
	    key: "includeItem",
	    value: function includeItem(domItem, directoryPath) {
	      babelHelpers.classPrivateFieldGet(this, _items).set(directoryPath, domItem);
	      babelHelpers.classPrivateFieldGet(this, _menu).append(domItem);
	    }
	  }, {
	    key: "chooseFunction",
	    value: function chooseFunction(path) {
	      this.clearActiveMenuButtons();
	      this.setActiveDir(path);
	      this.setFilterDir(path);
	    }
	  }, {
	    key: "buildMenu",
	    value: function buildMenu() {
	      var firstBuild = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

	      for (var i = 0; i < babelHelpers.classPrivateFieldGet(this, _directoryCounters).length; i++) {
	        var directory = babelHelpers.classPrivateFieldGet(this, _directoryCounters)[i];
	        var path = directory['path'];

	        if (!Item.checkProperties(directory)) {
	          continue;
	        }

	        if (babelHelpers.classPrivateFieldGet(this, _systemDirs)['inbox'] === path && firstBuild) {
	          BX.Mail.Home.FilterToolbar.setCount(directory['count']);
	        }

	        new Item(directory, this, 0, babelHelpers.classPrivateFieldGet(this, _systemDirs));
	      }
	    }
	  }, {
	    key: "setFilterDir",
	    value: function setFilterDir(name) {
	      var event = new main_core_events.BaseEvent({
	        data: {
	          directory: name
	        }
	      });
	      main_core_events.EventEmitter.emit('BX.DirectoryMenu:onChangeFilter', event);
	      name = BX.Mail.Home.Counters.getShortcut(name);
	      var filter = this.filter;

	      if (!!filter && filter instanceof BX.Main.Filter) {
	        var FilterApi = filter.getApi();
	        FilterApi.setFields({
	          'DIR': name
	        });
	        FilterApi.apply();
	      }
	    }
	  }, {
	    key: "changeCounter",
	    value: function changeCounter(dirPath, number, mode) {
	      var item = babelHelpers.classPrivateFieldGet(this, _items).get(dirPath);
	      if (item === undefined) return;

	      if (mode !== 'set') {
	        item.setCount(item.getCount() + Number(number));
	      } else {
	        item.setCount(Number(number));
	      }
	    }
	  }, {
	    key: "setCounters",
	    value: function setCounters(counters) {
	      for (var path in counters) {
	        if (counters.hasOwnProperty(path)) {
	          this.changeCounter(path, counters[path], 'set');
	        }
	      }
	    }
	  }, {
	    key: "setDirectory",
	    value: function setDirectory(path) {
	      this.clearActiveMenuButtons();
	      if (path === undefined) return;
	      var item = babelHelpers.classPrivateFieldGet(this, _items).get(path);

	      if (item) {
	        this.setActiveDir(path);
	        item.enableActivity();
	      }
	    }
	  }]);

	  function DirectoryMenu() {
	    var _this = this;

	    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
	      dirsWithUnseenMailCounters: {},
	      filterId: '',
	      systemDirs: {
	        spam: 'Spam',
	        trash: 'Trash',
	        outcome: 'Outcome',
	        drafts: 'Drafts',
	        inbox: 'Inbox'
	      }
	    };
	    babelHelpers.classCallCheck(this, DirectoryMenu);

	    _classPrivateFieldInitSpec$1(this, _activeDir, {
	      writable: true,
	      value: ''
	    });

	    _classPrivateFieldInitSpec$1(this, _menu, {
	      writable: true,
	      value: main_core.Tag.render(_templateObject$1 || (_templateObject$1 = babelHelpers.taggedTemplateLiteral(["<ul class=\"ui-mail-left-directory-menu\"></ul>"])))
	    });

	    _classPrivateFieldInitSpec$1(this, _directoryCounters, {
	      writable: true,
	      value: new Map()
	    });

	    _classPrivateFieldInitSpec$1(this, _items, {
	      writable: true,
	      value: new Map()
	    });

	    _classPrivateFieldInitSpec$1(this, _systemDirs, {
	      writable: true,
	      value: []
	    });

	    this.filter = BX.Main.filterManager.getById(config['filterId']);
	    babelHelpers.classPrivateFieldSet(this, _systemDirs, config['systemDirs']);
	    main_core_events.EventEmitter.subscribe('BX.Main.Filter:apply', function (event) {
	      var dir = BX.Mail.Home.Counters.getDirPath(_this.filter.getFilterFieldsValues()['DIR']);
	      main_core_events.EventEmitter.emit('BX.DirectoryMenu:onChangeFilter', new main_core_events.BaseEvent({
	        data: {
	          directory: dir
	        }
	      }));

	      _this.setDirectory(dir);
	    });
	    babelHelpers.classPrivateFieldSet(this, _directoryCounters, config['dirsWithUnseenMailCounters']);
	    this.buildMenu(true);
	  }

	  babelHelpers.createClass(DirectoryMenu, [{
	    key: "getNode",
	    value: function getNode() {
	      return babelHelpers.classPrivateFieldGet(this, _menu);
	    }
	  }]);
	  return DirectoryMenu;
	}();

	exports.DirectoryMenu = DirectoryMenu;

}((this.BX.Mail = this.BX.Mail || {}),BX.Event,BX));
//# sourceMappingURL=directorymenu.bundle.js.map

Anon7 - 2022
AnonSec Team