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/actions-bar/dist/ |
Upload File : |
{"version":3,"file":"actions-bar.bundle.js","sources":["../src/right-buttons.js","../src/index.js"],"sourcesContent":["import { AirButtonStyle, Button, ButtonColor, ButtonManager, ButtonSize } from 'ui.buttons';\nimport { Dom, Extension } from 'main.core';\n\nexport type RightButtonsOptions = {\n\tbuttonsContainer: HTMLElement;\n\tcollapsable: ?boolean;\n}\n\nexport class RightButtons\n{\n\t#buttonsContainer: HTMLElement;\n\t#buttons: Button[];\n\t#resizeObserver: ResizeObserver;\n\t#mutationObserver: MutationObserver;\n\t#deltas: number[];\n\t#collapsable: boolean;\n\n\tstatic #shift = 32;\n\n\tconstructor(options: RightButtonsOptions)\n\t{\n\t\tthis.#buttonsContainer = options.buttonsContainer;\n\t\tthis.#collapsable = options.collapsable === true;\n\t}\n\n\tinit(): void\n\t{\n\t\tif (this.#useAirDesign() === false)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#initButtons();\n\n\t\tif (this.#collapsable)\n\t\t{\n\t\t\tthis.#handleContainerWidthUpdate();\n\t\t\tthis.#initResizeObserver();\n\t\t}\n\n\t\tthis.#initMutationObserver();\n\n\t\tthis.#observe();\n\t}\n\n\t#initButtons(): void\n\t{\n\t\tconst buttonElements = this.#buttonsContainer.querySelectorAll('.ui-btn, .ui-btn-split');\n\n\t\tthis.#buttons = [...buttonElements].map((button) => {\n\t\t\tconst btn = ButtonManager.createFromNode(button);\n\t\t\tthis.#styleButton(btn);\n\n\t\t\treturn btn;\n\t\t});\n\n\t\tthis.#deltas = this.#buttons.map(() => 0);\n\t}\n\n\t#initResizeObserver(): void\n\t{\n\t\tthis.#resizeObserver = new ResizeObserver((entries) => {\n\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\tfor (const entry of entries)\n\t\t\t{\n\t\t\t\tthis.#handleContainerWidthUpdate();\n\t\t\t}\n\t\t});\n\t}\n\n\t#initMutationObserver(): void\n\t{\n\t\tthis.#mutationObserver = new MutationObserver((mutationsList) => {\n\t\t\tmutationsList.forEach((mutation) => {\n\t\t\t\tif (mutation.type !== 'childList')\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tmutation.addedNodes.forEach((node) => {\n\t\t\t\t\tif (node.nodeType !== Node.ELEMENT_NODE)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Dom.hasClass(node, 'ui-btn') || Dom.hasClass(node, 'ui-btn-split'))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.#initButtons();\n\t\t\t\t\t}\n\n\t\t\t\t\tconst foundButtons = node.querySelectorAll('.ui-btn, .ui-btn-split');\n\n\t\t\t\t\tif (foundButtons.length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.#initButtons();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t#observe(): void\n\t{\n\t\tthis.#resizeObserver?.observe(this.#buttonsContainer);\n\t\tthis.#mutationObserver?.observe(this.#buttonsContainer, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t});\n\t}\n\n\t#handleContainerWidthUpdate(): void\n\t{\n\t\tif (this.#isButtonsOverflowContainer())\n\t\t{\n\t\t\tthis.#collapseOneMoreButton();\n\t\t}\n\t\telse if (this.#isEnoughSpaceForExpandedButton())\n\t\t{\n\t\t\tthis.#expandOneMoreButton();\n\t\t}\n\t}\n\n\t#isButtonsOverflowContainer(): boolean\n\t{\n\t\treturn this.#getButtonRelativePositionLeft() + RightButtons.#shift >= 0;\n\t}\n\n\t#isEnoughSpaceForExpandedButton(): boolean\n\t{\n\t\treturn this.#getButtonRelativePositionLeft() + this.#getDelta() + RightButtons.#shift < 0;\n\t}\n\n\t#getButtonRelativePositionLeft(): number\n\t{\n\t\treturn Dom.getRelativePosition(this.#buttonsContainer, this.#buttons[0].getContainer()).left;\n\t}\n\n\t#expandOneMoreButton(): void\n\t{\n\t\tconst collapsedButtonIndex = this.#buttons.findIndex((button) => button.isCollapsed());\n\n\t\tif (collapsedButtonIndex < 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapsedButton = this.#buttons[collapsedButtonIndex];\n\n\t\tcollapsedButton.setCollapsed(false);\n\t\tthis.#deltas[collapsedButtonIndex] = 0;\n\n\t\tif (this.#isEnoughSpaceForExpandedButton())\n\t\t{\n\t\t\tthis.#expandOneMoreButton();\n\t\t}\n\t}\n\n\t#collapseOneMoreButton(): void\n\t{\n\t\tconst notCollapsedButtonIndex = this.#buttons.findLastIndex((button) => button.isCollapsed() === false);\n\n\t\tif (notCollapsedButtonIndex < 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst notCollapsedButton = this.#buttons[notCollapsedButtonIndex];\n\n\t\tthis.#deltas[notCollapsedButtonIndex] += notCollapsedButton.getContainer().offsetWidth;\n\t\tnotCollapsedButton.setCollapsed(true);\n\t\tthis.#deltas[notCollapsedButtonIndex] -= notCollapsedButton.getContainer().offsetWidth;\n\n\t\tif (this.#isButtonsOverflowContainer())\n\t\t{\n\t\t\tthis.#collapseOneMoreButton();\n\t\t}\n\t}\n\n\t#getDelta(): number\n\t{\n\t\treturn this.#deltas.find((delta) => delta > 0) ?? 0;\n\t}\n\n\t#useAirDesign(): boolean\n\t{\n\t\treturn Extension.getSettings('ui.actions-bar').get('useAirDesign');\n\t}\n\n\t#styleButton(button: Button): void\n\t{\n\t\tconst isButtonHasAirDesign = button.hasAirDesign();\n\n\t\tbutton.setAirDesign(true);\n\t\tbutton.setSize(ButtonSize.SMALL);\n\t\tif (isButtonHasAirDesign === false)\n\t\t{\n\t\t\tbutton.setStyle(this.#buttonColorStyleMap(button.getColor()));\n\t\t}\n\t\tbutton.setNoCaps(true);\n\t}\n\n\t#buttonColorStyleMap(color: ButtonColor): string\n\t{\n\t\tif (color === ButtonColor.PRIMARY)\n\t\t{\n\t\t\treturn AirButtonStyle.FILLED;\n\t\t}\n\n\t\treturn AirButtonStyle.OUTLINE;\n\t}\n}\n","import { RightButtons, type RightButtonsOptions as rbo } from './right-buttons';\n\nimport './css/actions-bar.css';\n\nexport type RightButtonsOptions = rbo;\n\nexport const ActionsBar = {\n\tRightButtons,\n};\n"],"names":["RightButtons","constructor","options","buttonsContainer","collapsable","init","buttonElements","querySelectorAll","map","button","btn","ButtonManager","createFromNode","ResizeObserver","entries","entry","MutationObserver","mutationsList","forEach","mutation","type","addedNodes","node","nodeType","Node","ELEMENT_NODE","Dom","hasClass","foundButtons","length","observe","childList","subtree","getRelativePosition","getContainer","left","collapsedButtonIndex","findIndex","isCollapsed","collapsedButton","setCollapsed","notCollapsedButtonIndex","findLastIndex","notCollapsedButton","offsetWidth","find","delta","Extension","getSettings","get","isButtonHasAirDesign","hasAirDesign","setAirDesign","setSize","ButtonSize","SMALL","setStyle","getColor","setNoCaps","color","ButtonColor","PRIMARY","AirButtonStyle","FILLED","OUTLINE","ActionsBar"],"mappings":"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"}