/
mikopbx
/
ModuleBackup
Обзор
Документация
Войти
/
mikopbx
/
ModuleBackup
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
public/assets/js/src/backup-create-worker.js
93 строки
3 KB
Alexey Portnov
create-worker: пишем текст в .label напрямую, без плейсхолдеров Semantic UI
20 апр 2026, 17:06
20 апр 2026, 17:06
737717f
Код
Авторство
О чём код?
/* * Copyright (C) MIKO LLC - All Rights Reserved * Unauthorized copying of this file, via any medium is strictly prohibited * Proprietary and confidential * Written by Nikolay Beketov, 12 2019 * */ /* global BackupApi, globalRootUrl, globalTranslate */ const backupCreateWorker = { timeOut: 5000, timeOutHandle: '', $submitButton: $('#submitbutton'), $stopCreateBackup: $('#stopbackupbutton'), waitBackupId: '', $progressBar: $('#backup-progress-bar'), backupIsPreparing: false, initialize(waitBackupId) { backupCreateWorker.waitBackupId = waitBackupId; // Запустим обновление статуса создания резервной копии backupCreateWorker.restartWorker(); }, restartWorker() { window.clearTimeout(backupCreateWorker.timeoutHandle); backupCreateWorker.worker(); }, worker() { BackupApi.BackupGetFilesList(backupCreateWorker.cbAfterGetFiles); backupCreateWorker.timeoutHandle = window.setTimeout( backupCreateWorker.worker, backupCreateWorker.timeOut, ); }, cbAfterGetFiles(response) { if (response.length === 0 || response === false) { window.clearTimeout(backupCreateWorker.timeoutHandle); backupCreateWorker.$submitButton.show(); backupCreateWorker.$submitButton.removeClass('loading'); backupCreateWorker.$stopCreateBackup.hide(); } else { // ["0": { // "date": "1530715058", // "size": 13.66, // "progress": 10, // "total": 32, // "config": { // "backup-config": "1", // "backup-records": "1", // "backup-cdr": "1", // "backup-sound-files": "1" // }, // "pid": "", // "id": "backup_1530715058" // }] let percentOfTotal = 0; $.each(response, (key, value) => { if (backupCreateWorker.waitBackupId === '' && value.pid.length > 0) { backupCreateWorker.waitBackupId = value.id; } if (backupCreateWorker.waitBackupId === value.id) { backupCreateWorker.$submitButton.hide(); backupCreateWorker.$stopCreateBackup .attr('data-value', backupCreateWorker.waitBackupId) .show(); percentOfTotal = value.total > 0 ? 100 * (value.progress / value.total) : 0; const labelText = value.stage === 'preparing' ? `${globalTranslate.bkp_PreparingFileList}: ${value.progress} / ${value.total}` : `${value.progress} / ${value.total}`; backupCreateWorker.$progressBar.progress({ total: value.total, value: value.progress, percent: parseInt(percentOfTotal, 10), }); backupCreateWorker.$progressBar.find('.label').text(labelText); if (value.total === value.progress && value.stage !== 'preparing' && backupCreateWorker.backupIsPreparing) { window.location = `${globalRootUrl}module-backup/index`; } backupCreateWorker.backupIsPreparing = (value.pid.length > 0); } }); if (backupCreateWorker.backupIsPreparing === false) { backupCreateWorker.$submitButton.show(); backupCreateWorker.$stopCreateBackup.hide(); backupCreateWorker.$submitButton.removeClass('loading'); window.clearTimeout(backupCreateWorker.timeoutHandle); } } }, };