UNPKG

@ngx-file-upload/ui

Version:

Angular 16 file upload components for @ngx-file-upload/core

58 lines 6 kB
/** * remote control for a single upload, will passed * by [NgxFileUploadItem]{@link ../components/NgxFileUploadItem.html} as context.ctrl * to the item template. * * @example * * <ng-template let-uploadData="data" let-uploadCtrl="ctrl"> * <button type="button" *ngIf="!data.hasError" (click)="uploadCtrl.start($event)">start</button> * <button type="button" *ngIf="data.hasError" (click)="uploadCtrl.retry($event)">retry</button> * <button type="button" (click)="uploadCtrl.cancel($event)">cancel</button> * </ng-template> * * <ngx-file-upload-item *ngFor="item of uploads" [template]="myItemTemplate" [upload]="item"></ngx-fileUpload-item> */ export class Control { constructor(upload) { this.upload = upload; } /** * if upload has been failed (http error) it has not completed * since connection can be broken or something dont has started yet. * * Give them a chance for a retry */ retry(event) { this.handleEvent(event); this.upload.retry(); } /** * start single upload */ start($event) { this.handleEvent($event); this.upload.start(); } /** * cancel / stop single upload */ stop($event) { this.handleEvent($event); this.upload.cancel(); } remove($event) { this.handleEvent($event); this.upload.destroy(); } removeInvalidFiles($event) { this.handleEvent($event); this.upload.removeInvalidFiles(); } handleEvent(event) { if (event && event instanceof MouseEvent) { event.stopPropagation(); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3VwbG9hZC1pdGVtL3NyYy91cGxvYWQuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sT0FBTyxPQUFPO0lBRWhCLFlBQTJCLE1BQTZCO1FBQTdCLFdBQU0sR0FBTixNQUFNLENBQXVCO0lBQUcsQ0FBQztJQUU1RDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxLQUFrQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQW1CO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsTUFBbUI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBbUI7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxNQUFtQjtRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWtCO1FBQ2xDLElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDdEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU5neEZpbGVVcGxvYWRSZXF1ZXN0LCBOZ3hGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gXCJAbmd4LWZpbGUtdXBsb2FkL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiByZW1vdGUgY29udHJvbCBmb3IgYSBzaW5nbGUgdXBsb2FkLCB3aWxsIHBhc3NlZFxyXG4gKiBieSBbTmd4RmlsZVVwbG9hZEl0ZW1de0BsaW5rIC4uL2NvbXBvbmVudHMvTmd4RmlsZVVwbG9hZEl0ZW0uaHRtbH0gYXMgY29udGV4dC5jdHJsXHJcbiAqIHRvIHRoZSBpdGVtIHRlbXBsYXRlLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8bmctdGVtcGxhdGUgbGV0LXVwbG9hZERhdGE9XCJkYXRhXCIgbGV0LXVwbG9hZEN0cmw9XCJjdHJsXCI+XHJcbiAqICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cIiFkYXRhLmhhc0Vycm9yXCIgKGNsaWNrKT1cInVwbG9hZEN0cmwuc3RhcnQoJGV2ZW50KVwiPnN0YXJ0PC9idXR0b24+XHJcbiAqICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImRhdGEuaGFzRXJyb3JcIiAgKGNsaWNrKT1cInVwbG9hZEN0cmwucmV0cnkoJGV2ZW50KVwiPnJldHJ5PC9idXR0b24+XHJcbiAqICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1cGxvYWRDdHJsLmNhbmNlbCgkZXZlbnQpXCI+Y2FuY2VsPC9idXR0b24+XHJcbiAqIDwvbmctdGVtcGxhdGU+XHJcbiAqXHJcbiAqIDxuZ3gtZmlsZS11cGxvYWQtaXRlbSAqbmdGb3I9XCJpdGVtIG9mIHVwbG9hZHNcIiBbdGVtcGxhdGVdPVwibXlJdGVtVGVtcGxhdGVcIiBbdXBsb2FkXT1cIml0ZW1cIj48L25neC1maWxlVXBsb2FkLWl0ZW0+XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ29udHJvbCBpbXBsZW1lbnRzIE5neEZpbGVVcGxvYWRDb250cm9sIHtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSB1cGxvYWQ6IElOZ3hGaWxlVXBsb2FkUmVxdWVzdCkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIGlmIHVwbG9hZCBoYXMgYmVlbiBmYWlsZWQgKGh0dHAgZXJyb3IpIGl0IGhhcyBub3QgY29tcGxldGVkXHJcbiAgICAgKiBzaW5jZSBjb25uZWN0aW9uIGNhbiBiZSBicm9rZW4gb3Igc29tZXRoaW5nIGRvbnQgaGFzIHN0YXJ0ZWQgeWV0LlxyXG4gICAgICpcclxuICAgICAqIEdpdmUgdGhlbSBhIGNoYW5jZSBmb3IgYSByZXRyeVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmV0cnkoZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudChldmVudCk7XHJcbiAgICAgICAgdGhpcy51cGxvYWQucmV0cnkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHN0YXJ0IHNpbmdsZSB1cGxvYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXJ0KCRldmVudD86IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZUV2ZW50KCRldmVudCk7XHJcbiAgICAgICAgdGhpcy51cGxvYWQuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGNhbmNlbCAvIHN0b3Agc2luZ2xlIHVwbG9hZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RvcCgkZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudCgkZXZlbnQpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkLmNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmUoJGV2ZW50PzogTW91c2VFdmVudCkge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXZlbnQoJGV2ZW50KTtcclxuICAgICAgICB0aGlzLnVwbG9hZC5kZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZUludmFsaWRGaWxlcygkZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudCgkZXZlbnQpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkLnJlbW92ZUludmFsaWRGaWxlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlRXZlbnQoZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19