@acorex/components 7.17.13 → 7.17.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/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
- package/esm2022/alert/lib/alert.component.mjs +3 -3
- package/esm2022/alert/lib/alert.module.mjs +4 -4
- package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.module.mjs +4 -4
- package/esm2022/badge/lib/badge.component.mjs +3 -3
- package/esm2022/badge/lib/badge.module.mjs +4 -4
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
- package/esm2022/button/lib/button-item-list.component.mjs +3 -3
- package/esm2022/button/lib/button-item.component.mjs +3 -3
- package/esm2022/button/lib/button.component.mjs +3 -3
- package/esm2022/button/lib/button.module.mjs +4 -4
- package/esm2022/button-group/lib/button-group.component.mjs +3 -3
- package/esm2022/button-group/lib/button-group.module.mjs +4 -4
- package/esm2022/calendar/lib/calendar-range.component.mjs +3 -3
- package/esm2022/calendar/lib/calendar.class.mjs +3 -3
- package/esm2022/calendar/lib/calendar.component.mjs +5 -5
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/lib/check-box.component.mjs +3 -3
- package/esm2022/check-box/lib/check-box.module.mjs +4 -4
- package/esm2022/chips/lib/chips.component.mjs +3 -3
- package/esm2022/chips/lib/chips.module.mjs +4 -4
- package/esm2022/circular-progress/lib/circular-progress.component.mjs +4 -4
- package/esm2022/circular-progress/lib/circular-progress.module.mjs +4 -4
- package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.module.mjs +4 -4
- package/esm2022/color-box/lib/color-box.component.mjs +3 -3
- package/esm2022/color-box/lib/color-box.module.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
- package/esm2022/color-palette/lib/color-palette.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
- package/esm2022/common/lib/classes/components.class.mjs +21 -21
- package/esm2022/common/lib/common.module.mjs +4 -4
- package/esm2022/common/lib/components/base-component.class.mjs +3 -3
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
- package/esm2022/common/lib/components/look-component.class.mjs +3 -3
- package/esm2022/common/lib/components/selection-base.component.class.mjs +6 -6
- package/esm2022/common/lib/components/value-component.class.mjs +3 -3
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
- package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
- package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
- package/esm2022/common/lib/directives/ripple.directive.mjs +3 -3
- package/esm2022/common/lib/services/dom.service.mjs +3 -3
- package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager.module.mjs +4 -4
- package/esm2022/data-table/lib/columns/data-table-column.mjs +3 -3
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +3 -3
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +6 -6
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +3 -3
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +3 -3
- package/esm2022/data-table/lib/data-table.component.mjs +3 -3
- package/esm2022/data-table/lib/data-table.module.mjs +4 -4
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +3 -3
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +4 -4
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +3 -3
- package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +6 -6
- package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +4 -4
- package/esm2022/decorators/lib/components/clear-button.component.mjs +3 -3
- package/esm2022/decorators/lib/components/close-button.component.mjs +3 -3
- package/esm2022/decorators/lib/components/generic-content.component.mjs +3 -3
- package/esm2022/decorators/lib/components/icon.component.mjs +3 -3
- package/esm2022/decorators/lib/decorators.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog.service.mjs +3 -3
- package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
- package/esm2022/drawer/lib/drawer.component.mjs +3 -3
- package/esm2022/drawer/lib/drawer.module.mjs +4 -4
- package/esm2022/dropdown/lib/dropdown-box.class.mjs +3 -3
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +3 -3
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -3
- package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2022/form/lib/form-field.component.mjs +3 -3
- package/esm2022/form/lib/form.component.mjs +3 -3
- package/esm2022/form/lib/form.module.mjs +4 -4
- package/esm2022/form/lib/validation-rule.widget.mjs +3 -3
- package/esm2022/form/lib/validation-summary.component.mjs +3 -3
- package/esm2022/image/lib/image.component.mjs +3 -3
- package/esm2022/image/lib/image.module.mjs +4 -4
- package/esm2022/label/lib/label.component.mjs +3 -3
- package/esm2022/label/lib/label.module.mjs +4 -4
- package/esm2022/list/lib/list.component.mjs +3 -3
- package/esm2022/list/lib/list.module.mjs +4 -4
- package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
- package/esm2022/loading/lib/loading.component.mjs +3 -3
- package/esm2022/loading/lib/loading.directive.mjs +3 -3
- package/esm2022/loading/lib/loading.module.mjs +4 -4
- package/esm2022/loading/lib/loading.service.mjs +3 -3
- package/esm2022/menu/lib/menu-item/menu-item.component.mjs +3 -3
- package/esm2022/menu/lib/menu.component.mjs +3 -3
- package/esm2022/menu/lib/menu.module.mjs +4 -4
- package/esm2022/navbar/lib/navbar.component.mjs +3 -3
- package/esm2022/navbar/lib/navbar.module.mjs +4 -4
- package/esm2022/notification/lib/notification.component.mjs +3 -3
- package/esm2022/notification/lib/notification.module.mjs +4 -4
- package/esm2022/notification/lib/notification.service.mjs +3 -3
- package/esm2022/number-box/lib/number-box.component.mjs +3 -3
- package/esm2022/number-box/lib/number-box.module.mjs +4 -4
- package/esm2022/otp/lib/otp.component.mjs +3 -3
- package/esm2022/otp/lib/otp.module.mjs +4 -4
- package/esm2022/page/lib/base-page.class.mjs +3 -3
- package/esm2022/page/lib/page.component.mjs +3 -3
- package/esm2022/page/lib/page.module.mjs +4 -4
- package/esm2022/password-box/lib/password-box.component.mjs +3 -3
- package/esm2022/password-box/lib/password-box.module.mjs +4 -4
- package/esm2022/picker/lib/picker-column.directive.mjs +3 -3
- package/esm2022/picker/lib/picker.component.mjs +6 -6
- package/esm2022/picker/lib/picker.module.mjs +4 -4
- package/esm2022/popover/lib/popover.component.mjs +3 -3
- package/esm2022/popover/lib/popover.module.mjs +4 -4
- package/esm2022/popup/lib/popup.component.mjs +3 -3
- package/esm2022/popup/lib/popup.module.mjs +4 -4
- package/esm2022/popup/lib/popup.service.mjs +3 -3
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +3 -3
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
- package/esm2022/radio/lib/radio.component.mjs +3 -3
- package/esm2022/radio/lib/radio.module.mjs +4 -4
- package/esm2022/range-slider/lib/range-slider.component.mjs +3 -3
- package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
- package/esm2022/result/lib/result.component.mjs +3 -3
- package/esm2022/result/lib/result.module.mjs +4 -4
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
- package/esm2022/routing-progress/lib/routing-progress.module.mjs +4 -4
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
- package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +3 -3
- package/esm2022/scheduler/lib/scheduler.component.mjs +3 -3
- package/esm2022/scheduler/lib/scheduler.module.mjs +4 -4
- package/esm2022/search-box/lib/search-box.component.mjs +3 -3
- package/esm2022/search-box/lib/search-box.module.mjs +4 -4
- package/esm2022/select-box/lib/select-box.component.mjs +3 -3
- package/esm2022/select-box/lib/select-box.module.mjs +4 -4
- package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
- package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
- package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +3 -3
- package/esm2022/side-menu/lib/side-menu.component.mjs +3 -3
- package/esm2022/side-menu/lib/side-menu.module.mjs +4 -4
- package/esm2022/skeleton/lib/skeleton.component.mjs +3 -3
- package/esm2022/skeleton/lib/skeleton.module.mjs +4 -4
- package/esm2022/switch/lib/switch-content.component.mjs +3 -3
- package/esm2022/switch/lib/switch.component.mjs +3 -3
- package/esm2022/switch/lib/switch.module.mjs +4 -4
- package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
- package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.component.mjs +4 -4
- package/esm2022/tabs/lib/tabs.module.mjs +4 -4
- package/esm2022/tag/lib/tag.component.mjs +3 -3
- package/esm2022/tag/lib/tag.module.mjs +4 -4
- package/esm2022/text-area/lib/text-area.component.mjs +3 -3
- package/esm2022/text-area/lib/text-area.module.mjs +4 -4
- package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
- package/esm2022/text-box/lib/text-box.component.mjs +3 -3
- package/esm2022/text-box/lib/text-box.module.mjs +4 -4
- package/esm2022/toast/lib/toast.component.mjs +3 -3
- package/esm2022/toast/lib/toast.module.mjs +4 -4
- package/esm2022/toast/lib/toast.service.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/uploader/index.mjs +1 -2
- package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +6 -5
- package/esm2022/uploader/lib/uploader-list.component.mjs +13 -28
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +5 -6
- package/esm2022/uploader/lib/uploader.models.mjs +31 -0
- package/esm2022/uploader/lib/uploader.module.mjs +24 -14
- package/esm2022/uploader/lib/uploader.service.mjs +58 -16
- package/fesm2022/acorex-components-action-sheet.mjs +10 -10
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs +7 -7
- package/fesm2022/acorex-components-button.mjs +13 -13
- package/fesm2022/acorex-components-calendar.mjs +15 -15
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +7 -7
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-circular-progress.mjs +8 -8
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-palette.mjs +25 -25
- package/fesm2022/acorex-components-common.mjs +67 -67
- package/fesm2022/acorex-components-data-pager.mjs +31 -31
- package/fesm2022/acorex-components-data-table.mjs +25 -25
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs +7 -7
- package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +16 -16
- package/fesm2022/acorex-components-dialog.mjs +10 -10
- package/fesm2022/acorex-components-drawer.mjs +10 -10
- package/fesm2022/acorex-components-dropdown.mjs +13 -13
- package/fesm2022/acorex-components-form.mjs +16 -16
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-list.mjs +7 -7
- package/fesm2022/acorex-components-loading.mjs +16 -16
- package/fesm2022/acorex-components-menu.mjs +10 -10
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-notification.mjs +10 -10
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-password-box.mjs +7 -7
- package/fesm2022/acorex-components-picker.mjs +12 -12
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +7 -7
- package/fesm2022/acorex-components-popup.mjs +10 -10
- package/fesm2022/acorex-components-progress-bar.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-scheduler.mjs +13 -13
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs +7 -7
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-side-menu.mjs +10 -10
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-tabs.mjs +14 -14
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-toast.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-uploader.mjs +163 -105
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/package.json +21 -21
- package/uploader/index.d.ts +0 -1
- package/uploader/lib/uploader-list.component.d.ts +5 -14
- package/uploader/lib/uploader.models.d.ts +11 -0
- package/uploader/lib/uploader.module.d.ts +12 -9
- package/uploader/lib/uploader.service.d.ts +13 -6
- package/esm2022/uploader/lib/uploader-overlay.component.mjs +0 -12
- package/uploader/lib/uploader-overlay.component.d.ts +0 -6
@@ -1,39 +1,104 @@
|
|
1
1
|
import { MXBaseComponent } from '@acorex/components/common';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import { Component, ViewEncapsulation,
|
4
|
-
import * as i1 from '@acorex/components/decorators';
|
3
|
+
import { inject, Component, ViewEncapsulation, signal, Injectable, Directive, Input, HostBinding, NgModule } from '@angular/core';
|
4
|
+
import * as i1$1 from '@acorex/components/decorators';
|
5
5
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
6
|
-
import {
|
7
|
-
import * as
|
8
|
-
import {
|
6
|
+
import { AXFileService, AXFileModule } from '@acorex/core/file';
|
7
|
+
import * as i3 from '@acorex/core/translation';
|
8
|
+
import { AXTranslator, AXTranslationModule } from '@acorex/core/translation';
|
9
|
+
import { Dialog } from '@angular/cdk/dialog';
|
9
10
|
import { GlobalPositionStrategy } from '@angular/cdk/overlay';
|
10
|
-
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
11
11
|
import { BehaviorSubject } from 'rxjs';
|
12
|
-
import
|
12
|
+
import { AUTO_STYLE, style, state, animate, transition, trigger } from '@angular/animations';
|
13
|
+
import * as i1 from '@angular/common';
|
13
14
|
import { CommonModule } from '@angular/common';
|
14
|
-
import * as
|
15
|
-
import {
|
16
|
-
import * as i4 from '@acorex/core/
|
17
|
-
import {
|
18
|
-
import { AXFileService } from '@acorex/core/file';
|
15
|
+
import * as i2 from '@acorex/components/circular-progress';
|
16
|
+
import { AXCircularProgressModule } from '@acorex/components/circular-progress';
|
17
|
+
import * as i4 from '@acorex/core/format';
|
18
|
+
import { AXFormatModule } from '@acorex/core/format';
|
19
19
|
import { AXButtonModule } from '@acorex/components/button';
|
20
|
+
import { AXProgressBarModule } from '@acorex/components/progress-bar';
|
21
|
+
import { HttpClientModule } from '@angular/common/http';
|
22
|
+
import { AXDateTimeModule } from '@acorex/core/dateTime';
|
20
23
|
|
21
|
-
class
|
22
|
-
|
23
|
-
|
24
|
+
class AXUploaderListComponent extends MXBaseComponent {
|
25
|
+
constructor() {
|
26
|
+
super();
|
27
|
+
this.leftTime = 5;
|
28
|
+
this.isCollapsed = false;
|
29
|
+
this.uploadService = inject(AXUploaderService);
|
30
|
+
}
|
31
|
+
upload(file) {
|
32
|
+
//this.uploadService.upload(file)
|
33
|
+
}
|
34
|
+
toggle() {
|
35
|
+
this.isCollapsed = !this.isCollapsed;
|
36
|
+
}
|
37
|
+
close() {
|
38
|
+
this.uploadService.closeDialog();
|
39
|
+
}
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.5", type: AXUploaderListComponent, selector: "ax-uploader-list", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <i class=\"fa-regular fa-file fa-2xl\"></i>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\">{{ item.name }}</div>\n <small>{{ item.size | format: 'filesize' }}</small>\n <!-- <ax-progress-bar class=\"ax-w-full\" color=\"primary\" [progress]=\"item.progress()\"></ax-progress-bar> -->\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-check-circle-fill ax-state-success ax-show\"></i>\n <i\n class=\"ax-icon ax-icon-archive ax-state-info ax-hide\"\n (click)=\"uploadService.remove(item)\"\n ></i>\n </div>\n }\n @case ('canceled') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-block ax-state-danger ax-show\"></i>\n <i\n class=\"ax-icon ax-icon-archive ax-state-info ax-hide\"\n (click)=\"uploadService.remove(item)\"\n ></i>\n </div>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-cancel-fill ax-hide\" (click)=\"item.cancel()\"></i>\n </div>\n }\n }\n </li>\n }\n </ul>\n</div>\n", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-list .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-list .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer;font-size:1.5rem;line-height:2rem;line-height:1}ax-uploader-list .ax-uploader-list-header .ax-icon:hover{opacity:.75}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{max-height:75vh;width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem;gap:.5rem;display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;gap:1rem;width:100%}ax-uploader-list .ax-uploader-list-items li .ax-item-container{display:flex;flex-direction:column;flex:1}ax-uploader-list .ax-uploader-list-items li .ax-item-container .ax-item-name{font-size:.875rem;line-height:1.25rem}ax-uploader-list .ax-uploader-list-items li .ax-status{cursor:pointer;position:relative;color:rgba(var(--ax-color-black),.5)}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon{font-size:1.5rem}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-info{color:rgba(var(--ax-color-info-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-success{color:rgba(var(--ax-color-success-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-danger{color:rgba(var(--ax-color-danger-500))}ax-uploader-list .ax-uploader-list-items li:hover .ax-hide{display:block!important}ax-uploader-list .ax-uploader-list-items li:hover .ax-show{display:none!important}ax-uploader-list .ax-uploader-list-items li .ax-show{display:block}ax-uploader-list .ax-uploader-list-items li .ax-hide{display:none}.ax-uploader-list-pane .cdk-dialog-container:focus,.ax-uploader-list-pane .cdk-dialog-container:focus-visible,.ax-uploader-list-pane .cdk-dialog-container:focus-within{outline:2px solid transparent;outline-offset:2px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXCircularProgressComponent, selector: "ax-circular-progress", inputs: ["color", "progress", "stroke", "size"], outputs: ["ValueChange", "strokeChange", "sizeChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], animations: [
|
42
|
+
trigger('collapse', [
|
43
|
+
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
44
|
+
state('true', style({ height: '0', visibility: 'hidden' })),
|
45
|
+
transition('false => true', animate(150 + 'ms ease-in')),
|
46
|
+
transition('true => false', animate(150 + 'ms ease-out')),
|
47
|
+
]),
|
48
|
+
], encapsulation: i0.ViewEncapsulation.None }); }
|
24
49
|
}
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderListComponent, decorators: [{
|
26
51
|
type: Component,
|
27
|
-
args: [{ selector: 'ax-uploader-
|
28
|
-
|
52
|
+
args: [{ selector: 'ax-uploader-list', encapsulation: ViewEncapsulation.None, animations: [
|
53
|
+
trigger('collapse', [
|
54
|
+
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
55
|
+
state('true', style({ height: '0', visibility: 'hidden' })),
|
56
|
+
transition('false => true', animate(150 + 'ms ease-in')),
|
57
|
+
transition('true => false', animate(150 + 'ms ease-out')),
|
58
|
+
]),
|
59
|
+
], template: "<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <i class=\"fa-regular fa-file fa-2xl\"></i>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\">{{ item.name }}</div>\n <small>{{ item.size | format: 'filesize' }}</small>\n <!-- <ax-progress-bar class=\"ax-w-full\" color=\"primary\" [progress]=\"item.progress()\"></ax-progress-bar> -->\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-check-circle-fill ax-state-success ax-show\"></i>\n <i\n class=\"ax-icon ax-icon-archive ax-state-info ax-hide\"\n (click)=\"uploadService.remove(item)\"\n ></i>\n </div>\n }\n @case ('canceled') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-block ax-state-danger ax-show\"></i>\n <i\n class=\"ax-icon ax-icon-archive ax-state-info ax-hide\"\n (click)=\"uploadService.remove(item)\"\n ></i>\n </div>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-cancel-fill ax-hide\" (click)=\"item.cancel()\"></i>\n </div>\n }\n }\n </li>\n }\n </ul>\n</div>\n", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-list .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-list .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer;font-size:1.5rem;line-height:2rem;line-height:1}ax-uploader-list .ax-uploader-list-header .ax-icon:hover{opacity:.75}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{max-height:75vh;width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem;gap:.5rem;display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;gap:1rem;width:100%}ax-uploader-list .ax-uploader-list-items li .ax-item-container{display:flex;flex-direction:column;flex:1}ax-uploader-list .ax-uploader-list-items li .ax-item-container .ax-item-name{font-size:.875rem;line-height:1.25rem}ax-uploader-list .ax-uploader-list-items li .ax-status{cursor:pointer;position:relative;color:rgba(var(--ax-color-black),.5)}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon{font-size:1.5rem}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-info{color:rgba(var(--ax-color-info-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-success{color:rgba(var(--ax-color-success-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-danger{color:rgba(var(--ax-color-danger-500))}ax-uploader-list .ax-uploader-list-items li:hover .ax-hide{display:block!important}ax-uploader-list .ax-uploader-list-items li:hover .ax-show{display:none!important}ax-uploader-list .ax-uploader-list-items li .ax-show{display:block}ax-uploader-list .ax-uploader-list-items li .ax-hide{display:none}.ax-uploader-list-pane .cdk-dialog-container:focus,.ax-uploader-list-pane .cdk-dialog-container:focus-visible,.ax-uploader-list-pane .cdk-dialog-container:focus-within{outline:2px solid transparent;outline-offset:2px}\n"] }]
|
60
|
+
}], ctorParameters: () => [] });
|
61
|
+
|
62
|
+
class AXUploadRequest {
|
63
|
+
get name() {
|
64
|
+
return this.file.name;
|
65
|
+
}
|
66
|
+
get size() {
|
67
|
+
return this.file.size;
|
68
|
+
}
|
69
|
+
constructor(file) {
|
70
|
+
this.file = file;
|
71
|
+
this.progress = signal(0);
|
72
|
+
this.status = signal('new');
|
73
|
+
}
|
74
|
+
async upload() {
|
75
|
+
this.progress.set(0);
|
76
|
+
this.status.set('inprogress');
|
77
|
+
const inv = setInterval(() => {
|
78
|
+
this.progress.update(value => value + 1);
|
79
|
+
if (this.progress() >= 100) {
|
80
|
+
this.progress.set(100);
|
81
|
+
clearInterval(inv);
|
82
|
+
this.status.set('completed');
|
83
|
+
}
|
84
|
+
}, this.size / 5000);
|
85
|
+
}
|
86
|
+
cancel() {
|
87
|
+
this.status.set('canceled');
|
88
|
+
return Promise.resolve();
|
89
|
+
}
|
90
|
+
}
|
29
91
|
|
30
92
|
class AXUploaderService {
|
31
93
|
constructor() {
|
32
94
|
this.dialog = inject(Dialog);
|
33
|
-
this.
|
95
|
+
this.fileService = inject(AXFileService);
|
34
96
|
this.files$ = new BehaviorSubject([]);
|
35
97
|
}
|
36
|
-
|
98
|
+
get files() {
|
99
|
+
return this.files$;
|
100
|
+
}
|
101
|
+
showDialog() {
|
37
102
|
const positionStrategy = new GlobalPositionStrategy();
|
38
103
|
if (!this.dialogRef) {
|
39
104
|
this.dialogRef = this.dialog.open(AXUploaderListComponent, {
|
@@ -48,86 +113,63 @@ class AXUploaderService {
|
|
48
113
|
'ax-animate-faster',
|
49
114
|
],
|
50
115
|
positionStrategy: positionStrategy.bottom().end('24px'),
|
51
|
-
data: {
|
52
|
-
files: this.files$,
|
53
|
-
},
|
54
116
|
});
|
55
117
|
}
|
56
118
|
}
|
57
119
|
closeDialog() {
|
58
|
-
this.dialogRef
|
120
|
+
this.dialogRef?.close();
|
121
|
+
this.dialogRef = undefined;
|
59
122
|
}
|
60
|
-
|
61
|
-
|
62
|
-
formData.append(file.name, file);
|
63
|
-
return this.http.post(requestUrl, formData, options);
|
123
|
+
convertFileToRequest(file) {
|
124
|
+
return new AXUploadRequest(file);
|
64
125
|
}
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderService, decorators: [{
|
69
|
-
type: Injectable
|
70
|
-
}] });
|
71
|
-
|
72
|
-
class AXUploaderListComponent extends MXBaseComponent {
|
73
|
-
constructor(dialogRef) {
|
74
|
-
super();
|
75
|
-
this.dialogRef = dialogRef;
|
76
|
-
this.data = inject(DIALOG_DATA);
|
77
|
-
this.items = [];
|
78
|
-
this.leftTime = 5;
|
79
|
-
this.isCollapsed = false;
|
80
|
-
this.uploadService = inject(AXUploaderService);
|
81
|
-
this.uploadService.files$.subscribe({
|
82
|
-
next: (e) => {
|
83
|
-
this.items.push(...e);
|
84
|
-
// this.upload()
|
85
|
-
},
|
126
|
+
startUpload() {
|
127
|
+
this.files.value.filter(c => c.status() == 'new').forEach(c => {
|
128
|
+
c.upload();
|
86
129
|
});
|
87
130
|
}
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
}
|
94
|
-
|
131
|
+
async browse() {
|
132
|
+
try {
|
133
|
+
const files = await this.fileService.choose();
|
134
|
+
if (files.length) {
|
135
|
+
return this.add(files);
|
136
|
+
}
|
137
|
+
return Promise.resolve([]);
|
138
|
+
}
|
139
|
+
catch (error) {
|
140
|
+
console.error(error);
|
141
|
+
return Promise.resolve([]);
|
142
|
+
}
|
95
143
|
}
|
96
|
-
|
97
|
-
|
144
|
+
async add(files) {
|
145
|
+
const list = Array.from(files).map(f => this.convertFileToRequest(f));
|
146
|
+
const currentValue = this.files$.value;
|
147
|
+
currentValue.push(...list);
|
148
|
+
this.files$.next(currentValue);
|
149
|
+
this.showDialog();
|
150
|
+
this.startUpload();
|
151
|
+
return Promise.resolve(list);
|
98
152
|
}
|
99
|
-
|
100
|
-
this.dialogRef.close();
|
153
|
+
upload() {
|
101
154
|
}
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
117
|
-
state('true', style({ height: '0', visibility: 'hidden' })),
|
118
|
-
transition('false => true', animate(150 + 'ms ease-in')),
|
119
|
-
transition('true => false', animate(150 + 'ms ease-out')),
|
120
|
-
]),
|
121
|
-
], template: "<div class=\"ax-uploader-list-header\">\n <div>Uploader list</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button>{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <div>\n <i class=\"ax-icon ax-icon-inbox\"></i>\n <div class=\"ax-uploader-item-text\">\n <strong>{{ item.name }}</strong>\n <small>{{ item.size }}</small>\n </div>\n </div>\n <div>\n <ax-progress-bar style=\"width: 48px\" color=\"primary\" [progress]=\"20\"></ax-progress-bar>\n </div>\n </li>\n </ng-container>\n </ul>\n</div>\n", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-list .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-list .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer;font-size:1.5rem;line-height:2rem;line-height:1}ax-uploader-list .ax-uploader-list-header .ax-icon:hover{opacity:.75}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{padding:.5rem 0;overflow-y:auto;overflow-x:hidden;max-height:75vh}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;justify-content:space-between;padding:.75rem;font-size:.875rem;line-height:1.25rem}ax-uploader-list .ax-uploader-list-items li>div{display:flex}ax-uploader-list .ax-uploader-list-items li>div .ax-icon{-webkit-margin-end:.5rem;margin-inline-end:.5rem;display:flex;font-size:1.5rem;line-height:1}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text{display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text strong{display:block;font-weight:500}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text small{color:rgb(var(--ax-color-text-default),.5)}.ax-uploader-list-pane .cdk-dialog-container:focus,.ax-uploader-list-pane .cdk-dialog-container:focus-visible,.ax-uploader-list-pane .cdk-dialog-container:focus-within{outline:2px solid transparent;outline-offset:2px}\n"] }]
|
122
|
-
}], ctorParameters: () => [{ type: i1$1.DialogRef }] });
|
123
|
-
|
124
|
-
class AXUploaderOverlayComponent extends MXBaseComponent {
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderOverlayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: AXUploaderOverlayComponent, selector: "ax-uploader-overlay", usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-items-center ax-justify-center ax-h-[95vh] hover:ax-bg-primary-50 ax-m-2 hover:ax-border-2 ax-rounded-lg hover:ax-border-primary-500\">\n\n</div>", styles: [""], encapsulation: i0.ViewEncapsulation.None }); }
|
155
|
+
cancelAll() {
|
156
|
+
this.files$.value.forEach(c => c.cancel());
|
157
|
+
this.closeDialog();
|
158
|
+
}
|
159
|
+
remove(item) {
|
160
|
+
let currentValue = this.files$.value;
|
161
|
+
currentValue = currentValue.filter(c => c != item);
|
162
|
+
this.files$.next(currentValue);
|
163
|
+
if (currentValue.length == 0) {
|
164
|
+
this.closeDialog();
|
165
|
+
}
|
166
|
+
}
|
167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
168
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderService, providedIn: 'root' }); }
|
127
169
|
}
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
129
|
-
type:
|
130
|
-
args: [{
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderService, decorators: [{
|
171
|
+
type: Injectable,
|
172
|
+
args: [{ providedIn: 'root' }]
|
131
173
|
}] });
|
132
174
|
|
133
175
|
class AXUploaderZoneDirective {
|
@@ -161,8 +203,7 @@ class AXUploaderZoneDirective {
|
|
161
203
|
handleOnDrop(event) {
|
162
204
|
event.preventDefault();
|
163
205
|
event.stopImmediatePropagation();
|
164
|
-
this.uploadService.
|
165
|
-
this.uploadService.openDialog();
|
206
|
+
this.uploadService.add(event.dataTransfer?.files);
|
166
207
|
this.removeZone();
|
167
208
|
}
|
168
209
|
handleDragOver(event) {
|
@@ -186,10 +227,10 @@ class AXUploaderZoneDirective {
|
|
186
227
|
get __hostClass() {
|
187
228
|
return `ax-drop-zone`;
|
188
229
|
}
|
189
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
190
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderZoneDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
231
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.5", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: { multiple: "multiple" }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0 }); }
|
191
232
|
}
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderZoneDirective, decorators: [{
|
193
234
|
type: Directive,
|
194
235
|
args: [{
|
195
236
|
selector: '[axUploaderZone]',
|
@@ -201,34 +242,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
201
242
|
args: ['class']
|
202
243
|
}] } });
|
203
244
|
|
245
|
+
class AXUploaderDropZoneComponent extends MXBaseComponent {
|
246
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderDropZoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
247
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
248
|
+
}
|
249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderDropZoneComponent, decorators: [{
|
250
|
+
type: Component,
|
251
|
+
args: [{ selector: 'ax-uploader-drop-zone', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>" }]
|
252
|
+
}] });
|
253
|
+
|
204
254
|
class AXUploaderModule {
|
205
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
206
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
255
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
256
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderDropZoneComponent,
|
207
257
|
AXUploaderListComponent,
|
208
|
-
AXUploaderOverlayComponent,
|
209
258
|
AXUploaderZoneDirective], imports: [CommonModule,
|
210
259
|
HttpClientModule,
|
211
260
|
AXDecoratorModule,
|
212
261
|
AXButtonModule,
|
213
262
|
AXTranslationModule,
|
214
|
-
AXProgressBarModule
|
263
|
+
AXProgressBarModule,
|
264
|
+
AXFormatModule,
|
265
|
+
AXFileModule,
|
266
|
+
AXDateTimeModule,
|
267
|
+
AXCircularProgressModule], exports: [AXUploaderDropZoneComponent,
|
215
268
|
AXUploaderListComponent,
|
216
|
-
AXUploaderOverlayComponent,
|
217
269
|
AXUploaderZoneDirective] }); }
|
218
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
270
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderModule, providers: [AXUploaderService], imports: [CommonModule,
|
219
271
|
HttpClientModule,
|
220
272
|
AXDecoratorModule,
|
221
273
|
AXButtonModule,
|
222
274
|
AXTranslationModule,
|
223
|
-
AXProgressBarModule
|
275
|
+
AXProgressBarModule,
|
276
|
+
AXFormatModule,
|
277
|
+
AXFileModule,
|
278
|
+
AXDateTimeModule,
|
279
|
+
AXCircularProgressModule] }); }
|
224
280
|
}
|
225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
281
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: AXUploaderModule, decorators: [{
|
226
282
|
type: NgModule,
|
227
283
|
args: [{
|
228
284
|
declarations: [
|
229
285
|
AXUploaderDropZoneComponent,
|
230
286
|
AXUploaderListComponent,
|
231
|
-
AXUploaderOverlayComponent,
|
232
287
|
AXUploaderZoneDirective,
|
233
288
|
],
|
234
289
|
imports: [
|
@@ -238,14 +293,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
238
293
|
AXButtonModule,
|
239
294
|
AXTranslationModule,
|
240
295
|
AXProgressBarModule,
|
296
|
+
AXFormatModule,
|
297
|
+
AXFileModule,
|
298
|
+
AXDateTimeModule,
|
299
|
+
AXCircularProgressModule
|
241
300
|
],
|
242
301
|
exports: [
|
243
302
|
AXUploaderDropZoneComponent,
|
244
303
|
AXUploaderListComponent,
|
245
|
-
AXUploaderOverlayComponent,
|
246
304
|
AXUploaderZoneDirective,
|
247
305
|
],
|
248
|
-
providers: [AXUploaderService
|
306
|
+
providers: [AXUploaderService],
|
249
307
|
}]
|
250
308
|
}] });
|
251
309
|
|
@@ -253,5 +311,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
253
311
|
* Generated bundle index. Do not edit.
|
254
312
|
*/
|
255
313
|
|
256
|
-
export { AXUploaderDropZoneComponent, AXUploaderListComponent, AXUploaderModule,
|
314
|
+
export { AXUploaderDropZoneComponent, AXUploaderListComponent, AXUploaderModule, AXUploaderService, AXUploaderZoneDirective };
|
257
315
|
//# sourceMappingURL=acorex-components-uploader.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.service.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-overlay.component.ts","../../../../libs/components/uploader/src/lib/uploader-overlay.component.html","../../../../libs/components/uploader/src/lib/uploader-zone.directive.ts","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {}\n","<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AXUploaderListComponent } from './uploader-list.component';\n\n@Injectable()\nexport class AXUploaderService {\n private dialog: Dialog = inject(Dialog);\n private http: HttpClient = inject(HttpClient);\n files$: BehaviorSubject<Array<any>> = new BehaviorSubject<Array<any>>([]);\n\n dialogRef: DialogRef;\n openDialog() {\n const positionStrategy = new GlobalPositionStrategy();\n if (!this.dialogRef) {\n this.dialogRef = this.dialog.open(AXUploaderListComponent, {\n hasBackdrop: false,\n closeOnNavigation: false,\n width: '320px',\n maxWidth: 320,\n panelClass: [\n 'ax-uploader-list-pane',\n 'ax-animate-animated',\n 'ax-animate-fadeIn',\n 'ax-animate-faster',\n ],\n positionStrategy: positionStrategy.bottom().end('24px'),\n data: {\n files: this.files$,\n },\n }) as DialogRef;\n }\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n upload(requestUrl: string, file: File, options?: any) {\n const formData = new FormData();\n formData.append(file.name, file);\n return this.http.post(requestUrl, formData, options);\n }\n}\n","import { AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n\nexport interface AXUploaderItem {\n type: 'picture' | 'doc' | 'pdf' | 'archive' | 'video' | 'unknow';\n name: string;\n size: number;\n description?: string;\n}\n\n@Component({\n selector: 'ax-uploader-list',\n templateUrl: './uploader-list.component.html',\n styleUrls: ['./uploader-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n})\nexport class AXUploaderListComponent extends MXBaseComponent {\n data = inject(DIALOG_DATA);\n items: any[] = [];\n leftTime = 5;\n isCollapsed = false;\n\n private uploadService: AXUploaderService = inject(AXUploaderService);\n\n constructor(private dialogRef: DialogRef<AXComponentCloseEvent>) {\n super();\n this.uploadService.files$.subscribe({\n next: (e: any) => {\n this.items.push(...e);\n // this.upload()\n },\n });\n }\n\n upload(file) {\n this.uploadService.upload('http://api.acorexui.com/api/v1/files', file).subscribe({\n next: (e: any) => {},\n error: (err: any) => {\n console.error(err);\n },\n });\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n close() {\n this.dialogRef.close();\n }\n}\n","<div class=\"ax-uploader-list-header\">\n <div>Uploader list</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button>{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <div>\n <i class=\"ax-icon ax-icon-inbox\"></i>\n <div class=\"ax-uploader-item-text\">\n <strong>{{ item.name }}</strong>\n <small>{{ item.size }}</small>\n </div>\n </div>\n <div>\n <ax-progress-bar style=\"width: 48px\" color=\"primary\" [progress]=\"20\"></ax-progress-bar>\n </div>\n </li>\n </ng-container>\n </ul>\n</div>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-overlay',\n templateUrl: './uploader-overlay.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderOverlayComponent extends MXBaseComponent {}\n","<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-items-center ax-justify-center ax-h-[95vh] hover:ax-bg-primary-50 ax-m-2 hover:ax-border-2 ax-rounded-lg hover:ax-border-primary-500\">\n\n</div>","import { AXFileService } from '@acorex/core/file';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { Directive, ElementRef, HostBinding, Input, OnDestroy, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input() multiple = true;\n private fileService: AXFileService = inject(AXFileService);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n private element: HTMLElement;\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n init() {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n }\n\n constructor(private elementRef: ElementRef) {\n this.init();\n this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);\n this.element.addEventListener('dragover', this.handleDragOver.bind(this), true);\n this.element.addEventListener('drop', this.handleOnDrop.bind(this), true);\n this.element.addEventListener('dragleave', this.removeZone.bind(this), true);\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.removeEventListener('drop', this.handleOnDrop.bind(this));\n this.element.removeEventListener('dragover', this.handleDragOver.bind(this));\n this.element.removeEventListener('dragleave', this.removeZone.bind(this));\n }\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.uploadService.files$.next(event.dataTransfer?.files as any);\n this.uploadService.openDialog();\n this.removeZone();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private createZone() {\n this.overlayElement = document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state');\n\n const icon: HTMLSpanElement = document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = document.createElement('span');\n text.innerText = AXTranslator.get('uploader.zone.text');\n\n this.overlayElement.appendChild(icon);\n this.overlayElement.appendChild(text);\n\n this.element.appendChild(this.overlayElement);\n }\n private removeZone() {\n this.overlayElement.remove();\n }\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone.component';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploaderOverlayComponent } from './uploader-overlay.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\nimport { AXUploaderService } from './uploader.service';\n\n@NgModule({\n declarations: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderOverlayComponent,\n AXUploaderZoneDirective,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n ],\n exports: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderOverlayComponent,\n AXUploaderZoneDirective,\n ],\n providers: [AXUploaderService, AXFileService],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../libs/components/uploader/src/lib/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader.models.ts","../../../../libs/components/uploader/src/lib/uploader.service.ts","../../../../libs/components/uploader/src/lib/uploader-zone.directive.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n\n@Component({\n selector: 'ax-uploader-list',\n templateUrl: './uploader-list.component.html',\n styleUrls: ['./uploader-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n})\nexport class AXUploaderListComponent extends MXBaseComponent {\n leftTime = 5;\n isCollapsed = false;\n\n protected uploadService: AXUploaderService = inject(AXUploaderService);\n\n constructor() {\n super();\n }\n\n upload(file: File) {\n //this.uploadService.upload(file)\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n\n close() {\n this.uploadService.closeDialog();\n }\n}\n","<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <i class=\"fa-regular fa-file fa-2xl\"></i>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\">{{ item.name }}</div>\n <small>{{ item.size | format: 'filesize' }}</small>\n <!-- <ax-progress-bar class=\"ax-w-full\" color=\"primary\" [progress]=\"item.progress()\"></ax-progress-bar> -->\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-check-circle-fill ax-state-success ax-show\"></i>\n <i\n class=\"ax-icon ax-icon-archive ax-state-info ax-hide\"\n (click)=\"uploadService.remove(item)\"\n ></i>\n </div>\n }\n @case ('canceled') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-block ax-state-danger ax-show\"></i>\n <i\n class=\"ax-icon ax-icon-archive ax-state-info ax-hide\"\n (click)=\"uploadService.remove(item)\"\n ></i>\n </div>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-cancel-fill ax-hide\" (click)=\"item.cancel()\"></i>\n </div>\n }\n }\n </li>\n }\n </ul>\n</div>\n","import { signal } from \"@angular/core\";\n\nexport type AXUploadStatus = 'new' | 'inprogress' | 'completed' | 'faild' | 'canceled';\n\n\n\nexport class AXUploadRequest {\n\n get name(): string {\n return this.file.name;\n }\n\n get size(): number {\n return this.file.size;\n }\n\n readonly progress = signal(0);\n\n readonly status = signal<AXUploadStatus>('new');\n\n constructor(private file: File) {\n }\n\n\n\n public async upload(): Promise<void> {\n this.progress.set(0);\n this.status.set('inprogress');\n const inv = setInterval(() => {\n this.progress.update(value => value + 1);\n if (this.progress() >= 100) {\n this.progress.set(100);\n clearInterval(inv);\n this.status.set('completed');\n }\n }, this.size / 5000);\n }\n\n public cancel(): Promise<void> {\n this.status.set('canceled');\n return Promise.resolve();\n }\n}\n\n\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploadRequest } from './uploader.models';\nimport { AXFileService } from '@acorex/core/file';\n\n@Injectable({ providedIn: 'root' })\nexport class AXUploaderService {\n\n private dialog: Dialog = inject(Dialog);\n private fileService: AXFileService = inject(AXFileService);\n private files$: BehaviorSubject<AXUploadRequest[]> = new BehaviorSubject<AXUploadRequest[]>([]);\n public get files(): BehaviorSubject<AXUploadRequest[]> {\n return this.files$;\n }\n\n private dialogRef: DialogRef | undefined;\n\n\n private showDialog() {\n const positionStrategy = new GlobalPositionStrategy();\n if (!this.dialogRef) {\n this.dialogRef = this.dialog.open(AXUploaderListComponent, {\n hasBackdrop: false,\n closeOnNavigation: false,\n width: '320px',\n maxWidth: 320,\n panelClass: [\n 'ax-uploader-list-pane',\n 'ax-animate-animated',\n 'ax-animate-fadeIn',\n 'ax-animate-faster',\n ],\n positionStrategy: positionStrategy.bottom().end('24px'),\n }) as DialogRef;\n }\n }\n\n closeDialog() {\n this.dialogRef?.close();\n this.dialogRef = undefined;\n }\n\n private convertFileToRequest(file: File): AXUploadRequest {\n return new AXUploadRequest(file);\n }\n\n private startUpload() {\n this.files.value.filter(c => c.status() == 'new').forEach(c => {\n c.upload();\n });\n }\n\n async browse(): Promise<AXUploadRequest[]> {\n try {\n const files = await this.fileService.choose();\n if (files.length) {\n return this.add(files);\n }\n return Promise.resolve([]);\n } catch (error) {\n console.error(error);\n return Promise.resolve([]);\n }\n }\n\n async add(files: FileList | File[]): Promise<AXUploadRequest[]> {\n const list = Array.from(files).map(f => this.convertFileToRequest(f));\n const currentValue = this.files$.value;\n currentValue.push(...list);\n this.files$.next(currentValue);\n this.showDialog();\n this.startUpload();\n return Promise.resolve(list);\n }\n\n upload() {\n\n }\n\n cancelAll() {\n this.files$.value.forEach(c => c.cancel());\n this.closeDialog();\n }\n\n remove(item: AXUploadRequest) {\n let currentValue = this.files$.value;\n currentValue = currentValue.filter(c => c != item);\n this.files$.next(currentValue);\n if (currentValue.length == 0) {\n this.closeDialog();\n }\n }\n}\n","import { AXFileService } from '@acorex/core/file';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { Directive, ElementRef, HostBinding, Input, OnDestroy, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input() multiple = true;\n private fileService: AXFileService = inject(AXFileService);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n private element: HTMLElement;\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n\n init() {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n }\n\n constructor(private elementRef: ElementRef) {\n this.init();\n this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);\n this.element.addEventListener('dragover', this.handleDragOver.bind(this), true);\n this.element.addEventListener('drop', this.handleOnDrop.bind(this), true);\n this.element.addEventListener('dragleave', this.removeZone.bind(this), true);\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.removeEventListener('drop', this.handleOnDrop.bind(this));\n this.element.removeEventListener('dragover', this.handleDragOver.bind(this));\n this.element.removeEventListener('dragleave', this.removeZone.bind(this));\n }\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.uploadService.add(event.dataTransfer?.files);\n this.removeZone();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private createZone() {\n this.overlayElement = document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state');\n\n const icon: HTMLSpanElement = document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = document.createElement('span');\n text.innerText = AXTranslator.get('uploader.zone.text');\n\n this.overlayElement.appendChild(icon);\n this.overlayElement.appendChild(text);\n\n this.element.appendChild(this.overlayElement);\n }\n\n private removeZone() {\n this.overlayElement.remove();\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {}\n","<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone.component';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\nimport { AXUploaderService } from './uploader.service';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\nimport { AXCircularProgressModule } from '@acorex/components/circular-progress';\n\n@NgModule({\n declarations: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderZoneDirective,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXCircularProgressModule\n ],\n exports: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderZoneDirective,\n ],\n providers: [AXUploaderService],\n})\nexport class AXUploaderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXUploaderZoneDirective"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "@acorex/components",
|
3
|
-
"version": "7.17.
|
3
|
+
"version": "7.17.15",
|
4
4
|
"sideEffects": false,
|
5
5
|
"peerDependencies": {
|
6
|
-
"@angular/common": ">=17.0.
|
7
|
-
"@angular/core": ">=17.0.
|
6
|
+
"@angular/common": ">=17.0.3",
|
7
|
+
"@angular/core": ">=17.0.3",
|
8
8
|
"@angular/cdk": ">=17.0.0",
|
9
9
|
"imask": ">=7.0.1",
|
10
10
|
"angular-imask": ">=7.0.1",
|
@@ -160,18 +160,18 @@
|
|
160
160
|
"esm": "./esm2022/drawer/acorex-components-drawer.mjs",
|
161
161
|
"default": "./fesm2022/acorex-components-drawer.mjs"
|
162
162
|
},
|
163
|
-
"./form": {
|
164
|
-
"types": "./form/index.d.ts",
|
165
|
-
"esm2022": "./esm2022/form/acorex-components-form.mjs",
|
166
|
-
"esm": "./esm2022/form/acorex-components-form.mjs",
|
167
|
-
"default": "./fesm2022/acorex-components-form.mjs"
|
168
|
-
},
|
169
163
|
"./dropdown": {
|
170
164
|
"types": "./dropdown/index.d.ts",
|
171
165
|
"esm2022": "./esm2022/dropdown/acorex-components-dropdown.mjs",
|
172
166
|
"esm": "./esm2022/dropdown/acorex-components-dropdown.mjs",
|
173
167
|
"default": "./fesm2022/acorex-components-dropdown.mjs"
|
174
168
|
},
|
169
|
+
"./form": {
|
170
|
+
"types": "./form/index.d.ts",
|
171
|
+
"esm2022": "./esm2022/form/acorex-components-form.mjs",
|
172
|
+
"esm": "./esm2022/form/acorex-components-form.mjs",
|
173
|
+
"default": "./fesm2022/acorex-components-form.mjs"
|
174
|
+
},
|
175
175
|
"./image": {
|
176
176
|
"types": "./image/index.d.ts",
|
177
177
|
"esm2022": "./esm2022/image/acorex-components-image.mjs",
|
@@ -190,18 +190,18 @@
|
|
190
190
|
"esm": "./esm2022/list/acorex-components-list.mjs",
|
191
191
|
"default": "./fesm2022/acorex-components-list.mjs"
|
192
192
|
},
|
193
|
-
"./menu": {
|
194
|
-
"types": "./menu/index.d.ts",
|
195
|
-
"esm2022": "./esm2022/menu/acorex-components-menu.mjs",
|
196
|
-
"esm": "./esm2022/menu/acorex-components-menu.mjs",
|
197
|
-
"default": "./fesm2022/acorex-components-menu.mjs"
|
198
|
-
},
|
199
193
|
"./loading": {
|
200
194
|
"types": "./loading/index.d.ts",
|
201
195
|
"esm2022": "./esm2022/loading/acorex-components-loading.mjs",
|
202
196
|
"esm": "./esm2022/loading/acorex-components-loading.mjs",
|
203
197
|
"default": "./fesm2022/acorex-components-loading.mjs"
|
204
198
|
},
|
199
|
+
"./menu": {
|
200
|
+
"types": "./menu/index.d.ts",
|
201
|
+
"esm2022": "./esm2022/menu/acorex-components-menu.mjs",
|
202
|
+
"esm": "./esm2022/menu/acorex-components-menu.mjs",
|
203
|
+
"default": "./fesm2022/acorex-components-menu.mjs"
|
204
|
+
},
|
205
205
|
"./navbar": {
|
206
206
|
"types": "./navbar/index.d.ts",
|
207
207
|
"esm2022": "./esm2022/navbar/acorex-components-navbar.mjs",
|
@@ -352,18 +352,18 @@
|
|
352
352
|
"esm": "./esm2022/text-box/acorex-components-text-box.mjs",
|
353
353
|
"default": "./fesm2022/acorex-components-text-box.mjs"
|
354
354
|
},
|
355
|
-
"./tooltip": {
|
356
|
-
"types": "./tooltip/index.d.ts",
|
357
|
-
"esm2022": "./esm2022/tooltip/acorex-components-tooltip.mjs",
|
358
|
-
"esm": "./esm2022/tooltip/acorex-components-tooltip.mjs",
|
359
|
-
"default": "./fesm2022/acorex-components-tooltip.mjs"
|
360
|
-
},
|
361
355
|
"./toast": {
|
362
356
|
"types": "./toast/index.d.ts",
|
363
357
|
"esm2022": "./esm2022/toast/acorex-components-toast.mjs",
|
364
358
|
"esm": "./esm2022/toast/acorex-components-toast.mjs",
|
365
359
|
"default": "./fesm2022/acorex-components-toast.mjs"
|
366
360
|
},
|
361
|
+
"./tooltip": {
|
362
|
+
"types": "./tooltip/index.d.ts",
|
363
|
+
"esm2022": "./esm2022/tooltip/acorex-components-tooltip.mjs",
|
364
|
+
"esm": "./esm2022/tooltip/acorex-components-tooltip.mjs",
|
365
|
+
"default": "./fesm2022/acorex-components-tooltip.mjs"
|
366
|
+
},
|
367
367
|
"./uploader": {
|
368
368
|
"types": "./uploader/index.d.ts",
|
369
369
|
"esm2022": "./esm2022/uploader/acorex-components-uploader.mjs",
|