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/form-elements/field/src/ |
Upload File : |
import { BaseSettingsElement } from './base-settings-element'; import { Tab, Tabs } from 'ui.tabs'; import type { TabOptionsType } from 'ui.tabs'; import {Dom} from "main.core"; import {TabsField} from "ui.form-elements.field"; export type TabFieldType = { parent: BaseSettingsElement, tabsOptions?: TabOptionsType, fieldView?: Tab }; export class TabField extends BaseSettingsElement { #fieldView: Tab; constructor(params: TabFieldType) { super(params); this.setParentElement(params.parent); if (params.fieldView instanceof Tab) { this.#fieldView = params.fieldView; } else if (params.tabsOptions) { this.#fieldView = new Tab(params.tabsOptions); } else { throw new Error('Tab field in Settings is not correct.'); } if (params.parent.getFieldView() instanceof Tabs) { params.parent.getFieldView().addItem(this.#fieldView); } if (this.getParentElement() instanceof TabsField) { this.#fieldView.subscribe('changeTab', () => { this.getParentElement().activateTab(this); }); } } getFieldView(): Tab { return this.#fieldView; } render(): HTMLElement { for (const element of this.getChildrenElements()) { Dom.append(element.render(), this.getFieldView().getBodyDataContainer()); } return this.getFieldView().getBody(); } highlight(): boolean { this.highlightElement(this.getFieldView().getBody()); this.highlightElement(this.getFieldView().getHeader()); return true; } }