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/rospirotorg.ru/bitrix/js/ui/sidepanel/layout/dist/ |
Upload File : |
/* eslint-disable */ this.BX = this.BX || {}; this.BX.UI = this.BX.UI || {}; (function (exports,ui_fonts_opensans,sidepanel,main_core,main_core_events,ui_buttons,ui_sidepanel_menu) { 'use strict'; let _ = t => t, _t, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; const UI = BX.UI; const SidePanel = BX.SidePanel; function prepareOptions(options = {}) { options = { ...options }; options.design = { ...options.design }; options.design = { margin: true, section: true, ...options.design }; options.extensions = [...(options.extensions || []), 'ui.sidepanel.layout', 'ui.buttons']; if (options.toolbar) { options.extensions.push('ui.buttons.icons'); } if (options.design.section) { options.extensions.push('ui.sidepanel-content'); } if (options.menu) { options.extensions.push('ui.sidepanel.menu'); } return options; } var _container = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("container"); var _containerFooter = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("containerFooter"); var _options = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("options"); var _menu = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("menu"); var _getScrollWidth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getScrollWidth"); var _adjustFooter = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("adjustFooter"); var _onMenuItemClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onMenuItemClick"); class Layout { static createContent(options = {}) { options = prepareOptions(options); return top.BX.Runtime.loadExtension(options.extensions).then(() => new Layout(options).render()); } static createLayout(options = {}) { options = prepareOptions(options); return top.BX.Runtime.loadExtension(options.extensions).then(() => new Layout(options)); } constructor(options = {}) { Object.defineProperty(this, _onMenuItemClick, { value: _onMenuItemClick2 }); Object.defineProperty(this, _adjustFooter, { value: _adjustFooter2 }); Object.defineProperty(this, _getScrollWidth, { value: _getScrollWidth2 }); Object.defineProperty(this, _container, { writable: true, value: void 0 }); Object.defineProperty(this, _containerFooter, { writable: true, value: void 0 }); Object.defineProperty(this, _options, { writable: true, value: void 0 }); Object.defineProperty(this, _menu, { writable: true, value: void 0 }); babelHelpers.classPrivateFieldLooseBase(this, _options)[_options] = prepareOptions(options); const menuOptions = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].menu; if (menuOptions) { babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu] = new ui_sidepanel_menu.Menu(Object.assign(menuOptions)); if (main_core.Type.isUndefined(menuOptions.contentAttribute)) { menuOptions.contentAttribute = 'data-menu-item-id'; } if (menuOptions.contentAttribute) { babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu].subscribe('click', event => { babelHelpers.classPrivateFieldLooseBase(this, _onMenuItemClick)[_onMenuItemClick]((event.getData() || {}).item); }); } } } getContainer() { if (!babelHelpers.classPrivateFieldLooseBase(this, _container)[_container]) { babelHelpers.classPrivateFieldLooseBase(this, _container)[_container] = main_core.Tag.render(_t || (_t = _`<div class="ui-sidepanel-layout"></div>`)); } return babelHelpers.classPrivateFieldLooseBase(this, _container)[_container]; } getMenu() { return babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu]; } getFooterContainer() { if (!babelHelpers.classPrivateFieldLooseBase(this, _containerFooter)[_containerFooter]) { babelHelpers.classPrivateFieldLooseBase(this, _containerFooter)[_containerFooter] = main_core.Tag.render(_t2 || (_t2 = _`<div class="ui-sidepanel-layout-footer"></div>`)); } return babelHelpers.classPrivateFieldLooseBase(this, _containerFooter)[_containerFooter]; } render(content = '', promised = false) { if (babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].content && !promised) { content = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].content(); if (Object.prototype.toString.call(content) === '[object Promise]' || content.toString && content.toString() === '[object BX.Promise]') { return content.then(content => this.render(content, true)); } } const container = this.getContainer(); container.innerHTML = ''; // HEADER if (babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].title) { const title = main_core.Tag.safe(_t3 || (_t3 = _`${0}`), babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].title); const header = main_core.Tag.render(_t4 || (_t4 = _` <div class="ui-sidepanel-layout-header"> <div class="ui-sidepanel-layout-title">${0}</div> </div> `), title); if (main_core.Type.isFunction(babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].toolbar)) { const toolbar = main_core.Tag.render(_t5 || (_t5 = _`<div class="ui-sidepanel-layout-toolbar"></div>`)); babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].toolbar({ ...UI }).forEach(button => { if (button instanceof ui_buttons.BaseButton) { button.renderTo(toolbar); } else if (main_core.Type.isDomNode(button)) { main_core.Dom.append(button, toolbar); } else { throw new main_core.BaseError(`Wrong button type ${button}`); } }); main_core.Dom.append(toolbar, header); } main_core.Dom.append(header, container); } // CONTENT { const design = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].design; const classes = ['ui-sidepanel-layout-content']; const styles = []; if (design.margin) { if (design.margin === true) { classes.push('ui-sidepanel-layout-content-margin'); } else { styles.push(`margin: ${design.margin}`); } } let contentElement = main_core.Tag.render(_t6 || (_t6 = _`<div class="${0}" style="${0}"></div>`), classes.join(' '), styles.join('; ')); main_core.Dom.append(contentElement, container); if (babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu]) { babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu].renderTo(contentElement); } main_core.Dom.append(main_core.Tag.render(_t7 || (_t7 = _`<div class="ui-sidepanel-layout-content-inner"></div>`)), contentElement); contentElement = contentElement.lastElementChild; if (design.section) { main_core.Dom.append(main_core.Tag.render(_t8 || (_t8 = _`<div class="ui-slider-section ui-sidepanel-layout-content-fill-height"></div>`)), contentElement); contentElement = contentElement.firstElementChild; } if (main_core.Type.isString(content)) { contentElement.innerHTML = content; } else if (content instanceof Element) { main_core.Dom.append(content, contentElement); } if (babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu]) { babelHelpers.classPrivateFieldLooseBase(this, _onMenuItemClick)[_onMenuItemClick](babelHelpers.classPrivateFieldLooseBase(this, _menu)[_menu].getActiveItem(), contentElement); } } // FOOTER const isButtonsUndefined = main_core.Type.isUndefined(babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].buttons); if (main_core.Type.isFunction(babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].buttons) || isButtonsUndefined) { const cancelButton = new ui_buttons.CancelButton({ onclick: () => SidePanel.Instance.close() }); const closeButton = new ui_buttons.CloseButton({ onclick: () => SidePanel.Instance.close() }); const defaults = { ...UI, cancelButton, closeButton }; if (isButtonsUndefined) { babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].buttons = () => [closeButton]; } const buttonList = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].buttons(defaults); if (buttonList && buttonList.length > 0) { main_core.Dom.append(main_core.Tag.render(_t9 || (_t9 = _`<div class="ui-sidepanel-layout-footer-anchor"></div>`)), container); const classes = ['ui-sidepanel-layout-buttons']; if (babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].design.alignButtonsLeft) { classes.push('ui-sidepanel-layout-buttons-align-left'); } const buttons = main_core.Tag.render(_t10 || (_t10 = _`<div class="${0}"></div>`), classes.join(' ')); main_core.Dom.append(buttons, this.getFooterContainer()); buttonList.forEach(button => { if (button instanceof ui_buttons.BaseButton) { button.renderTo(buttons); } else if (main_core.Type.isDomNode(button)) { main_core.Dom.append(button, buttons); } else { throw new main_core.BaseError(`Wrong button type ${button}`); } }); main_core.Dom.append(this.getFooterContainer(), container); } } setTimeout(() => { this.afterRender(); }); return container; } afterRender() { babelHelpers.classPrivateFieldLooseBase(this, _adjustFooter)[_adjustFooter](); const resizeHandler = main_core.Runtime.throttle(babelHelpers.classPrivateFieldLooseBase(this, _adjustFooter)[_adjustFooter], 300, this); main_core.Event.bind(window, 'resize', resizeHandler); const topSlider = SidePanel.Instance.getTopSlider(); if (topSlider) { main_core_events.EventEmitter.subscribeOnce(topSlider, 'SidePanel.Slider:onDestroy', () => { main_core.Event.unbind(window, 'resize', resizeHandler); }); } } } function _getScrollWidth2() { const div = main_core.Tag.render(_t11 || (_t11 = _`<div style="overflow-y: scroll; width: 50px; height: 50px; opacity: 0; pointer-events: none; position: absolute;"></div>`)); main_core.Dom.append(div, document.body); const scrollWidth = div.offsetWidth - div.clientWidth; main_core.Dom.remove(div); return scrollWidth; } function _adjustFooter2() { const parentSet = this.getContainer().parentNode; if (parentSet !== null && parentSet.scrollWidth > parentSet.offsetWidth) { main_core.Dom.style(this.getFooterContainer(), 'bottom', `${babelHelpers.classPrivateFieldLooseBase(this, _getScrollWidth)[_getScrollWidth]()}px`); } else { main_core.Dom.style(this.getFooterContainer(), 'bottom', 0); } } function _onMenuItemClick2(item, container = null) { if (!item) { return; } const id = item.getId(); const attr = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].menu.contentAttribute; if (!attr) { return; } container = container || babelHelpers.classPrivateFieldLooseBase(this, _container)[_container]; let nodes = container.querySelectorAll(`[${attr}]`); nodes = Array.prototype.slice.call(nodes); nodes.forEach(node => { node.hidden = node.getAttribute(attr) !== id; }); } exports.Layout = Layout; }((this.BX.UI.SidePanel = this.BX.UI.SidePanel || {}),BX,BX,BX,BX.Event,BX.UI,BX.UI.SidePanel)); //# sourceMappingURL=sidepanel.layout.bundle.js.map