403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/js/socialnetwork/ui/grid/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/socialnetwork/ui/grid/dist/grid.bundle.js
this.BX = this.BX || {};
this.BX.Socialnetwork = this.BX.Socialnetwork || {};
this.BX.Socialnetwork.UI = this.BX.Socialnetwork.UI || {};
(function (exports,main_popup,main_loader,main_core,main_core_events) {
	'use strict';

	var Pin = /*#__PURE__*/function () {
	  function Pin(params) {
	    babelHelpers.classCallCheck(this, Pin);
	    this.grid = params.gridInstance;
	    this.bindEvents();
	    this.colorPinnedRows();
	  }
	  babelHelpers.createClass(Pin, [{
	    key: "bindEvents",
	    value: function bindEvents() {
	      main_core_events.EventEmitter.subscribe('BX.Main.grid:paramsUpdated', this.onParamsUpdated.bind(this));
	    }
	  }, {
	    key: "onParamsUpdated",
	    value: function onParamsUpdated() {
	      this.colorPinnedRows();
	    }
	  }, {
	    key: "colorPinnedRows",
	    value: function colorPinnedRows() {
	      var _this = this;
	      this.getRows().forEach(function (row) {
	        var node = row.getNode();
	        _this.getIsPinned(row.getId()) ? main_core.Dom.addClass(node, Pin["class"].pinned) : main_core.Dom.removeClass(node, Pin["class"].pinned);
	      });
	    }
	  }, {
	    key: "resetRows",
	    value: function resetRows() {
	      this.grid.getRows().reset();
	    }
	  }, {
	    key: "getRows",
	    value: function getRows() {
	      return this.grid.getRows().getBodyChild();
	    }
	  }, {
	    key: "getLastPinnedRowId",
	    value: function getLastPinnedRowId() {
	      var _this2 = this;
	      var pinnedRows = Object.values(this.getRows()).filter(function (row) {
	        return _this2.getIsPinned(row.getId());
	      });
	      var keys = Object.keys(pinnedRows);
	      if (keys.length > 0) {
	        return pinnedRows[keys[keys.length - 1]].getId();
	      }
	      return 0;
	    }
	  }, {
	    key: "getIsPinned",
	    value: function getIsPinned(rowId) {
	      return this.isRowExist(rowId) && main_core.Type.isDomNode(this.getRowNodeById(rowId).querySelector('.main-grid-cell-content-action-pin.main-grid-cell-content-action-active'));
	    }
	  }, {
	    key: "getRowNodeById",
	    value: function getRowNodeById(id) {
	      return this.getRowById(id).getNode();
	    }
	  }, {
	    key: "getRowById",
	    value: function getRowById(id) {
	      return this.grid.getRows().getById(id);
	    }
	  }, {
	    key: "isRowExist",
	    value: function isRowExist(id) {
	      return this.getRowById(id) !== null;
	    }
	  }]);
	  return Pin;
	}();
	babelHelpers.defineProperty(Pin, "class", {
	  pinned: 'sonet-ui-grid-row-pinned'
	});

	var Grid = /*#__PURE__*/function () {
	  babelHelpers.createClass(Grid, null, [{
	    key: "class",
	    get: function get() {
	      return {
	        highlighted: 'sonet-ui-grid-row-highlighted'
	      };
	    }
	  }]);
	  function Grid(options) {
	    babelHelpers.classCallCheck(this, Grid);
	    this.grid = BX.Main.gridManager.getInstanceById(options.id);
	    this.sort = options.sort;
	    this.pageSize = parseInt(options.pageSize);
	    this.stub = options.gridStub;
	    this.items = new Map();
	    this.fillItems(options.items);
	    this.pinController = new Pin({
	      gridInstance: this.getGrid()
	    });
	    this.init();
	    this.bindEvents();
	  }
	  babelHelpers.createClass(Grid, [{
	    key: "init",
	    value: function init() {}
	  }, {
	    key: "bindEvents",
	    value: function bindEvents() {
	      main_core_events.EventEmitter.subscribe('BX.Main.grid:sort', this.onColumnSort.bind(this));
	    }
	  }, {
	    key: "onColumnSort",
	    value: function onColumnSort(event) {
	      var data = event.getData();
	      var grid = data[1];
	      var column = data[0];
	      if (grid === this.getGrid()) {
	        this.sort = {};
	        this.sort[column.sort_by] = column.sort_order;
	      }
	    }
	  }, {
	    key: "getGrid",
	    value: function getGrid() {
	      return this.grid;
	    }
	  }, {
	    key: "getPinController",
	    value: function getPinController() {
	      return this.pinController;
	    }
	  }, {
	    key: "getSort",
	    value: function getSort() {
	      return this.sort;
	    }
	  }, {
	    key: "addRow",
	    value: function addRow(id, data, params) {
	      var options = {
	        id: id,
	        columns: data.columns,
	        actions: data.actions,
	        cellActions: data.cellActions
	        //			counters: data.counters,
	      };

	      var moveParams = params.moveParams || {};
	      if (moveParams.rowBefore) {
	        options.insertAfter = moveParams.rowBefore;
	      } else if (moveParams.rowAfter) {
	        options.insertBefore = moveParams.rowAfter;
	      } else {
	        options.append = true;
	      }
	      if (this.items.size > this.getCurrentPage() * this.pageSize) {
	        var lastRowId = this.getLastRowId();
	        this.removeItem(lastRowId);
	        main_core.Dom.remove(this.getRowNodeById(lastRowId));
	      }
	      this.hideStub();
	      this.getRealtime().addRow(options);
	      this.getPinController().colorPinnedRows();
	      main_core_events.EventEmitter.emit('SocialNetwork.Projects.Grid:RowAdd', {
	        id: id
	      });
	    }
	  }, {
	    key: "updateRow",
	    value: function updateRow(id, data, params) {
	      var _this = this;
	      var row = this.getRowById(id);
	      if (main_core.Type.isPlainObject(data)) {
	        if (!main_core.Type.isUndefined(data.columns)) {
	          row.setCellsContent(data.columns);
	        }
	        if (!main_core.Type.isUndefined(data.actions)) {
	          row.setActions(data.actions);
	        }
	        if (!main_core.Type.isUndefined(data.cellActions)) {
	          row.setCellActions(data.cellActions);
	        }
	        if (!main_core.Type.isUndefined(data.counters)) {
	          row.setCounters(data.counters);
	        }
	      }
	      this.resetRows();
	      this.moveRow(id, params.moveParams || {});
	      this.highlightRow(id, params.highlightParams || {}).then(function () {
	        return _this.getPinController().colorPinnedRows();
	      }, function () {});
	      this.getGrid().bindOnRowEvents();
	    }
	  }, {
	    key: "resetRows",
	    value: function resetRows() {
	      this.getRows().reset();
	    }
	  }, {
	    key: "removeRow",
	    value: function removeRow(rowId) {
	      if (!this.isRowExist(rowId)) {
	        return;
	      }
	      this.removeItem(rowId);
	      this.grid.removeRow(rowId);
	    }
	  }, {
	    key: "moveRow",
	    value: function moveRow(rowId, params) {
	      if (params.skip) {
	        return;
	      }
	      var rowBefore = params.rowBefore || 0;
	      var rowAfter = params.rowAfter || 0;
	      if (rowBefore) {
	        this.getRows().insertAfter(rowId, rowBefore);
	      } else if (rowAfter) {
	        this.getRows().insertBefore(rowId, rowAfter);
	      }
	    }
	  }, {
	    key: "highlightRow",
	    value: function highlightRow(rowId, params) {
	      var _this2 = this;
	      params = params || {};
	      return new Promise(function (resolve, reject) {
	        if (!_this2.isRowExist(rowId)) {
	          reject();
	          return;
	        }
	        if (params.skip) {
	          resolve();
	          return;
	        }
	        var node = _this2.getRowNodeById(rowId);
	        var isPinned = main_core.Dom.hasClass(node, Pin["class"].pinned);
	        if (isPinned) {
	          main_core.Dom.removeClass(node, Pin["class"].pinned);
	        }
	        main_core.Dom.addClass(node, Grid["class"].highlighted);
	        setTimeout(function () {
	          main_core.Dom.removeClass(node, Grid["class"].highlighted);
	          if (isPinned) {
	            main_core.Dom.addClass(node, Pin["class"].pinned);
	          }
	          resolve();
	        }, 900);
	      });
	    }
	  }, {
	    key: "isRowExist",
	    value: function isRowExist(rowId) {
	      return this.getRowById(rowId) !== null;
	    }
	  }, {
	    key: "getRows",
	    value: function getRows() {
	      return this.getGrid().getRows();
	    }
	  }, {
	    key: "getRowById",
	    value: function getRowById(rowId) {
	      return this.getRows().getById(rowId);
	    }
	  }, {
	    key: "getRowNodeById",
	    value: function getRowNodeById(id) {
	      return this.getRowById(id).getNode();
	    }
	  }, {
	    key: "getFirstRowId",
	    value: function getFirstRowId() {
	      var firstRow = this.getRows().getBodyFirstChild();
	      return firstRow ? this.getRowProperty(firstRow, 'id') : 0;
	    }
	  }, {
	    key: "getLastRowId",
	    value: function getLastRowId() {
	      var lastRow = this.getRows().getBodyLastChild();
	      return lastRow ? this.getRowProperty(lastRow, 'id') : 0;
	    }
	  }, {
	    key: "getRowProperty",
	    value: function getRowProperty(row, propertyName) {
	      return BX.data(row.getNode(), propertyName);
	    }
	  }, {
	    key: "getCurrentPage",
	    value: function getCurrentPage() {
	      return this.getGrid().getCurrentPage();
	    }
	  }, {
	    key: "fillItems",
	    value: function fillItems(items) {
	      var _this3 = this;
	      Object.keys(items).forEach(function (id) {
	        return _this3.addItem(id);
	      });
	    }
	  }, {
	    key: "getItems",
	    value: function getItems() {
	      return Array.from(this.items.keys());
	    }
	  }, {
	    key: "hasItem",
	    value: function hasItem(id) {
	      return this.items.has(parseInt(id));
	    }
	  }, {
	    key: "addItem",
	    value: function addItem(id) {
	      this.items.set(parseInt(id));
	    }
	  }, {
	    key: "removeItem",
	    value: function removeItem(id) {
	      this.items["delete"](parseInt(id));
	    }
	  }, {
	    key: "clearItems",
	    value: function clearItems() {
	      this.items.clear();
	    }
	  }, {
	    key: "getRealtime",
	    value: function getRealtime() {
	      return this.getGrid().getRealtime();
	    }
	  }, {
	    key: "showStub",
	    value: function showStub() {
	      if (this.stub) {
	        this.getRealtime().showStub({
	          content: this.stub
	        });
	      }
	    }
	  }, {
	    key: "hideStub",
	    value: function hideStub() {
	      this.getGrid().hideEmptyStub();
	    }
	  }]);
	  return Grid;
	}();

	var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
	var MembersPopup = /*#__PURE__*/function () {
	  function MembersPopup(options) {
	    babelHelpers.classCallCheck(this, MembersPopup);
	    this.componentName = options.componentName;
	    this.signedParameters = options.signedParameters;
	  }
	  babelHelpers.createClass(MembersPopup, [{
	    key: "showPopup",
	    value: function showPopup(groupId, groupType, bindNode) {
	      var _this = this;
	      var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'all';
	      if (this.isPopupShown) {
	        this.popup.destroy();
	      }
	      this.groupId = groupId;
	      this.resetPopupData(groupType);
	      this.changeType(type, false);
	      this.popup = main_popup.PopupWindowManager.create({
	        id: 'workgroup-grid-members-popup-menu',
	        className: 'sonet-ui-members-popup',
	        bindElement: bindNode,
	        autoHide: true,
	        closeByEsc: true,
	        lightShadow: true,
	        bindOptions: {
	          position: 'bottom'
	        },
	        animationOptions: {
	          show: {
	            type: 'opacity-transform'
	          },
	          close: {
	            type: 'opacity'
	          }
	        },
	        events: {
	          onPopupDestroy: function onPopupDestroy() {
	            _this.loader = null;
	            _this.isPopupShown = false;
	          },
	          onPopupClose: function onPopupClose() {
	            _this.popup.destroy();
	          },
	          onAfterPopupShow: function onAfterPopupShow(popup) {
	            popup.contentContainer.appendChild(_this.renderContainer());
	            _this.showLoader();
	            _this.showUsers(groupId, type);
	            _this.isPopupShown = true;
	          }
	        }
	      });
	      this.popupScroll(groupId, type);
	      this.popup.show();
	    }
	  }, {
	    key: "renderContainer",
	    value: function renderContainer() {
	      return main_core.Tag.render(_templateObject || (_templateObject = babelHelpers.taggedTemplateLiteral(["\n\t\t\t<span class=\"sonet-ui-members-popup-container\">\n\t\t\t\t<span class=\"sonet-ui-members-popup-head\">\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t</span>\n\t\t\t\t<span class=\"sonet-ui-members-popup-body\">\n\t\t\t\t\t<div class=\"sonet-ui-members-popup-content\">\n\t\t\t\t\t\t<div class=\"sonet-ui-members-popup-content-box\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t"])), this.popupData.all.tab, this.popupData.heads.tab, this.popupData.members.tab, this.getCurrentPopupData().innerContainer);
	    }
	  }, {
	    key: "popupScroll",
	    value: function popupScroll(groupId, type) {
	      var _this2 = this;
	      if (!main_core.Type.isDomNode(this.getCurrentPopupData().innerContainer)) {
	        return;
	      }
	      main_core.Event.bind(this.getCurrentPopupData().innerContainer, 'scroll', function (event) {
	        var area = event.target;
	        if (area.scrollTop > (area.scrollHeight - area.offsetHeight) / 1.5) {
	          _this2.showUsers(groupId, type);
	          main_core.Event.unbindAll(_this2.getCurrentPopupData().innerContainer);
	        }
	      });
	    }
	  }, {
	    key: "showUsers",
	    value: function showUsers(groupId, type) {
	      var _this3 = this;
	      main_core.ajax.runAction('socialnetwork.api.workgroup.getGridPopupMembers', {
	        data: {
	          groupId: groupId,
	          type: type,
	          page: this.getCurrentPopupData().currentPage,
	          componentName: this.componentName,
	          signedParameters: this.signedParameters
	        }
	      }).then(function (response) {
	        if (_this3.groupId !== groupId || _this3.currentType !== type) {
	          _this3.hideLoader();
	          return;
	        }
	        if (response.data.length > 0) {
	          _this3.renderUsers(response.data);
	          _this3.popupScroll(groupId, _this3.currentType);
	        } else if (!_this3.getCurrentPopupData().innerContainer.hasChildNodes()) {
	          _this3.getCurrentPopupData().innerContainer.innerText = main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_EMPTY');
	        }
	        _this3.getCurrentPopupData().currentPage++;
	        _this3.hideLoader();
	      }, function () {
	        return _this3.hideLoader();
	      });
	    }
	  }, {
	    key: "renderUsers",
	    value: function renderUsers(users) {
	      var _this4 = this;
	      Object.values(users).forEach(function (user) {
	        if (_this4.getCurrentPopupData().renderedUsers.indexOf(user.ID) >= 0) {
	          return;
	        }
	        _this4.getCurrentPopupData().renderedUsers.push(user.ID);
	        _this4.getCurrentPopupData().innerContainer.appendChild(main_core.Tag.render(_templateObject2 || (_templateObject2 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<a class=\"sonet-ui-members-popup-item\" href=\"", "\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-avatar-new\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-avatar-status-icon\"></span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-name\">", "</span>\n\t\t\t\t\t</a>\n\t\t\t\t"])), user['HREF'], _this4.getAvatar(user), user['FORMATTED_NAME']));
	      });
	    }
	  }, {
	    key: "getAvatar",
	    value: function getAvatar(user) {
	      if (main_core.Type.isStringFilled(user['PHOTO'])) {
	        return main_core.Tag.render(_templateObject3 || (_templateObject3 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t<div class=\"ui-icon ui-icon-common-user sonet-ui-members-popup-avatar-img\">\n\t\t\t\t\t<i style=\"background-image: url('", "')\"></i>\n\t\t\t\t</div>\n\t\t\t"])), encodeURI(user['PHOTO']));
	      }
	      return main_core.Tag.render(_templateObject4 || (_templateObject4 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t<div class=\"ui-icon ui-icon-common-user sonet-ui-members-popup-avatar-img\"><i></i></div>\n\t\t"])));
	    }
	  }, {
	    key: "showLoader",
	    value: function showLoader() {
	      if (!this.loader) {
	        this.loader = new main_loader.Loader({
	          target: this.popup.getPopupContainer().querySelector('.sonet-ui-members-popup-content'),
	          size: 40
	        });
	      }
	      void this.loader.show();
	    }
	  }, {
	    key: "hideLoader",
	    value: function hideLoader() {
	      if (this.loader) {
	        void this.loader.hide();
	        this.loader = null;
	      }
	    }
	  }, {
	    key: "changeType",
	    value: function changeType(newType) {
	      var loadUsers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
	      var oldType = this.currentType;
	      this.currentType = newType;
	      Object.values(this.popupData).forEach(function (item) {
	        main_core.Dom.removeClass(item.tab, 'sonet-ui-members-popup-head-item-current');
	      });
	      main_core.Dom.addClass(this.getCurrentPopupData().tab, 'sonet-ui-members-popup-head-item-current');
	      if (oldType) {
	        main_core.Dom.replace(this.popupData[oldType].innerContainer, this.getCurrentPopupData().innerContainer);
	      }
	      if (loadUsers && this.getCurrentPopupData().currentPage === 1) {
	        this.showLoader();
	        this.showUsers(this.groupId, newType);
	      }
	    }
	  }, {
	    key: "resetPopupData",
	    value: function resetPopupData(groupType) {
	      var headTitle = main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_HEADS');
	      var membersTitle = main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_MEMBERS');
	      if (groupType === 'project') {
	        headTitle = main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_HEADS_PROJECT');
	        membersTitle = main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_MEMBERS_PROJECT');
	      }
	      this.popupData = {
	        all: {
	          currentPage: 1,
	          renderedUsers: [],
	          tab: main_core.Tag.render(_templateObject5 || (_templateObject5 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-item\" onclick=\"", "\">\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-text\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t"])), this.changeType.bind(this, 'all'), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_ALL')),
	          innerContainer: main_core.Tag.render(_templateObject6 || (_templateObject6 = babelHelpers.taggedTemplateLiteral(["<div class=\"sonet-ui-members-popup-inner\"></div>"])))
	        },
	        heads: {
	          currentPage: 1,
	          renderedUsers: [],
	          tab: main_core.Tag.render(_templateObject7 || (_templateObject7 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-item\" onclick=\"", "\">\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-text\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t"])), this.changeType.bind(this, 'heads'), headTitle),
	          innerContainer: main_core.Tag.render(_templateObject8 || (_templateObject8 = babelHelpers.taggedTemplateLiteral(["<div class=\"sonet-ui-members-popup-inner\"></div>"])))
	        },
	        members: {
	          currentPage: 1,
	          renderedUsers: [],
	          tab: main_core.Tag.render(_templateObject9 || (_templateObject9 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-item\" onclick=\"", "\">\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-text\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t"])), this.changeType.bind(this, 'members'), membersTitle),
	          innerContainer: main_core.Tag.render(_templateObject10 || (_templateObject10 = babelHelpers.taggedTemplateLiteral(["<div class=\"sonet-ui-members-popup-inner\"></div>"])))
	        }
	      };
	    }
	  }, {
	    key: "getCurrentPopupData",
	    value: function getCurrentPopupData() {
	      return this.popupData[this.currentType];
	    }
	  }]);
	  return MembersPopup;
	}();

	var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11;
	var ScrumMembersPopup = /*#__PURE__*/function (_MembersPopup) {
	  babelHelpers.inherits(ScrumMembersPopup, _MembersPopup);
	  function ScrumMembersPopup() {
	    babelHelpers.classCallCheck(this, ScrumMembersPopup);
	    return babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(ScrumMembersPopup).apply(this, arguments));
	  }
	  babelHelpers.createClass(ScrumMembersPopup, [{
	    key: "renderContainer",
	    value: function renderContainer() {
	      return main_core.Tag.render(_templateObject$1 || (_templateObject$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t<span class=\"sonet-ui-members-popup-container\">\n\t\t\t\t<span class=\"sonet-ui-members-popup-head\">\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t</span>\n\t\t\t\t<span class=\"sonet-ui-members-popup-body\">\n\t\t\t\t\t<div class=\"sonet-ui-members-popup-content\">\n\t\t\t\t\t\t<div class=\"sonet-ui-members-popup-content-box\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t"])), this.popupData.all.tab, this.popupData.scrumTeam.tab, this.popupData.members.tab, this.getCurrentPopupData().innerContainer);
	    }
	  }, {
	    key: "resetPopupData",
	    value: function resetPopupData() {
	      this.popupData = {
	        all: {
	          currentPage: 1,
	          renderedUsers: [],
	          tab: main_core.Tag.render(_templateObject2$1 || (_templateObject2$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"sonet-ui-members-popup-head-item\"\n\t\t\t\t\t\tonclick=\"", "\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-text\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t"])), this.changeType.bind(this, 'all'), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_ALL')),
	          innerContainer: main_core.Tag.render(_templateObject3$1 || (_templateObject3$1 = babelHelpers.taggedTemplateLiteral(["<div class=\"sonet-ui-members-popup-inner\"></div>"])))
	        },
	        scrumTeam: {
	          currentPage: 1,
	          renderedUsers: [],
	          tab: main_core.Tag.render(_templateObject4$1 || (_templateObject4$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"sonet-ui-members-popup-head-item\"\n\t\t\t\t\t\tonclick=\"", "\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-text\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t"])), this.changeType.bind(this, 'scrumTeam'), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_HEADS_SCRUM_1')),
	          innerContainer: main_core.Tag.render(_templateObject5$1 || (_templateObject5$1 = babelHelpers.taggedTemplateLiteral(["<div class=\"sonet-ui-members-popup-inner\"></div>"])))
	        },
	        members: {
	          currentPage: 1,
	          renderedUsers: [],
	          tab: main_core.Tag.render(_templateObject6$1 || (_templateObject6$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"sonet-ui-members-popup-head-item\"\n\t\t\t\t\t\tonclick=\"", "\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-head-text\">\n\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t"])), this.changeType.bind(this, 'members'), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_TITLE_MEMBERS_SCRUM')),
	          innerContainer: main_core.Tag.render(_templateObject7$1 || (_templateObject7$1 = babelHelpers.taggedTemplateLiteral(["<div class=\"sonet-ui-members-popup-inner\"></div>"])))
	        }
	      };
	    }
	  }, {
	    key: "renderUsers",
	    value: function renderUsers(users) {
	      var _this = this;
	      if (this.currentType === 'scrumTeam') {
	        this.renderLabels(users);
	        Object.values(users).forEach(function (user) {
	          if (_this.getCurrentPopupData().renderedUsers.indexOf(user.ID) >= 0 && user.ROLE !== 'M') {
	            return;
	          }
	          _this.getCurrentPopupData().renderedUsers.push(user.ID);
	          var containersMap = new Map();
	          containersMap.set('A', 'sonet-ui-scrum-members-popup-owner-container');
	          containersMap.set('M', 'sonet-ui-scrum-members-popup-master-container');
	          containersMap.set('E', 'sonet-ui-scrum-members-popup-team-container');
	          if (main_core.Type.isUndefined(containersMap.get(user.ROLE))) {
	            return;
	          }
	          _this.getCurrentPopupData().innerContainer.querySelector('.' + containersMap.get(user.ROLE)).appendChild(main_core.Tag.render(_templateObject8$1 || (_templateObject8$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclass=\"sonet-ui-members-popup-item\"\n\t\t\t\t\t\t\t\thref=\"", "\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span class=\"sonet-ui-members-popup-avatar-new\">\n\t\t\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass=\"sonet-ui-members-popup-avatar-status-icon\"\n\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclass=\"sonet-ui-scrum-members-popup-name\"\n\t\t\t\t\t\t\t\t>", "</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t"])), user['HREF'], _this.getAvatar(user), user['FORMATTED_NAME']));
	        });
	      } else {
	        babelHelpers.get(babelHelpers.getPrototypeOf(ScrumMembersPopup.prototype), "renderUsers", this).call(this, users);
	      }
	    }
	  }, {
	    key: "renderLabels",
	    value: function renderLabels(users) {
	      var hasOwner = users.find(function (user) {
	        return user.ROLE === 'A';
	      });
	      var hasMaster = users.find(function (user) {
	        return user.ROLE === 'M';
	      });
	      var hasTeam = users.find(function (user) {
	        return user.ROLE === 'E';
	      });
	      if (hasOwner) {
	        if (main_core.Type.isNull(this.getCurrentPopupData().innerContainer.querySelector('.sonet-ui-scrum-members-popup-owner-container'))) {
	          this.getCurrentPopupData().innerContainer.appendChild(main_core.Tag.render(_templateObject9$1 || (_templateObject9$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<div class=\"sonet-ui-scrum-members-popup-owner-container\">\n\t\t\t\t\t\t<span class=\"sonet-ui-scrum-members-popup-label\">\n\t\t\t\t\t\t\t<span class=\"sonet-ui-scrum-members-popup-label-text\">\n\t\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t"])), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_LABEL_SCRUM_OWNER')));
	        }
	      }
	      if (hasMaster) {
	        if (main_core.Type.isNull(this.getCurrentPopupData().innerContainer.querySelector('.sonet-ui-scrum-members-popup-master-container'))) {
	          this.getCurrentPopupData().innerContainer.appendChild(main_core.Tag.render(_templateObject10$1 || (_templateObject10$1 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<div class=\"sonet-ui-scrum-members-popup-master-container\">\n\t\t\t\t\t\t<span class=\"sonet-ui-scrum-members-popup-label\">\n\t\t\t\t\t\t\t<span class=\"sonet-ui-scrum-members-popup-label-text\">\n\t\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t"])), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_LABEL_SCRUM_MASTER')));
	        }
	      }
	      if (hasTeam) {
	        if (main_core.Type.isNull(this.getCurrentPopupData().innerContainer.querySelector('.sonet-ui-scrum-members-popup-team-container'))) {
	          this.getCurrentPopupData().innerContainer.appendChild(main_core.Tag.render(_templateObject11 || (_templateObject11 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t\t\t<div class=\"sonet-ui-scrum-members-popup-team-container\">\n\t\t\t\t\t\t<span class=\"sonet-ui-scrum-members-popup-label\">\n\t\t\t\t\t\t\t<span class=\"sonet-ui-scrum-members-popup-label-text\">\n\t\t\t\t\t\t\t\t", "\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t"])), main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_POPUP_LABEL_SCRUM_TEAM')));
	        }
	      }
	    }
	  }]);
	  return ScrumMembersPopup;
	}(MembersPopup);

	var Actions = /*#__PURE__*/function () {
	  function Actions() {
	    babelHelpers.classCallCheck(this, Actions);
	  }
	  babelHelpers.createClass(Actions, null, [{
	    key: "setOptions",
	    value: function setOptions(options) {
	      Actions.options = options;
	    }
	  }, {
	    key: "setActionsPanel",
	    value: function setActionsPanel(actionsPanel) {
	      Actions.actionsPanel = actionsPanel;
	    }
	  }, {
	    key: "changePin",
	    value: function changePin(groupId, event) {
	      var _event$getData = event.getData(),
	        button = _event$getData.button;
	      var action = main_core.Dom.hasClass(button, Actions["class"].active) ? 'unpin' : 'pin';
	      main_core.ajax.runAction('socialnetwork.api.workgroup.changePin', {
	        data: {
	          groupIdList: [groupId],
	          action: action,
	          componentName: Actions.options.componentName,
	          signedParameters: Actions.options.signedParameters
	        }
	      }).then(function () {
	        if (action === 'unpin') {
	          main_core.Dom.removeClass(button, Actions["class"].active);
	          main_core.Dom.addClass(button, Actions["class"].showByHover);
	        } else {
	          main_core.Dom.addClass(button, Actions["class"].active);
	          main_core.Dom.removeClass(button, Actions["class"].showByHover);
	        }
	      }, function (response) {
	        var errorMessage = main_core.Type.isStringFilled(response.message) ? response.message : main_core.Loc.getMessage('SONET_EXT_UI_GRID_MEMBERS_ACTION_ERROR');
	        BX.UI.Notification.Center.notify({
	          content: errorMessage
	        });
	      });
	    }
	  }, {
	    key: "getActionIds",
	    value: function getActionIds(params) {
	      if (!main_core.Type.isUndefined(params.groupId)) {
	        return [params.groupId];
	      }
	      var selected = Actions.getSelectedRows();
	      if (selected.length === 0) {
	        return [];
	      }
	      return selected.map(function (row) {
	        return row.getDataset().id;
	      });
	    }
	  }, {
	    key: "hideActionsPanel",
	    value: function hideActionsPanel() {
	      if (!Actions.actionsPanel) {
	        return;
	      }
	      Actions.actionsPanel.hidePanel();
	    }
	  }, {
	    key: "getSelectedRows",
	    value: function getSelectedRows() {
	      return Actions.getGridInstance().getRows().getSelected();
	    }
	  }, {
	    key: "unselectRows",
	    value: function unselectRows() {
	      Actions.getGridInstance().getRows().unselectAll();
	    }
	  }, {
	    key: "getGridInstance",
	    value: function getGridInstance() {
	      return Actions.options.gridInstance;
	    }
	  }]);
	  return Actions;
	}();
	babelHelpers.defineProperty(Actions, "options", {});
	babelHelpers.defineProperty(Actions, "class", {
	  active: 'main-grid-cell-content-action-active',
	  showByHover: 'main-grid-cell-content-action-by-hover'
	});
	babelHelpers.defineProperty(Actions, "actionsPanel", null);

	var Tag = /*#__PURE__*/function () {
	  function Tag() {
	    babelHelpers.classCallCheck(this, Tag);
	  }
	  babelHelpers.createClass(Tag, null, [{
	    key: "setOptions",
	    value: function setOptions(options) {
	      Tag.options = options;
	    }
	  }, {
	    key: "onTagClick",
	    value: function onTagClick(field) {
	      var filter = Tag.options.filter;
	      filter.toggleByField(field);
	    }
	  }, {
	    key: "onTagAddClick",
	    value: function onTagAddClick(groupId, event) {
	      main_core.Runtime.loadExtension('socialnetwork.entity-selector').then(function (exports) {
	        var onTagsChange = function onTagsChange(event) {
	          var dialog = event.getTarget();
	          var tags = dialog.getSelectedItems().map(function (item) {
	            return item.getId();
	          });
	          void Tag.update(groupId, tags);
	        };
	        var Dialog = exports.Dialog,
	          Footer = exports.Footer;
	        var dialog = new Dialog({
	          targetNode: event.getData().button,
	          enableSearch: true,
	          width: 350,
	          height: 400,
	          multiple: true,
	          dropdownMode: true,
	          compactView: true,
	          context: 'SONET_GROUP_TAG',
	          entities: [{
	            id: 'project-tag',
	            options: {
	              groupId: groupId
	            }
	          }],
	          searchOptions: {
	            allowCreateItem: true,
	            footerOptions: {
	              label: main_core.Loc.getMessage('SOCNET_ENTITY_SELECTOR_TAG_FOOTER_LABEL')
	            }
	          },
	          footer: Footer,
	          footerOptions: {
	            tagCreationLabel: true
	          },
	          events: {
	            onShow: function onShow() {
	              /*
	              						EventEmitter.subscribe('Tasks.Projects.Grid:RowUpdate', onRowUpdate);
	              						EventEmitter.subscribe('Tasks.Projects.Grid:RowRemove', onRowRemove);
	              */
	            },
	            onHide: function onHide() {
	              /*
	              						EventEmitter.unsubscribe('Tasks.Projects.Grid:RowUpdate', onRowUpdate);
	              						EventEmitter.unsubscribe('Tasks.Projects.Grid:RowRemove', onRowRemove);
	              */
	            },
	            'Search:onItemCreateAsync': function SearchOnItemCreateAsync(event) {
	              return new Promise(function (resolve) {
	                var _event$getData2 = event.getData(),
	                  searchQuery = _event$getData2.searchQuery;
	                var name = searchQuery.getQuery().toLowerCase();
	                var dialog = event.getTarget();
	                setTimeout(function () {
	                  var item = dialog.addItem({
	                    id: name,
	                    entityId: 'project-tag',
	                    title: name,
	                    tabs: 'all'
	                  });
	                  if (item) {
	                    item.select();
	                  }
	                  resolve();
	                }, 1000);
	              });
	            },
	            'Item:onSelect': onTagsChange,
	            'Item:onDeselect': onTagsChange
	          }
	        });
	        dialog.show();
	      });
	    }
	  }, {
	    key: "update",
	    value: function update(groupId, tagList) {
	      main_core.ajax.runAction('socialnetwork.api.workgroup.update', {
	        data: {
	          groupId: groupId,
	          fields: {
	            KEYWORDS: tagList.join(',')
	          }
	        }
	      }).then(function (response) {}, function (response) {})["catch"](function (response) {});
	      Actions.hideActionsPanel();
	      Actions.unselectRows();
	    }
	  }]);
	  return Tag;
	}();
	babelHelpers.defineProperty(Tag, "options", {});

	var Filter = /*#__PURE__*/function () {
	  function Filter(options) {
	    babelHelpers.classCallCheck(this, Filter);
	    this.filterInstance = BX.Main.filterManager.getById(options.filterId);
	    if (!this.filterInstance) {
	      return;
	    }
	    this.defaultFilterPresetId = options.defaultFilterPresetId;
	    this.gridId = options.gridId;
	    this.init();
	    this.bindEvents();
	  }
	  babelHelpers.createClass(Filter, [{
	    key: "init",
	    value: function init() {
	      this.fields = this.filterInstance.getFilterFieldsValues();
	    }
	  }, {
	    key: "bindEvents",
	    value: function bindEvents() {
	      main_core_events.EventEmitter.subscribe('BX.Main.Filter:apply', this.onFilterApply.bind(this));
	    }
	  }, {
	    key: "onFilterApply",
	    value: function onFilterApply() {
	      this.updateFields();
	    }
	  }, {
	    key: "updateFields",
	    value: function updateFields() {
	      this.fields = this.filterInstance.getFilterFieldsValues();
	    }
	  }, {
	    key: "toggleByField",
	    value: function toggleByField(field) {
	      var _this = this;
	      var name = Object.keys(field)[0];
	      var value = field[name];
	      if (!this.isFilteredByFieldValue(name, value)) {
	        this.filterInstance.getApi().extendFilter(babelHelpers.defineProperty({}, name, value));
	        return;
	      }
	      this.filterInstance.getFilterFields().forEach(function (field) {
	        if (field.getAttribute('data-name') === name) {
	          _this.filterInstance.getFields().deleteField(field);
	        }
	      });
	      this.filterInstance.getSearch().apply();
	    }
	  }, {
	    key: "isFilteredByFieldValue",
	    value: function isFilteredByFieldValue(field, value) {
	      return this.isFilteredByField(field) && this.fields[field] === value;
	    }
	  }, {
	    key: "isFilteredByField",
	    value: function isFilteredByField(field) {
	      if (!Object.keys(this.fields).includes(field)) {
	        return false;
	      }
	      if (main_core.Type.isArray(this.fields[field])) {
	        return this.fields[field].length > 0;
	      }
	      return this.fields[field] !== '';
	    }
	  }]);
	  return Filter;
	}();

	var Controller = /*#__PURE__*/function () {
	  babelHelpers.createClass(Controller, null, [{
	    key: "getById",
	    value: function getById(id) {
	      return Controller.repo.get(id);
	    }
	  }]);
	  function Controller(options) {
	    babelHelpers.classCallCheck(this, Controller);
	    this.gridInstance = new Grid(options);
	    this.membersPopup = new MembersPopup(options);
	    this.scrumMembersPopup = new ScrumMembersPopup(options);
	    Controller.repo.set(options.id, this);
	  }
	  babelHelpers.createClass(Controller, [{
	    key: "getMembersPopup",
	    value: function getMembersPopup() {
	      return this.membersPopup;
	    }
	  }, {
	    key: "getScrumMembersPopup",
	    value: function getScrumMembersPopup() {
	      return this.scrumMembersPopup;
	    }
	  }, {
	    key: "getInstance",
	    value: function getInstance() {
	      return this.gridInstance;
	    }
	  }, {
	    key: "getGrid",
	    value: function getGrid() {
	      return this.getInstance().getGrid();
	    }
	  }]);
	  return Controller;
	}();
	babelHelpers.defineProperty(Controller, "repo", new Map());

	exports.Controller = Controller;
	exports.ActionController = Actions;
	exports.TagController = Tag;
	exports.Filter = Filter;
	exports.PinManager = Pin;

}((this.BX.Socialnetwork.UI.Grid = this.BX.Socialnetwork.UI.Grid || {}),BX.Main,BX,BX,BX.Event));
//# sourceMappingURL=grid.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit