@acorex/components 6.0.14 → 6.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/uploader/src/uploader.component.mjs +24 -7
- package/esm2020/uploader/src/uploader.module.mjs +5 -4
- package/fesm2015/acorex-components-uploader.mjs +28 -9
- package/fesm2015/acorex-components-uploader.mjs.map +1 -1
- package/fesm2020/acorex-components-uploader.mjs +27 -9
- package/fesm2020/acorex-components-uploader.mjs.map +1 -1
- package/package.json +1 -1
- package/uploader/src/uploader.component.d.ts +6 -3
- package/uploader/src/uploader.module.d.ts +2 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { AXBaseComponentMixin } from '@acorex/components/mixin';
|
|
2
|
-
import { Component, HostListener, Input, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, HostBinding, HostListener, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@acorex/core/file";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
5
6
|
export class AXUploaderComponent extends AXBaseComponentMixin {
|
|
6
7
|
constructor(elementRef, cdr, _fileService) {
|
|
7
8
|
super(elementRef, cdr);
|
|
8
9
|
this._fileService = _fileService;
|
|
9
|
-
this.
|
|
10
|
+
this.onValueChanged = new EventEmitter();
|
|
10
11
|
this.multiple = false;
|
|
11
12
|
this.accept = '*/*';
|
|
12
13
|
}
|
|
@@ -24,7 +25,12 @@ export class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
24
25
|
e.preventDefault();
|
|
25
26
|
}
|
|
26
27
|
_handleFiles(files) {
|
|
27
|
-
|
|
28
|
+
this.onValueChanged.emit({
|
|
29
|
+
component: this,
|
|
30
|
+
isUserInteraction: true,
|
|
31
|
+
value: files,
|
|
32
|
+
htmlElement: this._getHostElement()
|
|
33
|
+
});
|
|
28
34
|
}
|
|
29
35
|
onInit() {
|
|
30
36
|
this._dropArea = this._getHostElement();
|
|
@@ -48,13 +54,21 @@ export class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
48
54
|
_handleUnhighlight(e) {
|
|
49
55
|
this._dropArea.classList.remove('ax-state-hover');
|
|
50
56
|
}
|
|
57
|
+
get __defaultClass() {
|
|
58
|
+
return !this._placeholder?.nativeElement.childNodes.length;
|
|
59
|
+
}
|
|
51
60
|
}
|
|
52
61
|
AXUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXFileService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" } }, usesInheritance: true, ngImport: i0, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-
|
|
62
|
+
AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { onValueChanged: "onValueChanged", multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" }, properties: { "class.ax-look-default": "this.__defaultClass" } }, viewQueries: [{ propertyName: "_placeholder", first: true, predicate: ["contentRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
54
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, decorators: [{
|
|
55
64
|
type: Component,
|
|
56
|
-
args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-
|
|
57
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: {
|
|
65
|
+
args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: "<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>" }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { onValueChanged: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], _placeholder: [{
|
|
69
|
+
type: ViewChild,
|
|
70
|
+
args: ['contentRef', { static: true }]
|
|
71
|
+
}], multiple: [{
|
|
58
72
|
type: Input
|
|
59
73
|
}], accept: [{
|
|
60
74
|
type: Input
|
|
@@ -64,5 +78,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
64
78
|
}], _handleDrop: [{
|
|
65
79
|
type: HostListener,
|
|
66
80
|
args: ['drop', ['$event']]
|
|
81
|
+
}], __defaultClass: [{
|
|
82
|
+
type: HostBinding,
|
|
83
|
+
args: ['class.ax-look-default']
|
|
67
84
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL3VwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3VwbG9hZGVyL3NyYy91cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxvQkFBb0I7SUFLM0QsWUFDRSxVQUFzQixFQUN0QixHQUFzQixFQUNkLFlBQTJCO1FBRW5DLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFGZixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUxyQyxtQkFBYyxHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQWM1RyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFdBQU0sR0FBVyxLQUFLLENBQUM7SUFUdkIsQ0FBQztJQWNELEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBYTtRQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQzNDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBR0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFN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OlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7IEFYRmlsZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXVwbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFVwbG9hZGVyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxGaWxlW10+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxGaWxlW10+PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZmlsZVNlcnZpY2U6IEFYRmlsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdjb250ZW50UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBfcGxhY2Vob2xkZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhY2NlcHQ6IHN0cmluZyA9ICcqLyonO1xyXG5cclxuICBwcml2YXRlIF9kcm9wQXJlYTogSFRNTERpdkVsZW1lbnQ7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBhc3luYyBfaGFuZGxlQ2xpY2soZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCB0aGlzLl9maWxlU2VydmljZS5jaG9vc2Uoe1xyXG4gICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0LFxyXG4gICAgICBtdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5faGFuZGxlRmlsZXMoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgYXN5bmMgX2hhbmRsZURyb3AoZTogYW55KSB7XHJcbiAgICBsZXQgZHQgPSBlLmRhdGFUcmFuc2ZlcjtcclxuICAgIGxldCBmaWxlcyA9IGR0LmZpbGVzO1xyXG4gICAgdGhpcy5faGFuZGxlRmlsZXMoQXJyYXkuZnJvbShmaWxlcykpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUZpbGVzKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXHJcbiAgICAgIHZhbHVlOiBmaWxlcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZHJvcEFyZWEgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpO1xyXG4gICAgWydkcmFnZW50ZXInLCAnZHJhZ292ZXInLCAnZHJhZ2xlYXZlJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgdGhpcy5fZHJvcEFyZWEuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMucHJldmVudERlZmF1bHRzLCBmYWxzZSk7XHJcbiAgICB9KTtcclxuICAgIFsnZHJhZ2VudGVyJywgJ2RyYWdvdmVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgIHRoaXMuX2Ryb3BBcmVhLmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICAgZXZlbnROYW1lLFxyXG4gICAgICAgIHRoaXMuX2hhbmRsZUhpZ2hsaWdodC5iaW5kKHRoaXMpLFxyXG4gICAgICAgIGZhbHNlXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBbJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgIHRoaXMuX2Ryb3BBcmVhLmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICAgZXZlbnROYW1lLFxyXG4gICAgICAgIHRoaXMuX2hhbmRsZVVuaGlnaGxpZ2h0LmJpbmQodGhpcyksXHJcbiAgICAgICAgZmFsc2VcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJldmVudERlZmF1bHRzKGU6IGFueSkge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVIaWdobGlnaHQoZSkge1xyXG4gICAgdGhpcy5fZHJvcEFyZWEuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtaG92ZXInKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVVbmhpZ2hsaWdodChlKSB7XHJcbiAgICB0aGlzLl9kcm9wQXJlYS5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1ob3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5heC1sb29rLWRlZmF1bHQnKVxyXG4gIGdldCBfX2RlZmF1bHRDbGFzcygpIHtcclxuICAgIHJldHVybiAhdGhpcy5fcGxhY2Vob2xkZXI/Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGhcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXI+PGRpdiAjY29udGVudFJlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+PC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50UmVmLmNoaWxkTm9kZXMubGVuZ3RoID09IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWMgYXgtaWMtY2xvdWQtdXBsb2FkIHVwbG9hZC1pY29uXCI+PC9pPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1wLTQgYXgtdGV4dC1jZW50ZXJcIj5EcmFnIHlvdXIgZmlsZSBoZXJlIG9yLCA8c3BhbiBjbGFzcz1cImF4LXRleHQtcHJpbWFyeS01MDBcIj5jbGljayB0byBicm93c2U8L3NwYW4+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { AXUploaderComponent } from './uploader.component';
|
|
4
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class AXUploaderModule {
|
|
6
7
|
}
|
|
7
8
|
AXUploaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule], exports: [AXUploaderComponent] });
|
|
9
|
-
AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule] });
|
|
9
|
+
AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule, AXDecoratorModule], exports: [AXUploaderComponent] });
|
|
10
|
+
AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule, AXDecoratorModule] });
|
|
10
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, decorators: [{
|
|
11
12
|
type: NgModule,
|
|
12
13
|
args: [{
|
|
13
14
|
declarations: [AXUploaderComponent],
|
|
14
|
-
imports: [CommonModule],
|
|
15
|
+
imports: [CommonModule, AXDecoratorModule],
|
|
15
16
|
exports: [AXUploaderComponent],
|
|
16
17
|
providers: [],
|
|
17
18
|
}]
|
|
18
19
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL3VwbG9hZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFRbEUsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQUxaLG1CQUFtQixhQUN4QixZQUFZLEVBQUMsaUJBQWlCLGFBQzlCLG1CQUFtQjs4R0FHbEIsZ0JBQWdCLFlBSmpCLFlBQVksRUFBQyxpQkFBaUI7MkZBSTdCLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFDLGlCQUFpQixDQUFDO29CQUN6QyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhVcGxvYWRlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxBWERlY29yYXRvck1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FYVXBsb2FkZXJDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFVwbG9hZGVyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
2
|
import { AXBaseComponentMixin } from '@acorex/components/mixin';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, ViewEncapsulation, Input, HostListener, NgModule } from '@angular/core';
|
|
4
|
+
import { EventEmitter, Component, ViewEncapsulation, Input, ViewChild, HostListener, HostBinding, NgModule } from '@angular/core';
|
|
5
5
|
import * as i1 from '@acorex/core/file';
|
|
6
|
+
import * as i2 from '@angular/common';
|
|
6
7
|
import { CommonModule } from '@angular/common';
|
|
8
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
7
9
|
|
|
8
10
|
class AXUploaderComponent extends AXBaseComponentMixin {
|
|
9
11
|
constructor(elementRef, cdr, _fileService) {
|
|
10
12
|
super(elementRef, cdr);
|
|
11
13
|
this._fileService = _fileService;
|
|
12
|
-
this.
|
|
14
|
+
this.onValueChanged = new EventEmitter();
|
|
13
15
|
this.multiple = false;
|
|
14
16
|
this.accept = '*/*';
|
|
15
17
|
}
|
|
@@ -31,7 +33,12 @@ class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
31
33
|
});
|
|
32
34
|
}
|
|
33
35
|
_handleFiles(files) {
|
|
34
|
-
|
|
36
|
+
this.onValueChanged.emit({
|
|
37
|
+
component: this,
|
|
38
|
+
isUserInteraction: true,
|
|
39
|
+
value: files,
|
|
40
|
+
htmlElement: this._getHostElement()
|
|
41
|
+
});
|
|
35
42
|
}
|
|
36
43
|
onInit() {
|
|
37
44
|
this._dropArea = this._getHostElement();
|
|
@@ -55,13 +62,22 @@ class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
55
62
|
_handleUnhighlight(e) {
|
|
56
63
|
this._dropArea.classList.remove('ax-state-hover');
|
|
57
64
|
}
|
|
65
|
+
get __defaultClass() {
|
|
66
|
+
var _a;
|
|
67
|
+
return !((_a = this._placeholder) === null || _a === void 0 ? void 0 : _a.nativeElement.childNodes.length);
|
|
68
|
+
}
|
|
58
69
|
}
|
|
59
70
|
AXUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXFileService }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" } }, usesInheritance: true, ngImport: i0, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-
|
|
71
|
+
AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { onValueChanged: "onValueChanged", multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" }, properties: { "class.ax-look-default": "this.__defaultClass" } }, viewQueries: [{ propertyName: "_placeholder", first: true, predicate: ["contentRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
61
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, decorators: [{
|
|
62
73
|
type: Component,
|
|
63
|
-
args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-
|
|
64
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: {
|
|
74
|
+
args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: "<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>" }]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { onValueChanged: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], _placeholder: [{
|
|
78
|
+
type: ViewChild,
|
|
79
|
+
args: ['contentRef', { static: true }]
|
|
80
|
+
}], multiple: [{
|
|
65
81
|
type: Input
|
|
66
82
|
}], accept: [{
|
|
67
83
|
type: Input
|
|
@@ -71,18 +87,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
71
87
|
}], _handleDrop: [{
|
|
72
88
|
type: HostListener,
|
|
73
89
|
args: ['drop', ['$event']]
|
|
90
|
+
}], __defaultClass: [{
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['class.ax-look-default']
|
|
74
93
|
}] } });
|
|
75
94
|
|
|
76
95
|
class AXUploaderModule {
|
|
77
96
|
}
|
|
78
97
|
AXUploaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
79
|
-
AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule], exports: [AXUploaderComponent] });
|
|
80
|
-
AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule] });
|
|
98
|
+
AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule, AXDecoratorModule], exports: [AXUploaderComponent] });
|
|
99
|
+
AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule, AXDecoratorModule] });
|
|
81
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, decorators: [{
|
|
82
101
|
type: NgModule,
|
|
83
102
|
args: [{
|
|
84
103
|
declarations: [AXUploaderComponent],
|
|
85
|
-
imports: [CommonModule],
|
|
104
|
+
imports: [CommonModule, AXDecoratorModule],
|
|
86
105
|
exports: [AXUploaderComponent],
|
|
87
106
|
providers: [],
|
|
88
107
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../projects/acorex/components/uploader/src/uploader.component.ts","../../../../projects/acorex/components/uploader/src/uploader.component.html","../../../../projects/acorex/components/uploader/src/uploader.module.ts","../../../../projects/acorex/components/uploader/acorex-components-uploader.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { AXFileService } from '@acorex/core/file';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n
|
|
1
|
+
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../projects/acorex/components/uploader/src/uploader.component.ts","../../../../projects/acorex/components/uploader/src/uploader.component.html","../../../../projects/acorex/components/uploader/src/uploader.module.ts","../../../../projects/acorex/components/uploader/acorex-components-uploader.ts"],"sourcesContent":["import { AXValueChangedEvent } from '@acorex/components/common';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { AXFileService } from '@acorex/core/file';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-uploader',\r\n templateUrl: './uploader.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXUploaderComponent extends AXBaseComponentMixin {\r\n\r\n @Input()\r\n onValueChanged: EventEmitter<AXValueChangedEvent<File[]>> = new EventEmitter<AXValueChangedEvent<File[]>>();\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private _fileService: AXFileService\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n @ViewChild('contentRef', { static: true })\r\n _placeholder: ElementRef;\r\n\r\n @Input()\r\n multiple: boolean = false;\r\n\r\n @Input()\r\n accept: string = '*/*';\r\n\r\n private _dropArea: HTMLDivElement;\r\n\r\n @HostListener('click', ['$event'])\r\n async _handleClick(e: MouseEvent) {\r\n const files = await this._fileService.choose({\r\n accept: this.accept,\r\n multiple: this.multiple,\r\n });\r\n this._handleFiles(files);\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n async _handleDrop(e: any) {\r\n let dt = e.dataTransfer;\r\n let files = dt.files;\r\n this._handleFiles(Array.from(files));\r\n e.preventDefault();\r\n }\r\n\r\n _handleFiles(files: File[]) {\r\n this.onValueChanged.emit({\r\n component: this,\r\n isUserInteraction: true,\r\n value: files,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n onInit(): void {\r\n this._dropArea = this._getHostElement();\r\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this.preventDefaults, false);\r\n });\r\n ['dragenter', 'dragover'].forEach((eventName) => {\r\n this._dropArea.addEventListener(\r\n eventName,\r\n this._handleHighlight.bind(this),\r\n false\r\n );\r\n });\r\n\r\n ['dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(\r\n eventName,\r\n this._handleUnhighlight.bind(this),\r\n false\r\n );\r\n });\r\n }\r\n\r\n preventDefaults(e: any) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n _handleHighlight(e) {\r\n this._dropArea.classList.add('ax-state-hover');\r\n }\r\n\r\n _handleUnhighlight(e) {\r\n this._dropArea.classList.remove('ax-state-hover');\r\n }\r\n\r\n @HostBinding('class.ax-look-default')\r\n get __defaultClass() {\r\n return !this._placeholder?.nativeElement.childNodes.length\r\n }\r\n\r\n}\r\n","<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXUploaderComponent } from './uploader.component';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\n\r\n@NgModule({\r\n declarations: [AXUploaderComponent],\r\n imports: [CommonModule,AXDecoratorModule],\r\n exports: [AXUploaderComponent],\r\n providers: [],\r\n})\r\nexport class AXUploaderModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { AXBaseComponentMixin } from '@acorex/components/mixin';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Component, ViewEncapsulation, Input, HostListener, NgModule } from '@angular/core';
|
|
3
|
+
import { EventEmitter, Component, ViewEncapsulation, Input, ViewChild, HostListener, HostBinding, NgModule } from '@angular/core';
|
|
4
4
|
import * as i1 from '@acorex/core/file';
|
|
5
|
+
import * as i2 from '@angular/common';
|
|
5
6
|
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
6
8
|
|
|
7
9
|
class AXUploaderComponent extends AXBaseComponentMixin {
|
|
8
10
|
constructor(elementRef, cdr, _fileService) {
|
|
9
11
|
super(elementRef, cdr);
|
|
10
12
|
this._fileService = _fileService;
|
|
11
|
-
this.
|
|
13
|
+
this.onValueChanged = new EventEmitter();
|
|
12
14
|
this.multiple = false;
|
|
13
15
|
this.accept = '*/*';
|
|
14
16
|
}
|
|
@@ -26,7 +28,12 @@ class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
26
28
|
e.preventDefault();
|
|
27
29
|
}
|
|
28
30
|
_handleFiles(files) {
|
|
29
|
-
|
|
31
|
+
this.onValueChanged.emit({
|
|
32
|
+
component: this,
|
|
33
|
+
isUserInteraction: true,
|
|
34
|
+
value: files,
|
|
35
|
+
htmlElement: this._getHostElement()
|
|
36
|
+
});
|
|
30
37
|
}
|
|
31
38
|
onInit() {
|
|
32
39
|
this._dropArea = this._getHostElement();
|
|
@@ -50,13 +57,21 @@ class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
50
57
|
_handleUnhighlight(e) {
|
|
51
58
|
this._dropArea.classList.remove('ax-state-hover');
|
|
52
59
|
}
|
|
60
|
+
get __defaultClass() {
|
|
61
|
+
return !this._placeholder?.nativeElement.childNodes.length;
|
|
62
|
+
}
|
|
53
63
|
}
|
|
54
64
|
AXUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXFileService }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" } }, usesInheritance: true, ngImport: i0, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-
|
|
65
|
+
AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { onValueChanged: "onValueChanged", multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" }, properties: { "class.ax-look-default": "this.__defaultClass" } }, viewQueries: [{ propertyName: "_placeholder", first: true, predicate: ["contentRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
56
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, decorators: [{
|
|
57
67
|
type: Component,
|
|
58
|
-
args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-
|
|
59
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: {
|
|
68
|
+
args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: "<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>" }]
|
|
69
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { onValueChanged: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], _placeholder: [{
|
|
72
|
+
type: ViewChild,
|
|
73
|
+
args: ['contentRef', { static: true }]
|
|
74
|
+
}], multiple: [{
|
|
60
75
|
type: Input
|
|
61
76
|
}], accept: [{
|
|
62
77
|
type: Input
|
|
@@ -66,18 +81,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
66
81
|
}], _handleDrop: [{
|
|
67
82
|
type: HostListener,
|
|
68
83
|
args: ['drop', ['$event']]
|
|
84
|
+
}], __defaultClass: [{
|
|
85
|
+
type: HostBinding,
|
|
86
|
+
args: ['class.ax-look-default']
|
|
69
87
|
}] } });
|
|
70
88
|
|
|
71
89
|
class AXUploaderModule {
|
|
72
90
|
}
|
|
73
91
|
AXUploaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
74
|
-
AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule], exports: [AXUploaderComponent] });
|
|
75
|
-
AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule] });
|
|
92
|
+
AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule, AXDecoratorModule], exports: [AXUploaderComponent] });
|
|
93
|
+
AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule, AXDecoratorModule] });
|
|
76
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, decorators: [{
|
|
77
95
|
type: NgModule,
|
|
78
96
|
args: [{
|
|
79
97
|
declarations: [AXUploaderComponent],
|
|
80
|
-
imports: [CommonModule],
|
|
98
|
+
imports: [CommonModule, AXDecoratorModule],
|
|
81
99
|
exports: [AXUploaderComponent],
|
|
82
100
|
providers: [],
|
|
83
101
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../projects/acorex/components/uploader/src/uploader.component.ts","../../../../projects/acorex/components/uploader/src/uploader.component.html","../../../../projects/acorex/components/uploader/src/uploader.module.ts","../../../../projects/acorex/components/uploader/acorex-components-uploader.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { AXFileService } from '@acorex/core/file';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n
|
|
1
|
+
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../projects/acorex/components/uploader/src/uploader.component.ts","../../../../projects/acorex/components/uploader/src/uploader.component.html","../../../../projects/acorex/components/uploader/src/uploader.module.ts","../../../../projects/acorex/components/uploader/acorex-components-uploader.ts"],"sourcesContent":["import { AXValueChangedEvent } from '@acorex/components/common';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { AXFileService } from '@acorex/core/file';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-uploader',\r\n templateUrl: './uploader.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXUploaderComponent extends AXBaseComponentMixin {\r\n\r\n @Input()\r\n onValueChanged: EventEmitter<AXValueChangedEvent<File[]>> = new EventEmitter<AXValueChangedEvent<File[]>>();\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private _fileService: AXFileService\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n @ViewChild('contentRef', { static: true })\r\n _placeholder: ElementRef;\r\n\r\n @Input()\r\n multiple: boolean = false;\r\n\r\n @Input()\r\n accept: string = '*/*';\r\n\r\n private _dropArea: HTMLDivElement;\r\n\r\n @HostListener('click', ['$event'])\r\n async _handleClick(e: MouseEvent) {\r\n const files = await this._fileService.choose({\r\n accept: this.accept,\r\n multiple: this.multiple,\r\n });\r\n this._handleFiles(files);\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n async _handleDrop(e: any) {\r\n let dt = e.dataTransfer;\r\n let files = dt.files;\r\n this._handleFiles(Array.from(files));\r\n e.preventDefault();\r\n }\r\n\r\n _handleFiles(files: File[]) {\r\n this.onValueChanged.emit({\r\n component: this,\r\n isUserInteraction: true,\r\n value: files,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n onInit(): void {\r\n this._dropArea = this._getHostElement();\r\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this.preventDefaults, false);\r\n });\r\n ['dragenter', 'dragover'].forEach((eventName) => {\r\n this._dropArea.addEventListener(\r\n eventName,\r\n this._handleHighlight.bind(this),\r\n false\r\n );\r\n });\r\n\r\n ['dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(\r\n eventName,\r\n this._handleUnhighlight.bind(this),\r\n false\r\n );\r\n });\r\n }\r\n\r\n preventDefaults(e: any) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n _handleHighlight(e) {\r\n this._dropArea.classList.add('ax-state-hover');\r\n }\r\n\r\n _handleUnhighlight(e) {\r\n this._dropArea.classList.remove('ax-state-hover');\r\n }\r\n\r\n @HostBinding('class.ax-look-default')\r\n get __defaultClass() {\r\n return !this._placeholder?.nativeElement.childNodes.length\r\n }\r\n\r\n}\r\n","<ng-container><div #contentRef><ng-content></ng-content></div></ng-container>\r\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-2\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div class=\"ax-p-4 ax-text-center\">Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>\r\n</ng-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXUploaderComponent } from './uploader.component';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\n\r\n@NgModule({\r\n declarations: [AXUploaderComponent],\r\n imports: [CommonModule,AXDecoratorModule],\r\n exports: [AXUploaderComponent],\r\n providers: [],\r\n})\r\nexport class AXUploaderModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { AXValueChangedEvent } from '@acorex/components/common';
|
|
1
2
|
import { AXBaseComponentMixin } from '@acorex/components/mixin';
|
|
2
3
|
import { AXFileService } from '@acorex/core/file';
|
|
3
|
-
import { ChangeDetectorRef, ElementRef } from '@angular/core';
|
|
4
|
+
import { ChangeDetectorRef, ElementRef, EventEmitter } from '@angular/core';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class AXUploaderComponent extends AXBaseComponentMixin {
|
|
6
7
|
private _fileService;
|
|
8
|
+
onValueChanged: EventEmitter<AXValueChangedEvent<File[]>>;
|
|
7
9
|
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, _fileService: AXFileService);
|
|
8
|
-
|
|
10
|
+
_placeholder: ElementRef;
|
|
9
11
|
multiple: boolean;
|
|
10
12
|
accept: string;
|
|
11
13
|
private _dropArea;
|
|
@@ -16,6 +18,7 @@ export declare class AXUploaderComponent extends AXBaseComponentMixin {
|
|
|
16
18
|
preventDefaults(e: any): void;
|
|
17
19
|
_handleHighlight(e: any): void;
|
|
18
20
|
_handleUnhighlight(e: any): void;
|
|
21
|
+
get __defaultClass(): boolean;
|
|
19
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXUploaderComponent, "ax-uploader", never, { "multiple": "multiple"; "accept": "accept"; }, {}, never,
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXUploaderComponent, "ax-uploader", never, { "onValueChanged": "onValueChanged"; "multiple": "multiple"; "accept": "accept"; }, {}, never, ["*"], false>;
|
|
21
24
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./uploader.component";
|
|
3
3
|
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@acorex/components/decorators";
|
|
4
5
|
export declare class AXUploaderModule {
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXUploaderModule, [typeof i1.AXUploaderComponent], [typeof i2.CommonModule], [typeof i1.AXUploaderComponent]>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXUploaderModule, [typeof i1.AXUploaderComponent], [typeof i2.CommonModule, typeof i3.AXDecoratorModule], [typeof i1.AXUploaderComponent]>;
|
|
7
8
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXUploaderModule>;
|
|
8
9
|
}
|