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/widgetvue/engine/dist/ |
Upload File : |
/* eslint-disable */ this.BX = this.BX || {}; this.BX.Landing = this.BX.Landing || {}; (function (exports,main_loader,ui_vue3,main_core_events,main_core) { 'use strict'; const fetchAlarmTime = 5000; const Content = { props: { defaultData: { type: Object, default: null }, clickable: { type: Boolean, default: false } }, data() { return { isFetching: false, timeout: null }; }, created() { main_core_events.EventEmitter.subscribe('landing:widgetvue:engine:onSetData', this.onSetData); }, beforeUnmount() { main_core_events.EventEmitter.unsubscribe('landing:widgetvue:engine:onSetData', this.onSetData); }, methods: { onSetData(event) { clearTimeout(this.timeout); this.$bitrix.eventEmitter.emit('landing:widgetvue:engine:endContentLoad'); this.$bitrix.eventEmitter.emit('landing:widgetvue:engine:onHideMessage'); this.isFetching = false; if (main_core.Type.isObject(event.getData().data)) { const data = event.getData().data; Object.keys(data).forEach(code => { if (this[code] !== undefined) { this[code] = data[code]; } // todo: and crete refs if not exists? }); } }, fetch(params = {}) { if (!this.clickable || this.isFetching) { console.info('Events is disabled now'); return; } this.isFetching = true; this.$bitrix.eventEmitter.emit('landing:widgetvue:engine:startContentLoad'); this.timeout = setTimeout(() => { this.$bitrix.eventEmitter.emit('landing:widgetvue:engine:onMessage', { message: main_core.Loc.getMessage('LANDING_WIDGETVUE_LOADER_TOO_LONG') }); this.$bitrix.eventEmitter.emit('landing:widgetvue:engine:endContentLoad'); }, fetchAlarmTime); this.$bitrix.Application.get().fetch(params); }, openApplication(params = {}) { if (!this.clickable) { console.info('Events is disabled now'); return; } this.$bitrix.Application.get().openApplication(params); }, openPath(path) { if (!this.clickable) { console.info('Events is disabled now'); return; } this.$bitrix.Application.get().openPath(path); } }, setup(props) { // todo: to docs. All refs must be implicated in default? or we can create, but v-for can be broken // todo: or create refs via data? or pass when create const dataRefs = {}; if (main_core.Type.isObject(props.defaultData)) { Object.keys(props.defaultData).forEach(code => { dataRefs[code] = ui_vue3.ref(props.defaultData[code]); }); } return dataRefs; } }; const Message = { props: { message: { type: String, default: main_core.Loc.getMessage('LANDING_WIDGETVUE_LOADER_DEFAULT_MESSAGE') }, link: { type: String, default: null }, linkText: { type: String, default: main_core.Loc.getMessage('LANDING_WIDGETVUE_ERROR_DEFAULT_LINK_TEXT') } }, template: ` <div class="w-loader"> <div class="w-loader-icon"></div> <div class="w-loader-text"> <div>{{message}}</div> </div> </div> ` }; const Error = { props: { message: { type: String, default: main_core.Loc.getMessage('LANDING_WIDGETVUE_ERROR_DEFAULT_MESSAGE') }, link: { type: String, default: null }, linkText: { type: String, default: main_core.Loc.getMessage('LANDING_WIDGETVUE_ERROR_DEFAULT_LINK_TEXT') } }, template: ` <div class="w-error"> <div class="w-loader-icon --error"></div> <div class="w-error-text"> <div>{{message}}</div> <a v-show="link !== null" class="w-loader-link" :href="link" > {{linkText}} </a> </div> </div> ` }; var _parentOrigin = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("parentOrigin"); var _id = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("id"); var _rootNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("rootNode"); var _data = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("data"); var _error = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("error"); var _clickable = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("clickable"); var _application = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("application"); var _contentComponent = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("contentComponent"); var _message = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("message"); var _bindEvents = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents"); var _onMessage = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onMessage"); var _refreshFrameSize = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("refreshFrameSize"); var _createApp = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createApp"); class Engine { constructor(options) { Object.defineProperty(this, _createApp, { value: _createApp2 }); Object.defineProperty(this, _refreshFrameSize, { value: _refreshFrameSize2 }); Object.defineProperty(this, _onMessage, { value: _onMessage2 }); Object.defineProperty(this, _bindEvents, { value: _bindEvents2 }); Object.defineProperty(this, _message, { value: _message2 }); Object.defineProperty(this, _parentOrigin, { writable: true, value: '' }); Object.defineProperty(this, _id, { writable: true, value: '' }); Object.defineProperty(this, _rootNode, { writable: true, value: void 0 }); Object.defineProperty(this, _data, { writable: true, value: void 0 }); Object.defineProperty(this, _error, { writable: true, value: void 0 }); Object.defineProperty(this, _clickable, { writable: true, value: false }); Object.defineProperty(this, _application, { writable: true, value: void 0 }); Object.defineProperty(this, _contentComponent, { writable: true, value: void 0 }); babelHelpers.classPrivateFieldLooseBase(this, _id)[_id] = main_core.Type.isString(options.id) ? options.id : ''; babelHelpers.classPrivateFieldLooseBase(this, _rootNode)[_rootNode] = document.querySelector(`#${babelHelpers.classPrivateFieldLooseBase(this, _id)[_id]}`); babelHelpers.classPrivateFieldLooseBase(this, _parentOrigin)[_parentOrigin] = main_core.Type.isString(options.origin) ? options.origin : null; babelHelpers.classPrivateFieldLooseBase(this, _data)[_data] = main_core.Type.isObject(options.data) ? options.data : null; babelHelpers.classPrivateFieldLooseBase(this, _error)[_error] = main_core.Type.isString(options.error) ? options.error : null; babelHelpers.classPrivateFieldLooseBase(this, _clickable)[_clickable] = main_core.Type.isBoolean(options.clickable) ? options.clickable : false; babelHelpers.classPrivateFieldLooseBase(this, _contentComponent)[_contentComponent] = main_core.Runtime.clone(Content); } render() { if (babelHelpers.classPrivateFieldLooseBase(this, _rootNode)[_rootNode]) { this.loader = new main_loader.Loader({ target: babelHelpers.classPrivateFieldLooseBase(this, _rootNode)[_rootNode] }); babelHelpers.classPrivateFieldLooseBase(this, _contentComponent)[_contentComponent].template = babelHelpers.classPrivateFieldLooseBase(this, _rootNode)[_rootNode].innerHTML || ''; babelHelpers.classPrivateFieldLooseBase(this, _contentComponent)[_contentComponent].template = `<div>${babelHelpers.classPrivateFieldLooseBase(this, _contentComponent)[_contentComponent].template}</div>`; babelHelpers.classPrivateFieldLooseBase(this, _bindEvents)[_bindEvents](); babelHelpers.classPrivateFieldLooseBase(this, _createApp)[_createApp](); } } showLoader() { this.loader.show(); } hideLoader() { this.loader.hide(); } fetch(params = {}) { if (params instanceof Event) { params = {}; } babelHelpers.classPrivateFieldLooseBase(this, _message)[_message]('fetchData', params); } openApplication(params = {}) { babelHelpers.classPrivateFieldLooseBase(this, _message)[_message]('openApplication', params); } openPath(path) { babelHelpers.classPrivateFieldLooseBase(this, _message)[_message]('openPath', { path }); } } function _message2(name, params = {}) { window.parent.postMessage({ name, params, origin: babelHelpers.classPrivateFieldLooseBase(this, _id)[_id] }, babelHelpers.classPrivateFieldLooseBase(this, _parentOrigin)[_parentOrigin]); } function _bindEvents2() { main_core.Event.bind(window, 'message', babelHelpers.classPrivateFieldLooseBase(this, _onMessage)[_onMessage].bind(this)); } function _onMessage2(event) { if (event.data && event.data.origin && event.data.name && event.data.params && main_core.Type.isObject(event.data.params)) { if (event.data.origin !== babelHelpers.classPrivateFieldLooseBase(this, _id)[_id]) { return; } if (event.data.name === 'setData' && main_core.Type.isObject(event.data.params.data)) { main_core_events.EventEmitter.emit('landing:widgetvue:engine:onSetData', { data: event.data.params.data }); } if (event.data.name === 'setError' && main_core.Type.isObject(event.data.params.error) && main_core.Type.isString(event.data.params.error.message)) { main_core_events.EventEmitter.emit('landing:widgetvue:engine:onError', { message: event.data.params.error.message }); } if (event.data.name === 'getSize') ; babelHelpers.classPrivateFieldLooseBase(this, _refreshFrameSize)[_refreshFrameSize](); } } function _refreshFrameSize2() { requestAnimationFrame(() => { babelHelpers.classPrivateFieldLooseBase(this, _message)[_message]('setSize', { size: babelHelpers.classPrivateFieldLooseBase(this, _rootNode)[_rootNode].offsetHeight }); }); } function _createApp2() { const context = this; const defaultError = babelHelpers.classPrivateFieldLooseBase(this, _error)[_error] ? { message: babelHelpers.classPrivateFieldLooseBase(this, _error)[_error] } : null; babelHelpers.classPrivateFieldLooseBase(this, _application)[_application] = ui_vue3.BitrixVue.createApp({ name: babelHelpers.classPrivateFieldLooseBase(this, _id)[_id], components: { Message, Error, Content: babelHelpers.classPrivateFieldLooseBase(this, _contentComponent)[_contentComponent] }, props: { defaultData: { type: Object, default: null } }, data() { return { message: null, error: defaultError }; }, created() { this.$bitrix.eventEmitter.subscribe('landing:widgetvue:engine:startContentLoad', this.onShowLoader); this.$bitrix.eventEmitter.subscribe('landing:widgetvue:engine:endContentLoad', this.onHideLoader); this.$bitrix.eventEmitter.subscribe('landing:widgetvue:engine:onMessage', this.onShowMessage); this.$bitrix.eventEmitter.subscribe('landing:widgetvue:engine:onHideMessage', this.onHideMessage); main_core_events.EventEmitter.subscribe('landing:widgetvue:engine:onError', this.onShowError); }, mounted() { babelHelpers.classPrivateFieldLooseBase(this.$bitrix.Application.get(), _refreshFrameSize)[_refreshFrameSize](); this.$nextTick(() => { const links = this.$el.getElementsByTagName('a'); if (links.length > 0) { [].slice.call(links).map(link => { main_core.Event.bind(link, 'click', event => { event.preventDefault(); event.stopPropagation(); }); }); } }); }, beforeUnmount() { this.$bitrix.eventEmitter.unsubscribe('landing:widgetvue:engine:startContentLoad', this.onShowLoader); this.$bitrix.eventEmitter.unsubscribe('landing:widgetvue:engine:endContentLoad', this.onHideLoader); this.$bitrix.eventEmitter.unsubscribe('landing:widgetvue:engine:onMessage', this.onShowMessage); this.$bitrix.eventEmitter.unsubscribe('landing:widgetvue:engine:onHideMessage', this.onHideMessage); main_core_events.EventEmitter.unsubscribe('landing:widgetvue:engine:onError', this.onShowError); }, methods: { onShowLoader() { // todo: move loader to comp this.$bitrix.Application.get().showLoader(); }, onHideLoader() { // todo: move loader to comp this.$bitrix.Application.get().hideLoader(); }, onShowMessage(event) { var _event$getData; const message = ((_event$getData = event.getData()) == null ? void 0 : _event$getData.message) || null; this.message = message ? { message } : null; }, onHideMessage() { this.message = null; }, onShowError(event) { var _event$getData2; // todo: set error link? const message = ((_event$getData2 = event.getData()) == null ? void 0 : _event$getData2.message) || null; this.error = message ? { message } : null; this.onHideLoader(); } }, beforeCreate() { this.$bitrix.Application.set(context); }, template: ` <div class="widget"> <Error v-show="error !== null" v-bind="error && error.message !== null ? error : {}" /> <Message v-show="message !== null" v-bind="message && message.message !== null ? message : {}" /> <Content v-show="message === null && error === null" :defaultData="defaultData" :clickable=${babelHelpers.classPrivateFieldLooseBase(this, _clickable)[_clickable]} /> </div> ` }, { defaultData: babelHelpers.classPrivateFieldLooseBase(this, _data)[_data] }); babelHelpers.classPrivateFieldLooseBase(this, _application)[_application].mount(babelHelpers.classPrivateFieldLooseBase(this, _rootNode)[_rootNode]); } exports.Engine = Engine; }((this.BX.Landing.WidgetVue = this.BX.Landing.WidgetVue || {}),BX,BX.Vue3,BX.Event,BX)); //# sourceMappingURL=engine.bundle.js.map