angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
128 lines • 8.28 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/stores/datatransfer.store.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { ProgressContainer } from '../models/progress-container.model';
import { TransferStatus } from '../enums/transfer-status.enum';
export class DatatransferStore {
constructor() {
this.items = [];
this.count = 0;
this.failedCount = 0;
this.uploadProgress = new ProgressContainer(0);
this.downloadProgress = new ProgressContainer(0);
}
/**
* @private
* @return {?}
*/
updateCount() {
this.count = this.items.length;
}
/**
* @return {?}
*/
updateFailedCount() {
this.failedCount = this.getByStatus(TransferStatus.Failed).length;
}
/**
* @return {?}
*/
getItems() {
return this.items;
}
/**
* @return {?}
*/
getSelected() {
return this.items.filter((/**
* @param {?} item
* @return {?}
*/
(item) => item.isSelected === true));
}
/**
* @param {?} id
* @return {?}
*/
getById(id) {
return this.items.find((/**
* @param {?} item
* @return {?}
*/
(item) => item.id === id));
}
/**
* @param {?} id
* @return {?}
*/
getIndexById(id) {
return this.items.findIndex((/**
* @param {?} i
* @return {?}
*/
i => i.id === id));
}
/**
* @return {?}
*/
clear() {
this.items.length = 0;
this.updateCount();
this.updateFailedCount();
}
/**
* @param {?} item
* @return {?}
*/
addItem(item) {
this.items.push(item);
this.updateCount();
}
/**
* @param {?} id
* @return {?}
*/
removeById(id) {
/** @type {?} */
const index = this.getIndexById(id);
if (index > -1) {
this.items.splice(index, 1);
this.updateCount();
}
}
/**
* @param {?} status
* @return {?}
*/
getByStatus(status) {
return this.items.filter((/**
* @param {?} item
* @return {?}
*/
(item) => item.status === status));
}
}
DatatransferStore.decorators = [
{ type: Injectable }
];
/** @nocollapse */
DatatransferStore.ctorParameters = () => [];
if (false) {
/**
* @type {?}
* @private
*/
DatatransferStore.prototype.items;
/** @type {?} */
DatatransferStore.prototype.count;
/** @type {?} */
DatatransferStore.prototype.failedCount;
/** @type {?} */
DatatransferStore.prototype.uploadProgress;
/** @type {?} */
DatatransferStore.prototype.downloadProgress;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRyYW5zZmVyLnN0b3JlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tYXRlcmlhbC1kYXRhdHJhbnNmZXItbGliLyIsInNvdXJjZXMiOlsibGliL3N0b3Jlcy9kYXRhdHJhbnNmZXIuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBc0IsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHL0QsTUFBTSxPQUFPLGlCQUFpQjtJQVMxQjtRQVBRLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBRWpDLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixtQkFBYyxHQUF1QixJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELHFCQUFnQixHQUF1QixJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSXZFLENBQUM7Ozs7O0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQzs7OztJQUVNLGlCQUFpQjtRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RSxDQUFDOzs7O0lBRU0sUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDOzs7O0lBRU0sV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNOzs7O1FBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFTSxPQUFPLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBQyxDQUFDO0lBQ3JELENBQUM7Ozs7O0lBRU0sWUFBWSxDQUFDLEVBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFDLENBQUM7SUFDbEQsQ0FBQzs7OztJQUVNLEtBQUs7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBRU0sT0FBTyxDQUFDLElBQXVCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVNLFVBQVUsQ0FBQyxFQUFVOztjQUNsQixLQUFLLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDM0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxXQUFXLENBQUMsTUFBc0I7UUFDckMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUMsQ0FBQztJQUMvRCxDQUFDOzs7WUEzREosVUFBVTs7Ozs7Ozs7O0lBR1Asa0NBQXdDOztJQUV4QyxrQ0FBaUI7O0lBQ2pCLHdDQUF1Qjs7SUFDdkIsMkNBQXFFOztJQUNyRSw2Q0FBdUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElEYXRhdHJhbnNmZXJJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGF0cmFuc2Zlci1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgSVByb2dyZXNzQ29udGFpbmVyLCBQcm9ncmVzc0NvbnRhaW5lciB9IGZyb20gJy4uL21vZGVscy9wcm9ncmVzcy1jb250YWluZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmFuc2ZlclN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3RyYW5zZmVyLXN0YXR1cy5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGF0cmFuc2ZlclN0b3JlIHtcclxuXHJcbiAgICBwcml2YXRlIGl0ZW1zOiBJRGF0YXRyYW5zZmVySXRlbVtdID0gW107XHJcblxyXG4gICAgcHVibGljIGNvdW50ID0gMDtcclxuICAgIHB1YmxpYyBmYWlsZWRDb3VudCA9IDA7XHJcbiAgICBwdWJsaWMgdXBsb2FkUHJvZ3Jlc3M6IElQcm9ncmVzc0NvbnRhaW5lciA9IG5ldyBQcm9ncmVzc0NvbnRhaW5lcigwKTtcclxuICAgIHB1YmxpYyBkb3dubG9hZFByb2dyZXNzOiBJUHJvZ3Jlc3NDb250YWluZXIgPSBuZXcgUHJvZ3Jlc3NDb250YWluZXIoMCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQ291bnQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3VudCA9IHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVGYWlsZWRDb3VudCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZhaWxlZENvdW50ID0gdGhpcy5nZXRCeVN0YXR1cyhUcmFuc2ZlclN0YXR1cy5GYWlsZWQpLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SXRlbXMoKTogSURhdGF0cmFuc2Zlckl0ZW1bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFNlbGVjdGVkKCk6IElEYXRhdHJhbnNmZXJJdGVtW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pc1NlbGVjdGVkID09PSB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QnlJZChpZDogc3RyaW5nKTogSURhdGF0cmFuc2Zlckl0ZW0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SW5kZXhCeUlkKGlkOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ291bnQoKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUZhaWxlZENvdW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEl0ZW0oaXRlbTogSURhdGF0cmFuc2Zlckl0ZW0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLml0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb3VudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVCeUlkKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5nZXRJbmRleEJ5SWQoaWQpO1xyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb3VudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QnlTdGF0dXMoc3RhdHVzOiBUcmFuc2ZlclN0YXR1cykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5zdGF0dXMgPT09IHN0YXR1cyk7XHJcbiAgICB9XHJcbn1cclxuIl19