Файловый менеджер - Редактировать - /var/www/axolotl/data/www/ekb.axolotls.ru/cf5ac/pull.components.status.js.tar
Назад
var/www/axolotl/data/www/axolotls.ru/www/bitrix/js/pull/components/status/pull.components.status.js 0000664 00000010035 14764461250 0030150 0 ustar 00 import "./pull.components.status.css"; /** * Bitrix UI * Pull connection status Vue component * * @package bitrix * @subpackage pull * @copyright 2001-2019 Bitrix */ BX.Vue.component('bx-pull-status', { /** * @emits 'reconnect' {} - work only with props.canReconnect = true */ props: { canReconnect: { default: false } }, data() { return { status: BX.PullClient.PullStatus.Online, showed: null } }, created() { this.isMac = navigator.userAgent.toLowerCase().includes('macintosh'); this.setStatusTimeout = null; this.hideTimeout = null; this.pullUnSubscribe = () => {}; if (typeof this.$root.$bitrixPullClient !== 'undefined') { if (this.$root.$bitrixPullClient) { this.subscribe(this.$root.$bitrixPullClient); } else { this.$root.$on('onBitrixPullClientInited', () => { this.subscribe(this.$root.$bitrixPullClient); }); } } else { this.subscribe(BX.PULL); } window.component = this; }, beforeDestroy() { this.pullUnSubscribe(); }, methods: { subscribe(pullClient) { this.pullUnSubscribe = pullClient.subscribe({ type: BX.PullClient.SubscriptionType.Status, callback: event => this.statusChange(event.status) }); }, reconnect() { if (this.canReconnect) { this.$emit('reconnect'); } else { location.reload(); } }, statusChange(status) { clearTimeout(this.setStatusTimeout); if (this.status === status) { return false; } let validStatus = [ BX.PullClient.PullStatus.Online, BX.PullClient.PullStatus.Offline, BX.PullClient.PullStatus.Connecting ]; if (validStatus.indexOf(status) < 0) { return false; } let timeout = 500; if (status === BX.PullClient.PullStatus.Connecting) { timeout = 5000; } else if (status === BX.PullClient.PullStatus.Offline) { timeout = 2000; } this.setStatusTimeout = setTimeout(() => { this.status = status; this.showed = true; }, timeout); return true; } }, watch: { status() { clearTimeout(this.hideTimeout); if (this.status == BX.PullClient.PullStatus.Online) { clearTimeout(this.hideTimeout); this.hideTimeout = setTimeout(() => this.showed = false, 4000); } } }, computed: { connectionClass() { let result = ''; if (this.showed === true) { result = "bx-pull-status-show"; } else if (this.showed === false) { result = "bx-pull-status-hide"; } if (this.status === BX.PullClient.PullStatus.Online) { result += " bx-pull-status-online"; } else if (this.status === BX.PullClient.PullStatus.Offline) { result += " bx-pull-status-offline"; } else if (this.status === BX.PullClient.PullStatus.Connecting) { result += " bx-pull-status-connecting"; } return result; }, connectionText() { let result = ''; if (this.status === BX.PullClient.PullStatus.Online) { result = this.localize.BX_PULL_STATUS_ONLINE; } else if (this.status === BX.PullClient.PullStatus.Offline) { result = this.localize.BX_PULL_STATUS_OFFLINE; } else if (this.status === BX.PullClient.PullStatus.Connecting) { result = this.localize.BX_PULL_STATUS_CONNECTING; } return result; }, button() { let hotkey = ''; let name = ''; if (this.canReconnect) { name = this.localize.BX_PULL_STATUS_BUTTON_RECONNECT; } else { hotkey = this.isMac? '⌘+R': "Ctrl+R"; name = this.localize.BX_PULL_STATUS_BUTTON_RELOAD; } return {title: name, key: hotkey}; }, localize() { return BX.Vue.getFilteredPhrases('BX_PULL_STATUS_', this.$root.$bitrixMessages); } }, template: ` <div :class="['bx-pull-status', connectionClass]"> <div class="bx-pull-status-wrap"> <span class="bx-pull-status-text">{{connectionText}}</span> <span class="bx-pull-status-button" @click="reconnect"> <span class="bx-pull-status-button-title">{{button.title}}</span> <span class="bx-pull-status-button-key" v-html="button.key"></span> </span> </div> </div> ` });
| ver. 1.4 |
Github
|
.
| PHP 7.4.8 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка