%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.138.204.96 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/landing/ui/panel/ |
Upload File : |
;(function() { "use strict"; BX.namespace("BX.Landing.UI.Panel"); /** * Implements base interface for works with panel * * @param {?string} [id] * @constructor */ BX.Landing.UI.Panel.BasePanel = function(id) { this.id = BX.type.isNotEmptyString(id) ? id : BX.Landing.UI.Panel.BasePanel.makeId(); this.layout = BX.Landing.UI.Panel.BasePanel.createLayout(this.id); this.classShow = "landing-ui-show"; this.classHide = "landing-ui-hide"; this.forms = new BX.Landing.UI.Collection.FormCollection(); }; /** * Makes panel id * @return {string} */ BX.Landing.UI.Panel.BasePanel.makeId = function() { return "landing_ui_panel_" + (+new Date()); }; /** * Creates panel layout * * @param {string} id - Panel id * @return {HTMLElement} */ BX.Landing.UI.Panel.BasePanel.createLayout = function(id) { return BX.create("div", { props: {className: "landing-ui-panel landing-ui-hide"}, attrs: {"data-id": id} }); }; BX.Landing.UI.Panel.BasePanel.prototype = { /** * Shows panel */ show: function() { if (!this.isShown()) { return BX.Landing.Utils.Show(this.layout); } return Promise.resolve(); }, /** * Hides panel */ hide: function() { if (this.isShown()) { return BX.Landing.Utils.Hide(this.layout); } return Promise.resolve(); }, /** * Checks that panel is shown * @return {boolean} */ isShown: function() { return ( (this.layout.classList.contains(this.classShow) && !this.layout.classList.contains(this.classHide)) || (!this.layout.classList.contains(this.classShow) && !this.layout.classList.contains(this.classHide)) ); }, /** * Sets layout content * @param {?string|HTMLElement|HTMLElement[]} content */ setContent: function(content) { this.layout.innerHTML = ""; if (BX.type.isNotEmptyString(content)) { this.layout.innerHTML = content; } if (BX.type.isDomNode(content)) { this.appendContent(content); } if (BX.type.isArray(content)) { content.forEach(this.appendContent, this); } }, /** * Appends element * @param {HTMLElement} content */ appendContent: function(content) { if (BX.type.isDomNode(content)) { this.layout.appendChild(content); } }, /** * Prepends content * @param {HTMLElement} content */ prependContent: function(content) { if (BX.type.isDomNode(content)) { BX.prepend(content, this.layout); } }, /** * Removes this panel */ remove: function() { BX.remove(this.layout); }, /** * Appends form to panel body * @param {BX.Landing.UI.Form.BaseForm} form */ appendForm: function(form) { this.layout.appendChild(form.getNode()); }, /** * Clears body content */ clear: function() { this.layout.innerHTML = ""; } }; })();