403Webshell
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/cvetdv.ru/bitrix/js/im/v2/component/elements/progressbar/src/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/v2/component/elements/progressbar/src/progressbar.js
import { ProgressBarManager } from 'im.v2.lib.progressbar';

import './css/progressbar.css';

import type { ImModelFile } from 'im.v2.model';

// @vue/component
export const ProgressBar = {
	name: 'ProgressBar',
	props: {
		item: {
			type: Object,
			required: true,
		},
		withLabels: {
			type: Boolean,
			default: true,
		},
		cancelCallbackDelay: {
			type: Number,
			default: 0,
		},
	},
	emits: ['cancelClick'],
	computed: {
		file(): ImModelFile
		{
			return this.item;
		},
	},
	watch: {
		'file.status': function() {
			this.getProgressBarManager().update();
		},
		'file.progress': function() {
			this.getProgressBarManager().update();
		},
	},
	mounted()
	{
		this.initProgressBar();
	},
	beforeUnmount()
	{
		this.removeProgressBar();
	},
	methods: {
		initProgressBar()
		{
			if (this.file.progress === 100)
			{
				return;
			}

			const customConfig = {
				hasTitle: false,
				cancelCallbackDelay: 0,
			};
			if (!this.withLabels)
			{
				customConfig.labels = {};
			}

			this.progressBarManager = new ProgressBarManager({
				container: this.$refs['progress-bar'],
				uploadState: this.file,
				customConfig,
			});

			this.progressBarManager.subscribe(ProgressBarManager.event.cancel, () => {
				this.$emit('cancelClick', { file: this.file });
			});

			this.progressBarManager.start();
		},
		removeProgressBar()
		{
			if (!this.getProgressBarManager())
			{
				return;
			}

			this.getProgressBarManager().destroy();
		},
		getProgressBarManager(): ProgressBarManager
		{
			return this.progressBarManager;
		},
	},
	template: `
		<div class="bx-im-progress-bar__container" ref="progress-bar"></div>
	`,
};

Youez - 2016 - github.com/yon3zu
LinuXploit