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/landing/explorer/src/ |
Upload File : |
import { Loc, Tag, Text} from 'main.core'; export type DataType = { ID: number, TITLE: string, TYPE: string }; export type FolderType = { ID: number, TITLE: string, PARENT_ID: ?number }; import 'ui.icons.disk'; export class ExplorerUI { static getLoader(): HTMLElement { return Tag.render`<div class="landing-explorer-loader"> <div class="main-ui-loader"> <svg class="main-ui-loader-svg" viewBox="25 25 50 50"> <circle class="main-ui-loader-svg-circle" cx="50" cy="50" r="20" fill="none" stroke-miterlimit="10"/> </svg> </div> </div>`; } static getActionButton(title: string, hadnler: () => {}): BX.UI.Button { return new BX.UI.Button({ id: 'landing-explorer-action', size: BX.UI.Button.Size.MEDIUM, color: BX.UI.Button.Color.SUCCESS, text: title, events: { click: hadnler } }); } static getCancelButton(hadnler: () => {}): BX.UI.Button { return new BX.UI.Button({ id: 'landing-explorer-cancel', size: BX.UI.Button.Size.MEDIUM, color: BX.UI.Button.Color.LINK, text: Loc.getMessage('LANDING_EXT_EXPLORER_BUTTON_CANCEL'), events: { click: hadnler } }); } static getSiteList(data: Array<DataType>, onClick: () => {}, siteType: string): HTMLElement { return Tag.render` <ul class="landing-site-selector-list"> ${data.map(item => { if (siteType !== 'SMN' && item.TYPE !== siteType) { return; } return Tag.render` <li class="landing-site-selector-item" data-explorer-depth="0" data-explorer-siteId="${item.ID}" onclick="${() => onClick(item.ID)}"> <span class="ui-icon ui-icon-file-folder"><i></i></span> <span class="landing-site-selector-item-value"> ${Text.encode(item.TITLE)} </span> </li> `; })} </ul> `; } static getFolderItem(item: DataType, depth: number, onClick: () => {}): HTMLElement { return Tag.render` <li style="padding-left: ${30 * depth}px" class="landing-site-selector-item landing-site-selector-item-lower" data-explorer-depth="${depth}" data-explorer-folderId="${item.ID}" onclick="${() => onClick(item.ID)}"> <span class="ui-icon ui-icon-file-folder"><i></i></span> <span class="landing-site-selector-item-value"> ${Text.encode(item.TITLE)} </span> </li> `; } }