@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.
@@ -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.image = '';
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
- console.log(files);
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-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>", encapsulation: i0.ViewEncapsulation.None });
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-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>" }]
57
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { multiple: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL3VwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3VwbG9hZGVyL3NyYy91cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQUMzRCxZQUNFLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ2QsWUFBMkI7UUFFbkMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUZmLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBS3JDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFHbkIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixXQUFNLEdBQVcsS0FBSyxDQUFDO0lBUnZCLENBQUM7SUFhRCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQWE7UUFDOUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUMzQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBTTtRQUN0QixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFBO1FBQ3ZCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUE7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUV2QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RixDQUFDLENBQUMsQ0FBQztRQUVILENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQU07UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnSEFuRVUsbUJBQW1CO29HQUFuQixtQkFBbUIsdU5DakJoQywyUEFHVTsyRkRjRyxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYSxpQkFFUixpQkFBaUIsQ0FBQyxJQUFJOzZKQWNyQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQU1BLFlBQVk7c0JBRGpCLFlBQVk7dUJBQUMsT0FBTyxFQUFDLENBQUMsUUFBUSxDQUFDO2dCQVUxQixXQUFXO3NCQURoQixZQUFZO3VCQUFDLE1BQU0sRUFBQyxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgQVhGaWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC11cGxvYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhVcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZmlsZVNlcnZpY2U6IEFYRmlsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBpbWFnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhY2NlcHQ6IHN0cmluZyA9ICcqLyonO1xyXG5cclxuICBwcml2YXRlIF9kcm9wQXJlYTogSFRNTERpdkVsZW1lbnQ7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJyxbJyRldmVudCddKVxyXG4gIGFzeW5jIF9oYW5kbGVDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHRoaXMuX2ZpbGVTZXJ2aWNlLmNob29zZSh7XHJcbiAgICAgIGFjY2VwdDogdGhpcy5hY2NlcHQsXHJcbiAgICAgIG11bHRpcGxlOiB0aGlzLm11bHRpcGxlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9oYW5kbGVGaWxlcyhmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcm9wJyxbJyRldmVudCddKVxyXG4gIGFzeW5jIF9oYW5kbGVEcm9wKGU6IGFueSkge1xyXG4gICAgbGV0IGR0ID0gZS5kYXRhVHJhbnNmZXJcclxuICAgIGxldCBmaWxlcyA9IGR0LmZpbGVzXHJcbiAgICB0aGlzLl9oYW5kbGVGaWxlcyhBcnJheS5mcm9tKGZpbGVzKSk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlRmlsZXMoZmlsZXM6RmlsZVtdKVxyXG4gIHtcclxuICAgIGNvbnNvbGUubG9nKGZpbGVzKTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Ryb3BBcmVhID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKTtcclxuICAgIFsnZHJhZ2VudGVyJywgJ2RyYWdvdmVyJywgJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgIHRoaXMuX2Ryb3BBcmVhLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCB0aGlzLnByZXZlbnREZWZhdWx0cywgZmFsc2UpO1xyXG4gICAgfSk7XHJcbiAgICBbJ2RyYWdlbnRlcicsICdkcmFnb3ZlciddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICB0aGlzLl9kcm9wQXJlYS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgdGhpcy5faGFuZGxlSGlnaGxpZ2h0LmJpbmQodGhpcyksIGZhbHNlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIFsnZHJhZ2xlYXZlJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgdGhpcy5fZHJvcEFyZWEuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX2hhbmRsZVVuaGlnaGxpZ2h0LmJpbmQodGhpcyksIGZhbHNlKTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByZXZlbnREZWZhdWx0cyhlOiBhbnkpIHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlSGlnaGxpZ2h0KGUpIHtcclxuICAgIHRoaXMuX2Ryb3BBcmVhLmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWhvdmVyJyk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlVW5oaWdobGlnaHQoZSkge1xyXG4gICAgdGhpcy5fZHJvcEFyZWEuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtaG92ZXInKTtcclxuICB9XHJcbn1cclxuIiwiICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtNFwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWMgYXgtaWMtY2xvdWQtdXBsb2FkIHVwbG9hZC1pY29uXCI+PC9pPlxyXG4gICAgICAgIDxkaXY+RHJhZyB5b3VyIGZpbGUgaGVyZSBvciwgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXByaW1hcnktNTAwXCI+Y2xpY2sgdG8gYnJvd3NlPC9zcGFuPjwvZGl2PlxyXG4gICAgPC9kaXY+Il19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL3VwbG9hZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFTM0QsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQUxaLG1CQUFtQixhQUN4QixZQUFZLGFBQ1osbUJBQW1COzhHQUdsQixnQkFBZ0IsWUFKakIsWUFBWTsyRkFJWCxnQkFBZ0I7a0JBTjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkZXIuY29tcG9uZW50JztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FYVXBsb2FkZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWFVwbG9hZGVyQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhVcGxvYWRlck1vZHVsZSB7IH1cclxuIl19
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.image = '';
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
- console.log(files);
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-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>", encapsulation: i0.ViewEncapsulation.None });
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-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>" }]
64
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { multiple: [{
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 OnInit,\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 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 image: string = '';\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 {\r\n console.log(files);\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(eventName, this._handleHighlight.bind(this), false);\r\n });\r\n\r\n ['dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this._handleUnhighlight.bind(this), 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"," <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXUploaderComponent } from './uploader.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXUploaderComponent],\r\n imports: [CommonModule],\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
+ {"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.image = '';
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
- console.log(files);
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-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>", encapsulation: i0.ViewEncapsulation.None });
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-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>" }]
59
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { multiple: [{
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 OnInit,\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 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 image: string = '';\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 {\r\n console.log(files);\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(eventName, this._handleHighlight.bind(this), false);\r\n });\r\n\r\n ['dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this._handleUnhighlight.bind(this), 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"," <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXUploaderComponent } from './uploader.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXUploaderComponent],\r\n imports: [CommonModule],\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
+ {"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,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "6.0.14",
3
+ "version": "6.0.15",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0",
@@ -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
- image: string;
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, never, false>;
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
  }