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/rest/app-form/src/ |
Upload File : |
import { ConfigProvider } from './providers/config-provider'; import { EventType } from './providers/event-type'; import { Loader } from 'main.loader'; export type FormConfig = { config: string } export class AppForm { #url = '/marketplace/app/settings/'; #width = 575; #options: FormConfig; constructor(options: FormConfig) { this.#options = options; } show(): void { top.BX.SidePanel.Instance.open(this.#url, { width: this.#width, requestMethod: 'post', requestParams: this.#options, allowChangeHistory: false, }); } static sliderLoader() { top.BX.SidePanel.Instance.open('rest:app-form.loader', { width: 575, contentCallback: (slider) => { const loader = new Loader({ target: slider.getFrameWindow(), }); return loader.show(); }, requestMethod: 'post', allowChangeHistory: false, }); } static buildByApp(clientId: string, eventType: EventType): Promise { const provider = new ConfigProvider(clientId, eventType); return provider.fetch().then((response) => { return (new AppForm(response.data)); }); } static buildByAppWithLoader(clientId: string, eventType: EventType): Promise { const provider = new ConfigProvider(clientId, eventType); AppForm.sliderLoader(); return provider.fetch().then((response) => { top.BX.SidePanel.Instance.close(true); top.BX.SidePanel.Instance.destroy('loader'); return (new AppForm(response.data)); }); } } export { EventType, };