@smartsoft001/crud-shell-angular 1.1.732 → 1.1.736
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/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/lib/+state/crud.actions.js → esm2020/lib/+state/crud.actions.mjs} +0 -0
- package/esm2020/lib/+state/crud.effects.mjs +182 -0
- package/esm2020/lib/+state/crud.facade.mjs +88 -0
- package/esm2020/lib/+state/crud.reducer.mjs +212 -0
- package/{esm2015/lib/+state/crud.selectors.js → esm2020/lib/+state/crud.selectors.mjs} +0 -0
- package/esm2020/lib/components/components.module.mjs +109 -0
- package/esm2020/lib/components/export/export.component.mjs +47 -0
- package/esm2020/lib/components/filter/base/base.component.mjs +140 -0
- package/esm2020/lib/components/filter/check/check.component.mjs +36 -0
- package/esm2020/lib/components/filter/date/date.component.mjs +41 -0
- package/esm2020/lib/components/filter/date-with-edit/date-with-edit.component.mjs +45 -0
- package/esm2020/lib/components/filter/filter.component.mjs +29 -0
- package/esm2020/lib/components/filter/flag/flag.component.mjs +16 -0
- package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
- package/esm2020/lib/components/filter/int/int.component.mjs +33 -0
- package/esm2020/lib/components/filter/radio/radio.component.mjs +16 -0
- package/esm2020/lib/components/filter/text/text.component.mjs +16 -0
- package/esm2020/lib/components/filters/filters.component.mjs +111 -0
- package/esm2020/lib/components/filters-config/filters-config.component.mjs +37 -0
- package/esm2020/lib/components/group/group.component.mjs +54 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +68 -0
- package/esm2020/lib/crud-full.module.mjs +105 -0
- package/esm2020/lib/crud.config.mjs +17 -0
- package/esm2020/lib/crud.module.mjs +107 -0
- package/esm2020/lib/factories/list-pagination/list-pagination.factory.mjs +69 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/{esm2015/lib/models/interfaces.js → esm2020/lib/models/interfaces.mjs} +0 -0
- package/esm2020/lib/pages/index.mjs +7 -0
- package/esm2020/lib/pages/item/base/base.component.mjs +44 -0
- package/esm2020/lib/pages/item/item.component.mjs +393 -0
- package/esm2020/lib/pages/item/standard/standard.component.mjs +15 -0
- package/esm2020/lib/pages/list/base/base.component.mjs +23 -0
- package/esm2020/lib/pages/list/list.component.mjs +343 -0
- package/esm2020/lib/pages/list/standard/standard.component.mjs +34 -0
- package/esm2020/lib/pipes/form-options/form-options.pipe.mjs +55 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +0 -0
- package/esm2020/lib/pipes/pipes.module.mjs +20 -0
- package/{esm2015/lib/providers/model-possibilities/model-possibilities.provider.js → esm2020/lib/providers/model-possibilities/model-possibilities.provider.mjs} +0 -0
- package/esm2020/lib/services/crud/crud.service.mjs +138 -0
- package/esm2020/lib/services/list-group/list-group.service.mjs +60 -0
- package/esm2020/lib/services/page/page.service.mjs +41 -0
- package/{esm2015/lib/services/search/search.service.js → esm2020/lib/services/search/search.service.mjs} +9 -8
- package/esm2020/lib/services/socket/socket.service.mjs +17 -0
- package/esm2020/smartsoft001-crud-shell-angular.mjs +5 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs +2569 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs +2729 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/lib/+state/crud.effects.d.ts +3 -0
- package/lib/+state/crud.effects.d.ts.map +1 -1
- package/lib/+state/crud.facade.d.ts +3 -0
- package/lib/+state/crud.facade.d.ts.map +1 -1
- package/lib/components/components.module.d.ts +22 -0
- package/lib/components/components.module.d.ts.map +1 -1
- package/lib/components/export/export.component.d.ts +3 -0
- package/lib/components/export/export.component.d.ts.map +1 -1
- package/lib/components/filter/base/base.component.d.ts +3 -0
- package/lib/components/filter/base/base.component.d.ts.map +1 -1
- package/lib/components/filter/check/check.component.d.ts +3 -0
- package/lib/components/filter/check/check.component.d.ts.map +1 -1
- package/lib/components/filter/date/date.component.d.ts +3 -0
- package/lib/components/filter/date/date.component.d.ts.map +1 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +3 -0
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
- package/lib/components/filter/filter.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts.map +1 -1
- package/lib/components/filter/flag/flag.component.d.ts +3 -0
- package/lib/components/filter/flag/flag.component.d.ts.map +1 -1
- package/lib/components/filter/int/int.component.d.ts +3 -0
- package/lib/components/filter/int/int.component.d.ts.map +1 -1
- package/lib/components/filter/radio/radio.component.d.ts +3 -0
- package/lib/components/filter/radio/radio.component.d.ts.map +1 -1
- package/lib/components/filter/text/text.component.d.ts +3 -0
- package/lib/components/filter/text/text.component.d.ts.map +1 -1
- package/lib/components/filters/filters.component.d.ts +3 -0
- package/lib/components/filters/filters.component.d.ts.map +1 -1
- package/lib/components/filters-config/filters-config.component.d.ts +3 -0
- package/lib/components/filters-config/filters-config.component.d.ts.map +1 -1
- package/lib/components/group/group.component.d.ts +3 -0
- package/lib/components/group/group.component.d.ts.map +1 -1
- package/lib/components/multiselect/multiselect.component.d.ts +3 -0
- package/lib/components/multiselect/multiselect.component.d.ts.map +1 -1
- package/lib/crud-full.module.d.ts +20 -0
- package/lib/crud-full.module.d.ts.map +1 -1
- package/lib/crud.config.d.ts +18 -2
- package/lib/crud.config.d.ts.map +1 -1
- package/lib/crud.module.d.ts +13 -0
- package/lib/crud.module.d.ts.map +1 -1
- package/lib/factories/list-pagination/list-pagination.factory.d.ts +3 -0
- package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +1 -1
- package/lib/pages/index.d.ts +5 -1
- package/lib/pages/index.d.ts.map +1 -1
- package/lib/pages/item/base/base.component.d.ts +3 -0
- package/lib/pages/item/base/base.component.d.ts.map +1 -1
- package/lib/pages/item/item.component.d.ts +7 -1
- package/lib/pages/item/item.component.d.ts.map +1 -1
- package/lib/pages/item/standard/standard.component.d.ts +3 -0
- package/lib/pages/item/standard/standard.component.d.ts.map +1 -1
- package/lib/pages/list/base/base.component.d.ts +3 -0
- package/lib/pages/list/base/base.component.d.ts.map +1 -1
- package/lib/pages/list/list.component.d.ts +3 -0
- package/lib/pages/list/list.component.d.ts.map +1 -1
- package/lib/pages/list/standard/standard.component.d.ts +3 -0
- package/lib/pages/list/standard/standard.component.d.ts.map +1 -1
- package/lib/pipes/form-options/form-options.pipe.d.ts +3 -0
- package/lib/pipes/form-options/form-options.pipe.d.ts.map +1 -1
- package/lib/pipes/pipes.module.d.ts +5 -0
- package/lib/pipes/pipes.module.d.ts.map +1 -1
- package/lib/services/crud/crud.service.d.ts +3 -0
- package/lib/services/crud/crud.service.d.ts.map +1 -1
- package/lib/services/list-group/list-group.service.d.ts +3 -0
- package/lib/services/list-group/list-group.service.d.ts.map +1 -1
- package/lib/services/page/page.service.d.ts +3 -0
- package/lib/services/page/page.service.d.ts.map +1 -1
- package/lib/services/search/search.service.d.ts +3 -0
- package/lib/services/search/search.service.d.ts.map +1 -1
- package/lib/services/socket/socket.service.d.ts +5 -0
- package/lib/services/socket/socket.service.d.ts.map +1 -1
- package/package.json +38 -25
- package/smartsoft001-crud-shell-angular.d.ts +1 -17
- package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
- package/bundles/smartsoft001-crud-shell-angular.umd.js +0 -3283
- package/bundles/smartsoft001-crud-shell-angular.umd.js.map +0 -1
- package/esm2015/lib/+state/crud.effects.js +0 -178
- package/esm2015/lib/+state/crud.facade.js +0 -92
- package/esm2015/lib/+state/crud.reducer.js +0 -92
- package/esm2015/lib/components/components.module.js +0 -65
- package/esm2015/lib/components/export/export.component.js +0 -55
- package/esm2015/lib/components/filter/base/base.component.js +0 -144
- package/esm2015/lib/components/filter/check/check.component.js +0 -34
- package/esm2015/lib/components/filter/date/date.component.js +0 -42
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +0 -43
- package/esm2015/lib/components/filter/filter.component.js +0 -30
- package/esm2015/lib/components/filter/flag/flag.component.js +0 -13
- package/esm2015/lib/components/filter/int/int.component.js +0 -31
- package/esm2015/lib/components/filter/radio/radio.component.js +0 -13
- package/esm2015/lib/components/filter/text/text.component.js +0 -13
- package/esm2015/lib/components/filters/filters.component.js +0 -124
- package/esm2015/lib/components/filters-config/filters-config.component.js +0 -46
- package/esm2015/lib/components/group/group.component.js +0 -65
- package/esm2015/lib/components/multiselect/multiselect.component.js +0 -74
- package/esm2015/lib/crud-full.module.js +0 -83
- package/esm2015/lib/crud.config.js +0 -14
- package/esm2015/lib/crud.module.js +0 -84
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +0 -73
- package/esm2015/lib/pages/index.js +0 -3
- package/esm2015/lib/pages/item/base/base.component.js +0 -44
- package/esm2015/lib/pages/item/item.component.js +0 -345
- package/esm2015/lib/pages/item/standard/standard.component.js +0 -13
- package/esm2015/lib/pages/list/base/base.component.js +0 -30
- package/esm2015/lib/pages/list/list.component.js +0 -319
- package/esm2015/lib/pages/list/standard/standard.component.js +0 -39
- package/esm2015/lib/pipes/form-options/form-options.pipe.js +0 -56
- package/esm2015/lib/pipes/pipes.module.js +0 -16
- package/esm2015/lib/services/crud/crud.service.js +0 -143
- package/esm2015/lib/services/list-group/list-group.service.js +0 -61
- package/esm2015/lib/services/page/page.service.js +0 -48
- package/esm2015/lib/services/socket/socket.service.js +0 -14
- package/esm2015/smartsoft001-crud-shell-angular.js +0 -22
- package/fesm2015/smartsoft001-crud-shell-angular.js +0 -2638
- package/fesm2015/smartsoft001-crud-shell-angular.js.map +0 -1
- package/lib/+state/crud.effects.ngfactory.d.ts.map +0 -1
- package/lib/+state/crud.facade.ngfactory.d.ts.map +0 -1
- package/lib/components/components.module.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/filter.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/filter.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters/filters.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters/filters.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/group/group.component.ngfactory.d.ts.map +0 -1
- package/lib/components/group/group.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.ngfactory.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/crud-full.module.ngfactory.d.ts.map +0 -1
- package/lib/crud.config.ngfactory.d.ts.map +0 -1
- package/lib/crud.module.ngfactory.d.ts.map +0 -1
- package/lib/factories/list-pagination/list-pagination.factory.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/item.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pages/list/list.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pipes/form-options/form-options.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/pipes.module.ngfactory.d.ts.map +0 -1
- package/lib/services/crud/crud.service.ngfactory.d.ts.map +0 -1
- package/lib/services/list-group/list-group.service.ngfactory.d.ts.map +0 -1
- package/lib/services/page/page.service.ngfactory.d.ts.map +0 -1
- package/lib/services/search/search.service.ngfactory.d.ts.map +0 -1
- package/lib/services/socket/socket.service.ngfactory.d.ts.map +0 -1
- package/smartsoft001-crud-shell-angular.metadata.json +0 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { StoreModule } from "@ngrx/store";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { CommonModule } from "@angular/common";
|
|
5
|
+
import { SharedModule } from "@smartsoft001/angular";
|
|
6
|
+
import { ExportComponent } from "./export/export.component";
|
|
7
|
+
import { FilterComponent, FilterDateComponent, FilterDateWithEditComponent, FilterFlagComponent, FilterRadioComponent, FilterTextComponent, FilterCheckComponent, FilterIntComponent } from "./filter";
|
|
8
|
+
import { FiltersConfigComponent } from "./filters-config/filters-config.component";
|
|
9
|
+
import { FiltersComponent } from "./filters/filters.component";
|
|
10
|
+
import { MultiselectComponent } from "./multiselect/multiselect.component";
|
|
11
|
+
import { SocketService } from "../services/socket/socket.service";
|
|
12
|
+
import { CrudPipesModule } from "../pipes/pipes.module";
|
|
13
|
+
import { CrudService } from "../services/crud/crud.service";
|
|
14
|
+
import { CrudEffects } from "../+state/crud.effects";
|
|
15
|
+
import { CrudFacade } from "../+state/crud.facade";
|
|
16
|
+
import { CrudListPaginationFactory } from "../factories/list-pagination/list-pagination.factory";
|
|
17
|
+
import { GroupComponent } from "./group/group.component";
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
const COMPONENTS = [
|
|
20
|
+
ExportComponent,
|
|
21
|
+
FilterComponent,
|
|
22
|
+
FilterTextComponent,
|
|
23
|
+
FiltersConfigComponent,
|
|
24
|
+
FilterDateComponent,
|
|
25
|
+
FilterDateWithEditComponent,
|
|
26
|
+
FilterRadioComponent,
|
|
27
|
+
FiltersComponent,
|
|
28
|
+
FilterFlagComponent,
|
|
29
|
+
FilterCheckComponent,
|
|
30
|
+
FilterIntComponent,
|
|
31
|
+
MultiselectComponent,
|
|
32
|
+
GroupComponent
|
|
33
|
+
];
|
|
34
|
+
export class CrudComponentsModule {
|
|
35
|
+
}
|
|
36
|
+
/** @nocollapse */ /** @nocollapse */ CrudComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
+
/** @nocollapse */ /** @nocollapse */ CrudComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudComponentsModule, declarations: [ExportComponent,
|
|
38
|
+
FilterComponent,
|
|
39
|
+
FilterTextComponent,
|
|
40
|
+
FiltersConfigComponent,
|
|
41
|
+
FilterDateComponent,
|
|
42
|
+
FilterDateWithEditComponent,
|
|
43
|
+
FilterRadioComponent,
|
|
44
|
+
FiltersComponent,
|
|
45
|
+
FilterFlagComponent,
|
|
46
|
+
FilterCheckComponent,
|
|
47
|
+
FilterIntComponent,
|
|
48
|
+
MultiselectComponent,
|
|
49
|
+
GroupComponent], imports: [
|
|
50
|
+
//AuthSharedModule,
|
|
51
|
+
StoreModule,
|
|
52
|
+
SharedModule,
|
|
53
|
+
CrudPipesModule,
|
|
54
|
+
FormsModule,
|
|
55
|
+
CommonModule], exports: [CrudPipesModule, ExportComponent,
|
|
56
|
+
FilterComponent,
|
|
57
|
+
FilterTextComponent,
|
|
58
|
+
FiltersConfigComponent,
|
|
59
|
+
FilterDateComponent,
|
|
60
|
+
FilterDateWithEditComponent,
|
|
61
|
+
FilterRadioComponent,
|
|
62
|
+
FiltersComponent,
|
|
63
|
+
FilterFlagComponent,
|
|
64
|
+
FilterCheckComponent,
|
|
65
|
+
FilterIntComponent,
|
|
66
|
+
MultiselectComponent,
|
|
67
|
+
GroupComponent] });
|
|
68
|
+
/** @nocollapse */ /** @nocollapse */ CrudComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudComponentsModule, providers: [
|
|
69
|
+
CrudService,
|
|
70
|
+
CrudEffects,
|
|
71
|
+
CrudFacade,
|
|
72
|
+
SocketService,
|
|
73
|
+
CrudListPaginationFactory,
|
|
74
|
+
], imports: [[
|
|
75
|
+
//AuthSharedModule,
|
|
76
|
+
StoreModule,
|
|
77
|
+
SharedModule,
|
|
78
|
+
CrudPipesModule,
|
|
79
|
+
FormsModule,
|
|
80
|
+
CommonModule
|
|
81
|
+
], CrudPipesModule] });
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudComponentsModule, decorators: [{
|
|
83
|
+
type: NgModule,
|
|
84
|
+
args: [{
|
|
85
|
+
declarations: [
|
|
86
|
+
...COMPONENTS
|
|
87
|
+
],
|
|
88
|
+
imports: [
|
|
89
|
+
//AuthSharedModule,
|
|
90
|
+
StoreModule,
|
|
91
|
+
SharedModule,
|
|
92
|
+
CrudPipesModule,
|
|
93
|
+
FormsModule,
|
|
94
|
+
CommonModule
|
|
95
|
+
],
|
|
96
|
+
exports: [
|
|
97
|
+
CrudPipesModule,
|
|
98
|
+
...COMPONENTS
|
|
99
|
+
],
|
|
100
|
+
providers: [
|
|
101
|
+
CrudService,
|
|
102
|
+
CrudEffects,
|
|
103
|
+
CrudFacade,
|
|
104
|
+
SocketService,
|
|
105
|
+
CrudListPaginationFactory,
|
|
106
|
+
]
|
|
107
|
+
}]
|
|
108
|
+
}] });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFBRSxtQkFBbUIsRUFDaEQsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ3JCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDL0YsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUV2RCxNQUFNLFVBQVUsR0FBRztJQUNmLGVBQWU7SUFDZixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGNBQWM7Q0FDakIsQ0FBQztBQTBCRixNQUFNLE9BQU8sb0JBQW9COzt1SkFBcEIsb0JBQW9CO3dKQUFwQixvQkFBb0IsaUJBdkM3QixlQUFlO1FBQ2YsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixjQUFjO1FBUVYsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxZQUFZO1FBQ1osZUFBZTtRQUNmLFdBQVc7UUFDWCxZQUFZLGFBR1osZUFBZSxFQTVCbkIsZUFBZTtRQUNmLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsY0FBYzt3SkEyQkwsb0JBQW9CLGFBUmxCO1FBQ1AsV0FBVztRQUNYLFdBQVc7UUFDWCxVQUFVO1FBQ1YsYUFBYTtRQUNiLHlCQUF5QjtLQUM1QixZQWxCUTtZQUNMLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtTQUNmLEVBRUcsZUFBZTsyRkFXVixvQkFBb0I7a0JBeEJoQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixhQUFhO3dCQUNiLHlCQUF5QjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtTdG9yZU1vZHVsZX0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmltcG9ydCB7U2hhcmVkTW9kdWxlfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5cbmltcG9ydCB7RXhwb3J0Q29tcG9uZW50fSBmcm9tIFwiLi9leHBvcnQvZXhwb3J0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgRmlsdGVyRGF0ZUNvbXBvbmVudCxcbiAgICBGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQsIEZpbHRlckZsYWdDb21wb25lbnQsXG4gICAgRmlsdGVyUmFkaW9Db21wb25lbnQsXG4gICAgRmlsdGVyVGV4dENvbXBvbmVudCxcbiAgICBGaWx0ZXJDaGVja0NvbXBvbmVudCxcbiAgICBGaWx0ZXJJbnRDb21wb25lbnRcbn0gZnJvbSBcIi4vZmlsdGVyXCI7XG5pbXBvcnQge0ZpbHRlcnNDb25maWdDb21wb25lbnR9IGZyb20gXCIuL2ZpbHRlcnMtY29uZmlnL2ZpbHRlcnMtY29uZmlnLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJzQ29tcG9uZW50fSBmcm9tIFwiLi9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50XCI7XG5pbXBvcnQge011bHRpc2VsZWN0Q29tcG9uZW50fSBmcm9tIFwiLi9tdWx0aXNlbGVjdC9tdWx0aXNlbGVjdC5jb21wb25lbnRcIjtcbmltcG9ydCB7U29ja2V0U2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL3NvY2tldC9zb2NrZXQuc2VydmljZVwiO1xuaW1wb3J0IHtDcnVkUGlwZXNNb2R1bGV9IGZyb20gXCIuLi9waXBlcy9waXBlcy5tb2R1bGVcIjtcbmltcG9ydCB7Q3J1ZFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9jcnVkL2NydWQuc2VydmljZVwiO1xuaW1wb3J0IHtDcnVkRWZmZWN0c30gZnJvbSBcIi4uLytzdGF0ZS9jcnVkLmVmZmVjdHNcIjtcbmltcG9ydCB7Q3J1ZEZhY2FkZX0gZnJvbSBcIi4uLytzdGF0ZS9jcnVkLmZhY2FkZVwiO1xuaW1wb3J0IHtDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5fSBmcm9tIFwiLi4vZmFjdG9yaWVzL2xpc3QtcGFnaW5hdGlvbi9saXN0LXBhZ2luYXRpb24uZmFjdG9yeVwiO1xuaW1wb3J0IHtHcm91cENvbXBvbmVudH0gZnJvbSBcIi4vZ3JvdXAvZ3JvdXAuY29tcG9uZW50XCI7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgRXhwb3J0Q29tcG9uZW50LFxuICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICAgIEZpbHRlcnNDb25maWdDb21wb25lbnQsXG4gICAgRmlsdGVyRGF0ZUNvbXBvbmVudCxcbiAgICBGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQsXG4gICAgRmlsdGVyUmFkaW9Db21wb25lbnQsXG4gICAgRmlsdGVyc0NvbXBvbmVudCxcbiAgICBGaWx0ZXJGbGFnQ29tcG9uZW50LFxuICAgIEZpbHRlckNoZWNrQ29tcG9uZW50LFxuICAgIEZpbHRlckludENvbXBvbmVudCxcbiAgICBNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBHcm91cENvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgLi4uQ09NUE9ORU5UU1xuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvL0F1dGhTaGFyZWRNb2R1bGUsXG4gICAgICAgIFN0b3JlTW9kdWxlLFxuICAgICAgICBTaGFyZWRNb2R1bGUsXG4gICAgICAgIENydWRQaXBlc01vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBDcnVkUGlwZXNNb2R1bGUsXG4gICAgICAgIC4uLkNPTVBPTkVOVFNcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDcnVkU2VydmljZSxcbiAgICAgICAgQ3J1ZEVmZmVjdHMsXG4gICAgICAgIENydWRGYWNhZGUsXG4gICAgICAgIFNvY2tldFNlcnZpY2UsXG4gICAgICAgIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnksXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcnVkQ29tcG9uZW50c01vZHVsZSB7IH0iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, ElementRef } from '@angular/core';
|
|
2
|
+
import { BaseComponent, PopoverService, StyleService } from "@smartsoft001/angular";
|
|
3
|
+
import { CrudFacade } from "../../+state/crud.facade";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../+state/crud.facade";
|
|
6
|
+
import * as i2 from "@smartsoft001/angular";
|
|
7
|
+
export class ExportComponent extends BaseComponent {
|
|
8
|
+
constructor(facade, popoverService, styleService, elementRef) {
|
|
9
|
+
super();
|
|
10
|
+
this.facade = facade;
|
|
11
|
+
this.popoverService = popoverService;
|
|
12
|
+
this.styleService = styleService;
|
|
13
|
+
this.elementRef = elementRef;
|
|
14
|
+
this.buttonExportCsvOptions = this.initButtonExportOptions('csv');
|
|
15
|
+
this.buttonExportXlsxOptions = this.initButtonExportOptions('xlsx');
|
|
16
|
+
this.loading$ = this.facade.loading$;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.styleService.init(this.elementRef);
|
|
20
|
+
}
|
|
21
|
+
initButtonExportOptions(format) {
|
|
22
|
+
return {
|
|
23
|
+
click: () => {
|
|
24
|
+
this.facade.export({
|
|
25
|
+
...this.facade.filter,
|
|
26
|
+
offset: null,
|
|
27
|
+
limit: null
|
|
28
|
+
}, format);
|
|
29
|
+
const subscription = this.facade.loaded$.subscribe(val => {
|
|
30
|
+
if (!val)
|
|
31
|
+
return;
|
|
32
|
+
this.popoverService.close();
|
|
33
|
+
subscription.unsubscribe();
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
loading$: this.facade.loading$,
|
|
37
|
+
expand: 'block'
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** @nocollapse */ /** @nocollapse */ ExportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ExportComponent, deps: [{ token: i1.CrudFacade }, { token: i2.PopoverService }, { token: i2.StyleService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
/** @nocollapse */ /** @nocollapse */ ExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ExportComponent, selector: "smart-crud-export", usesInheritance: true, ngImport: i0, template: "<div class=\"smart-content\">\n <p>\n <smart-button [options]=\"buttonExportCsvOptions\">CSV</smart-button>\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\">XLSX</smart-button>\n </p>\n</div>", styles: [".smart-content{padding:1.2rem}.smart-content p{margin:.6rem 0}.smart-content smart-button{width:100%;display:block}\n"], components: [{ type: i2.ButtonComponent, selector: "smart-button", inputs: ["options", "disabled"] }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ExportComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'smart-crud-export', template: "<div class=\"smart-content\">\n <p>\n <smart-button [options]=\"buttonExportCsvOptions\">CSV</smart-button>\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\">XLSX</smart-button>\n </p>\n</div>", styles: [".smart-content{padding:1.2rem}.smart-content p{margin:.6rem 0}.smart-content smart-button{width:100%;display:block}\n"] }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.CrudFacade }, { type: i2.PopoverService }, { type: i2.StyleService }, { type: i0.ElementRef }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9leHBvcnQvZXhwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9leHBvcnQvZXhwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBQyxhQUFhLEVBQWtCLGNBQWMsRUFBRSxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFPcEQsTUFBTSxPQUFPLGVBQTJDLFNBQVEsYUFBYTtJQU8zRSxZQUNZLE1BQXFCLEVBQ3JCLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLFVBQXNCO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBTEUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVRsQywyQkFBc0IsR0FBbUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLDRCQUF1QixHQUFtQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0UsYUFBUSxHQUF3QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQVNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBYztRQUM1QyxPQUFPO1lBQ0wsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztvQkFDakIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07b0JBQ3JCLE1BQU0sRUFBRSxJQUFJO29CQUNaLEtBQUssRUFBRSxJQUFJO2lCQUNaLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRVgsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUN2RCxJQUFJLENBQUMsR0FBRzt3QkFBRSxPQUFPO29CQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM1QixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDOUIsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQTtJQUNILENBQUM7O2tKQXRDVSxlQUFlO3NJQUFmLGVBQWUsZ0ZDYjVCLDZPQU9NOzJGRE1PLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudCwgSUJ1dHRvbk9wdGlvbnMsIFBvcG92ZXJTZXJ2aWNlLCBTdHlsZVNlcnZpY2V9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtDcnVkRmFjYWRlfSBmcm9tIFwiLi4vLi4vK3N0YXRlL2NydWQuZmFjYWRlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZXhwb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cG9ydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cG9ydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEV4cG9ydENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGJ1dHRvbkV4cG9ydENzdk9wdGlvbnM6IElCdXR0b25PcHRpb25zID0gdGhpcy5pbml0QnV0dG9uRXhwb3J0T3B0aW9ucygnY3N2Jyk7XG4gIGJ1dHRvbkV4cG9ydFhsc3hPcHRpb25zOiBJQnV0dG9uT3B0aW9ucyA9IHRoaXMuaW5pdEJ1dHRvbkV4cG9ydE9wdGlvbnMoJ3hsc3gnKTtcblxuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZmFjYWRlLmxvYWRpbmckO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmYWNhZGU6IENydWRGYWNhZGU8VD4sXG4gICAgICBwcml2YXRlIHBvcG92ZXJTZXJ2aWNlOiBQb3BvdmVyU2VydmljZSxcbiAgICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmluaXQodGhpcy5lbGVtZW50UmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEJ1dHRvbkV4cG9ydE9wdGlvbnMoZm9ybWF0OiBzdHJpbmcpOiBJQnV0dG9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsaWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZmFjYWRlLmV4cG9ydCh7XG4gICAgICAgICAgLi4udGhpcy5mYWNhZGUuZmlsdGVyLFxuICAgICAgICAgIG9mZnNldDogbnVsbCxcbiAgICAgICAgICBsaW1pdDogbnVsbFxuICAgICAgICB9LCBmb3JtYXQpO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuZmFjYWRlLmxvYWRlZCQuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgaWYgKCF2YWwpIHJldHVybjtcbiAgICAgICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLmNsb3NlKCk7XG4gICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGxvYWRpbmckOiB0aGlzLmZhY2FkZS5sb2FkaW5nJCxcbiAgICAgIGV4cGFuZDogJ2Jsb2NrJ1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNtYXJ0LWNvbnRlbnRcIj5cbiAgICA8cD5cbiAgICAgICAgPHNtYXJ0LWJ1dHRvbiBbb3B0aW9uc109XCJidXR0b25FeHBvcnRDc3ZPcHRpb25zXCI+Q1NWPC9zbWFydC1idXR0b24+XG4gICAgPC9wPlxuICAgIDxwPlxuICAgICAgICA8c21hcnQtYnV0dG9uIFtvcHRpb25zXT1cImJ1dHRvbkV4cG9ydFhsc3hPcHRpb25zXCI+WExTWDwvc21hcnQtYnV0dG9uPlxuICAgIDwvcD5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, Inject, Input, Optional } from "@angular/core";
|
|
3
|
+
import { Debounce } from "lodash-decorators";
|
|
4
|
+
import { FieldType } from "@smartsoft001/models";
|
|
5
|
+
import { CrudFacade } from "../../../+state/crud.facade";
|
|
6
|
+
import { CRUD_MODEL_POSSIBILITIES_PROVIDER, ICrudModelPossibilitiesProvider, } from "../../../providers/model-possibilities/model-possibilities.provider";
|
|
7
|
+
import { CrudConfig } from "../../../crud.config";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../+state/crud.facade";
|
|
10
|
+
import * as i2 from "../../../crud.config";
|
|
11
|
+
import * as i3 from "../../../providers/model-possibilities/model-possibilities.provider";
|
|
12
|
+
export class BaseComponent {
|
|
13
|
+
constructor(facade, config, modelPossibilitiesProvider) {
|
|
14
|
+
this.facade = facade;
|
|
15
|
+
this.config = config;
|
|
16
|
+
this.modelPossibilitiesProvider = modelPossibilitiesProvider;
|
|
17
|
+
}
|
|
18
|
+
get value() {
|
|
19
|
+
if (this.isArrayType()) {
|
|
20
|
+
return this.filter.query
|
|
21
|
+
.filter((q) => q.key === this.item.key && q.type === this.item.type)
|
|
22
|
+
.map(q => q.value);
|
|
23
|
+
}
|
|
24
|
+
const query = this.filter.query.find((q) => q.key === this.item.key && q.type === this.item.type);
|
|
25
|
+
return query?.value;
|
|
26
|
+
}
|
|
27
|
+
set value(val) {
|
|
28
|
+
this.refresh(val);
|
|
29
|
+
}
|
|
30
|
+
get minValue() {
|
|
31
|
+
if (this.isArrayType()) {
|
|
32
|
+
return this.filter.query
|
|
33
|
+
.filter((q) => q.key === this.item.key && q.type === ">=")
|
|
34
|
+
.map(q => q.value);
|
|
35
|
+
}
|
|
36
|
+
const query = this.filter.query.find((q) => q.key === this.item.key && q.type === ">=");
|
|
37
|
+
return query?.value;
|
|
38
|
+
}
|
|
39
|
+
set minValue(val) {
|
|
40
|
+
this.refresh(val, ">=");
|
|
41
|
+
}
|
|
42
|
+
get maxValue() {
|
|
43
|
+
if (this.isArrayType()) {
|
|
44
|
+
return this.filter.query
|
|
45
|
+
.filter((q) => q.key === this.item.key && q.type === "<=")
|
|
46
|
+
.map(q => q.value);
|
|
47
|
+
}
|
|
48
|
+
const query = this.filter.query.find((q) => q.key === this.item.key && q.type === "<=");
|
|
49
|
+
return query?.value;
|
|
50
|
+
}
|
|
51
|
+
set maxValue(val) {
|
|
52
|
+
this.refresh(val, "<=");
|
|
53
|
+
}
|
|
54
|
+
refresh(val, type = null) {
|
|
55
|
+
if (!type)
|
|
56
|
+
type = this.item.type;
|
|
57
|
+
if (this.isArrayType()) {
|
|
58
|
+
this.refreshForArray(val, type);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
let query = this.filter.query.find((q) => q.key === this.item.key && q.type === type);
|
|
62
|
+
if (val === null || val === undefined || val === '') {
|
|
63
|
+
const index = this.filter.query.indexOf(query);
|
|
64
|
+
if (index > -1) {
|
|
65
|
+
this.filter.query.splice(index, 1);
|
|
66
|
+
}
|
|
67
|
+
this.facade.read(this.filter);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (!query) {
|
|
71
|
+
query = {
|
|
72
|
+
key: this.item.key,
|
|
73
|
+
type: type,
|
|
74
|
+
value: null,
|
|
75
|
+
};
|
|
76
|
+
this.filter.query.push(query);
|
|
77
|
+
}
|
|
78
|
+
query.value = val;
|
|
79
|
+
query.label = this.item.label;
|
|
80
|
+
this.facade.read(this.filter);
|
|
81
|
+
}
|
|
82
|
+
ngOnInit() {
|
|
83
|
+
this.initPossibilities();
|
|
84
|
+
}
|
|
85
|
+
initPossibilities() {
|
|
86
|
+
let possibilities = this.item.possibilities$;
|
|
87
|
+
if (this.modelPossibilitiesProvider) {
|
|
88
|
+
const possibilitiesFromProvider = this.modelPossibilitiesProvider.get(this.config.type);
|
|
89
|
+
if (possibilitiesFromProvider && possibilitiesFromProvider[this.item.key])
|
|
90
|
+
possibilities = possibilitiesFromProvider[this.item.key];
|
|
91
|
+
}
|
|
92
|
+
this.possibilities$ = possibilities;
|
|
93
|
+
}
|
|
94
|
+
isArrayType() {
|
|
95
|
+
return (this.item?.fieldType === FieldType.check);
|
|
96
|
+
}
|
|
97
|
+
refreshForArray(vals, type) {
|
|
98
|
+
const queries = this.filter.query.filter((q) => q.key === this.item.key && q.type === type);
|
|
99
|
+
queries.forEach(query => {
|
|
100
|
+
const index = this.filter.query.indexOf(query);
|
|
101
|
+
if (index > -1) {
|
|
102
|
+
this.filter.query.splice(index, 1);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
if (vals === null || vals === undefined || !vals.length) {
|
|
106
|
+
this.facade.read(this.filter);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
vals.forEach(val => {
|
|
110
|
+
const query = {
|
|
111
|
+
key: this.item.key,
|
|
112
|
+
type: type,
|
|
113
|
+
value: val,
|
|
114
|
+
};
|
|
115
|
+
this.filter.query.push(query);
|
|
116
|
+
});
|
|
117
|
+
this.facade.read(this.filter);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** @nocollapse */ /** @nocollapse */ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseComponent, deps: [{ token: i1.CrudFacade }, { token: i2.CrudConfig }, { token: CRUD_MODEL_POSSIBILITIES_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
121
|
+
/** @nocollapse */ /** @nocollapse */ BaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: BaseComponent, inputs: { item: "item", filter: "filter" }, ngImport: i0 });
|
|
122
|
+
__decorate([
|
|
123
|
+
Debounce(500),
|
|
124
|
+
__metadata("design:type", Function),
|
|
125
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
126
|
+
__metadata("design:returntype", void 0)
|
|
127
|
+
], BaseComponent.prototype, "refresh", null);
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseComponent, decorators: [{
|
|
129
|
+
type: Directive
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.CrudFacade }, { type: i2.CrudConfig }, { type: i3.ICrudModelPossibilitiesProvider, decorators: [{
|
|
131
|
+
type: Optional
|
|
132
|
+
}, {
|
|
133
|
+
type: Inject,
|
|
134
|
+
args: [CRUD_MODEL_POSSIBILITIES_PROVIDER]
|
|
135
|
+
}] }]; }, propDecorators: { item: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], filter: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], refresh: [] } });
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2Jhc2UvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSTNDLE9BQU8sRUFBQyxTQUFTLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQywrQkFBK0IsR0FDaEMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBR2hELE1BQU0sT0FBTyxhQUFhO0lBK0R4QixZQUNZLE1BQXFCLEVBQ3ZCLE1BQXFCLEVBR3JCLDBCQUEyRDtRQUp6RCxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFHckIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFpQztJQUNsRSxDQUFDO0lBL0RKLElBQUksS0FBSztRQUNQLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO2lCQUNuQixNQUFNLENBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDNUQ7aUJBQ0EsR0FB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QUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQixNQUFNLEtBQUssR0FBRztnQkFDWixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUNsQixJQUFJLEVBQUUsSUFBSTtnQkFDVixLQUFLLEVBQUUsR0FBRzthQUNYLENBQUM7WUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7Z0pBOUpVLGFBQWEsc0VBbUVkLGlDQUFpQztvSUFuRWhDLGFBQWE7QUF3RXhCO0lBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7Ozs0Q0FxQ2I7MkZBNUdVLGFBQWE7a0JBRHpCLFNBQVM7OzBCQW1FTCxRQUFROzswQkFDUixNQUFNOzJCQUFDLGlDQUFpQzs0Q0FoRWxDLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBb0VOLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RGVib3VuY2V9IGZyb20gXCJsb2Rhc2gtZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQge0lFbnRpdHl9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlXCI7XG5pbXBvcnQge0ZpZWxkVHlwZSwgSU1vZGVsRmlsdGVyfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9tb2RlbHNcIjtcblxuaW1wb3J0IHtJQ3J1ZEZpbHRlcn0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9pbnRlcmZhY2VzXCI7XG5pbXBvcnQge0NydWRGYWNhZGV9IGZyb20gXCIuLi8uLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGVcIjtcbmltcG9ydCB7XG4gIENSVURfTU9ERUxfUE9TU0lCSUxJVElFU19QUk9WSURFUixcbiAgSUNydWRNb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlcixcbn0gZnJvbSBcIi4uLy4uLy4uL3Byb3ZpZGVycy9tb2RlbC1wb3NzaWJpbGl0aWVzL21vZGVsLXBvc3NpYmlsaXRpZXMucHJvdmlkZXJcIjtcbmltcG9ydCB7Q3J1ZENvbmZpZ30gZnJvbSBcIi4uLy4uLy4uL2NydWQuY29uZmlnXCI7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwb3NzaWJpbGl0aWVzJDogT2JzZXJ2YWJsZTx7IGlkOiBhbnk7IHRleHQ6IHN0cmluZyB9W10+O1xuXG4gIEBJbnB1dCgpIGl0ZW06IElNb2RlbEZpbHRlcjtcbiAgQElucHV0KCkgZmlsdGVyOiBJQ3J1ZEZpbHRlcjtcblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIucXVlcnlcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKHEpID0+IHEua2V5ID09PSB0aGlzLml0ZW0ua2V5ICYmIHEudHlwZSA9PT0gdGhpcy5pdGVtLnR5cGVcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcChxID0+IHEudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5maWx0ZXIucXVlcnkuZmluZChcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gdGhpcy5pdGVtLmtleSAmJiBxLnR5cGUgPT09IHRoaXMuaXRlbS50eXBlXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnk/LnZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbDogYW55KSB7XG4gICAgdGhpcy5yZWZyZXNoKHZhbCk7XG4gIH1cblxuICBnZXQgbWluVmFsdWUoKTogYW55IHtcbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIucXVlcnlcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAocSkgPT4gcS5rZXkgPT09IHRoaXMuaXRlbS5rZXkgJiYgcS50eXBlID09PSBcIj49XCJcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcChxID0+IHEudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5maWx0ZXIucXVlcnkuZmluZChcbiAgICAgICAgKHEpID0+IHEua2V5ID09PSB0aGlzLml0ZW0ua2V5ICYmIHEudHlwZSA9PT0gXCI+PVwiXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnk/LnZhbHVlO1xuICB9XG5cbiAgc2V0IG1pblZhbHVlKHZhbDogYW55KSB7XG4gICAgdGhpcy5yZWZyZXNoKHZhbCwgXCI+PVwiKTtcbiAgfVxuXG4gIGdldCBtYXhWYWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLmlzQXJyYXlUeXBlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlci5xdWVyeVxuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgIChxKSA9PiBxLmtleSA9PT0gdGhpcy5pdGVtLmtleSAmJiBxLnR5cGUgPT09IFwiPD1cIlxuICAgICAgICAgIClcbiAgICAgICAgICAubWFwKHEgPT4gcS52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLmZpbHRlci5xdWVyeS5maW5kKFxuICAgICAgICAocSkgPT4gcS5rZXkgPT09IHRoaXMuaXRlbS5rZXkgJiYgcS50eXBlID09PSBcIjw9XCJcbiAgICApO1xuICAgIHJldHVybiBxdWVyeT8udmFsdWU7XG4gIH1cblxuICBzZXQgbWF4VmFsdWUodmFsOiBhbnkpIHtcbiAgICB0aGlzLnJlZnJlc2godmFsLCBcIjw9XCIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZhY2FkZTogQ3J1ZEZhY2FkZTxUPixcbiAgICBwcml2YXRlIGNvbmZpZzogQ3J1ZENvbmZpZzxUPixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoQ1JVRF9NT0RFTF9QT1NTSUJJTElUSUVTX1BST1ZJREVSKVxuICAgIHByaXZhdGUgbW9kZWxQb3NzaWJpbGl0aWVzUHJvdmlkZXI6IElDcnVkTW9kZWxQb3NzaWJpbGl0aWVzUHJvdmlkZXJcbiAgKSB7fVxuXG4gIEBEZWJvdW5jZSg1MDApXG4gIHJlZnJlc2godmFsOiBhbnksIHR5cGUgPSBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0eXBlKSB0eXBlID0gdGhpcy5pdGVtLnR5cGU7XG5cbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICB0aGlzLnJlZnJlc2hGb3JBcnJheSh2YWwgYXMgW10sIHR5cGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBxdWVyeSA9IHRoaXMuZmlsdGVyLnF1ZXJ5LmZpbmQoXG4gICAgICAgIChxKSA9PiBxLmtleSA9PT0gdGhpcy5pdGVtLmtleSAmJiBxLnR5cGUgPT09IHR5cGVcbiAgICApO1xuXG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09ICcnKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmlsdGVyLnF1ZXJ5LmluZGV4T2YocXVlcnkpO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgdGhpcy5maWx0ZXIucXVlcnkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5mYWNhZGUucmVhZCh0aGlzLmZpbHRlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcXVlcnkgPSB7XG4gICAgICAgIGtleTogdGhpcy5pdGVtLmtleSxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLmZpbHRlci5xdWVyeS5wdXNoKHF1ZXJ5KTtcbiAgICB9XG5cbiAgICBxdWVyeS52YWx1ZSA9IHZhbDtcbiAgICBxdWVyeS5sYWJlbCA9IHRoaXMuaXRlbS5sYWJlbDtcblxuICAgIHRoaXMuZmFjYWRlLnJlYWQodGhpcy5maWx0ZXIpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0UG9zc2liaWxpdGllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UG9zc2liaWxpdGllcygpOiB2b2lkIHtcbiAgICBsZXQgcG9zc2liaWxpdGllcyA9IHRoaXMuaXRlbS5wb3NzaWJpbGl0aWVzJDtcblxuICAgIGlmICh0aGlzLm1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyKSB7XG4gICAgICBjb25zdCBwb3NzaWJpbGl0aWVzRnJvbVByb3ZpZGVyID0gdGhpcy5tb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlci5nZXQodGhpcy5jb25maWcudHlwZSk7XG4gICAgICBpZiAocG9zc2liaWxpdGllc0Zyb21Qcm92aWRlciAmJiBwb3NzaWJpbGl0aWVzRnJvbVByb3ZpZGVyW3RoaXMuaXRlbS5rZXldKVxuICAgICAgICBwb3NzaWJpbGl0aWVzID0gcG9zc2liaWxpdGllc0Zyb21Qcm92aWRlclt0aGlzLml0ZW0ua2V5XTtcbiAgICB9XG5cbiAgICB0aGlzLnBvc3NpYmlsaXRpZXMkID0gcG9zc2liaWxpdGllcztcbiAgfVxuXG4gIHByaXZhdGUgaXNBcnJheVR5cGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLml0ZW0/LmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLmNoZWNrKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaEZvckFycmF5KHZhbHM6IFtdLCB0eXBlKTogdm9pZCB7XG4gICAgY29uc3QgcXVlcmllcyA9IHRoaXMuZmlsdGVyLnF1ZXJ5LmZpbHRlcihcbiAgICAgICAgKHEpID0+IHEua2V5ID09PSB0aGlzLml0ZW0ua2V5ICYmIHEudHlwZSA9PT0gdHlwZVxuICAgICk7XG5cbiAgICBxdWVyaWVzLmZvckVhY2gocXVlcnkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbHRlci5xdWVyeS5pbmRleE9mKHF1ZXJ5KTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyLnF1ZXJ5LnNwbGljZShpbmRleCwgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodmFscyA9PT0gbnVsbCB8fCB2YWxzID09PSB1bmRlZmluZWQgfHwgIXZhbHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZhY2FkZS5yZWFkKHRoaXMuZmlsdGVyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YWxzLmZvckVhY2godmFsID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgICBrZXk6IHRoaXMuaXRlbS5rZXksXG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLmZpbHRlci5xdWVyeS5wdXNoKHF1ZXJ5KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmFjYWRlLnJlYWQodGhpcy5maWx0ZXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { map } from "rxjs/operators";
|
|
3
|
+
import { combineLatest } from 'rxjs';
|
|
4
|
+
import { BaseComponent } from "../base/base.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ionic/angular";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
export class FilterCheckComponent extends BaseComponent {
|
|
10
|
+
ngAfterContentInit() {
|
|
11
|
+
this.list$ = combineLatest([this.possibilities$, this.facade.filter$]).pipe((map(([possibilities]) => {
|
|
12
|
+
return possibilities.map(pos => ({
|
|
13
|
+
value: pos,
|
|
14
|
+
isCheck: this.value.some(r => r === pos.id)
|
|
15
|
+
}));
|
|
16
|
+
})));
|
|
17
|
+
}
|
|
18
|
+
onCheckChange(checked, entry) {
|
|
19
|
+
if (checked && !this.value.some(r => r === entry.value.id)) {
|
|
20
|
+
this.value = [
|
|
21
|
+
...this.value,
|
|
22
|
+
entry.value.id
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
if (!checked && this.value.some(r => r === entry.value.id)) {
|
|
26
|
+
this.value = this.value.filter(r => r !== entry.value.id);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** @nocollapse */ /** @nocollapse */ FilterCheckComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterCheckComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
/** @nocollapse */ /** @nocollapse */ FilterCheckComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: FilterCheckComponent, selector: "smart-crud-filter-check", usesInheritance: true, ngImport: i0, template: "<ion-row>\n <ion-col>\n <ion-item-divider>\n <ion-icon slot=\"start\" name=\"filter-outline\"></ion-icon>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n <ion-button *ngIf=\"value && value.length\" slot=\"end\" color=\"danger\" (click)=\"refresh([])\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n <ion-item *ngFor=\"let entry of list$ | async\">\n <ion-label>{{entry.value.text | translate}}</ion-label>\n <ion-checkbox slot=\"end\" [checked]=\"entry.isCheck\" (ionChange)=\"onCheckChange($event.detail.checked, entry)\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <!-- <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col> -->\n</ion-row>", styles: [":host{width:100%;margin-bottom:1.2rem}:host ion-radio{margin-right:2.4rem}:host ion-item-divider{font-weight:300;--padding-end: .8rem;font-size:1.2rem;--ion-background-color: linear-gradient(90deg, transparent, var(--ion-color-light))}:host ion-item-divider ion-icon{margin-right:1.6rem;font-size:1.6rem;--color: var(--ion-color-primary)}:host ion-item-divider ion-label{--padding: var(--smart-button-padding-left)/2 var(--smart-button-padding-top)/2 var(--smart-button-padding-right)/2 var(--smart-button-padding-bottom)/2}:host ion-item-divider .squere-button{margin:0;font-size:18px;height:36px;width:36px;padding:0;--padding-start: .2em;--padding-end: .2em}:host ion-item-divider .squere-button ion-icon{margin:0;padding:0}\n"], components: [{ type: i1.IonRow, selector: "ion-row" }, { type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i1.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { type: i1.IonIcon, selector: "ion-icon", inputs: ["ariaHidden", "ariaLabel", "color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "mode", "name", "value"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }], pipes: { "translate": i3.TranslatePipe, "async": i2.AsyncPipe } });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterCheckComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'smart-crud-filter-check', template: "<ion-row>\n <ion-col>\n <ion-item-divider>\n <ion-icon slot=\"start\" name=\"filter-outline\"></ion-icon>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n <ion-button *ngIf=\"value && value.length\" slot=\"end\" color=\"danger\" (click)=\"refresh([])\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n <ion-item *ngFor=\"let entry of list$ | async\">\n <ion-label>{{entry.value.text | translate}}</ion-label>\n <ion-checkbox slot=\"end\" [checked]=\"entry.isCheck\" (ionChange)=\"onCheckChange($event.detail.checked, entry)\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <!-- <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col> -->\n</ion-row>", styles: [":host{width:100%;margin-bottom:1.2rem}:host ion-radio{margin-right:2.4rem}:host ion-item-divider{font-weight:300;--padding-end: .8rem;font-size:1.2rem;--ion-background-color: linear-gradient(90deg, transparent, var(--ion-color-light))}:host ion-item-divider ion-icon{margin-right:1.6rem;font-size:1.6rem;--color: var(--ion-color-primary)}:host ion-item-divider ion-label{--padding: var(--smart-button-padding-left)/2 var(--smart-button-padding-top)/2 var(--smart-button-padding-right)/2 var(--smart-button-padding-bottom)/2}:host ion-item-divider .squere-button{margin:0;font-size:18px;height:36px;width:36px;padding:0;--padding-start: .2em;--padding-end: .2em}:host ion-item-divider .squere-button ion-icon{margin:0;padding:0}\n"] }]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9jaGVjay9jaGVjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2NoZWNrL2NoZWNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXJDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFPckQsTUFBTSxPQUFPLG9CQUFnRCxTQUFRLGFBQWdCO0lBR2pGLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3pFLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNwQixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QixLQUFLLEVBQUUsR0FBRztnQkFDVixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQzthQUM5QyxDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxLQUF1QztRQUNuRSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxHQUFHLElBQUksQ0FBQyxLQUFLO2dCQUNiLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTthQUNqQixDQUFBO1NBQ0o7UUFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0wsQ0FBQzs7dUpBekJRLG9CQUFvQjsySUFBcEIsb0JBQW9CLHNGQ2RqQyxxakNBcUJVOzJGRFBHLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyQ29udGVudEluaXQsIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWNoZWNrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2suY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoZWNrLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQ2hlY2tDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgbGlzdCQ6IE9ic2VydmFibGU8eyB2YWx1ZTogYW55LCBpc0NoZWNrOiBib29sZWFuIH1bXT47XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlzdCQgPSBjb21iaW5lTGF0ZXN0KFsgdGhpcy5wb3NzaWJpbGl0aWVzJCwgdGhpcy5mYWNhZGUuZmlsdGVyJF0pLnBpcGUoKFxuICAgICAgICAgICAgbWFwKChbcG9zc2liaWxpdGllc10pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9zc2liaWxpdGllcy5tYXAocG9zID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwb3MsXG4gICAgICAgICAgICAgICAgICAgIGlzQ2hlY2s6IHRoaXMudmFsdWUuc29tZShyID0+IHIgPT09IHBvcy5pZClcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkpO1xuICAgIH1cblxuICAgIG9uQ2hlY2tDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbiwgZW50cnk6IHsgdmFsdWU6IGFueTsgaXNDaGVjazogYm9vbGVhbiB9KSB7XG4gICAgICAgIGlmIChjaGVja2VkICYmICF0aGlzLnZhbHVlLnNvbWUociA9PiByID09PSBlbnRyeS52YWx1ZS5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICBlbnRyeS52YWx1ZS5pZFxuICAgICAgICAgICAgXVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjaGVja2VkICYmIHRoaXMudmFsdWUuc29tZShyID0+IHIgPT09IGVudHJ5LnZhbHVlLmlkKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKHIgPT4gciAhPT0gZW50cnkudmFsdWUuaWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGlvbi1yb3c+XG4gICAgPGlvbi1jb2w+XG4gICAgICAgIDxpb24taXRlbS1kaXZpZGVyPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJmaWx0ZXItb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZS5sZW5ndGhcIiBzbG90PVwiZW5kXCIgY29sb3I9XCJkYW5nZXJcIiAoY2xpY2spPVwicmVmcmVzaChbXSlcIiBjbGFzcz1cInNxdWVyZS1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24taXRlbS1kaXZpZGVyPlxuICAgICAgICA8aW9uLWl0ZW0gKm5nRm9yPVwibGV0IGVudHJ5IG9mIGxpc3QkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+e3tlbnRyeS52YWx1ZS50ZXh0IHwgdHJhbnNsYXRlfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICAgIDxpb24tY2hlY2tib3ggc2xvdD1cImVuZFwiIFtjaGVja2VkXT1cImVudHJ5LmlzQ2hlY2tcIiAoaW9uQ2hhbmdlKT1cIm9uQ2hlY2tDaGFuZ2UoJGV2ZW50LmRldGFpbC5jaGVja2VkLCBlbnRyeSlcIj48L2lvbi1jaGVja2JveD5cbiAgICAgICAgPC9pb24taXRlbT5cbiAgICA8L2lvbi1jb2w+XG4gICAgPCEtLSA8aW9uLWNvbCBzaXplPVwiYXV0b1wiICpuZ0lmPVwidmFsdWVcIj5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYW5nZXJcIiAoY2xpY2spPVwicmVmcmVzaChudWxsKVwiIGNsYXNzPVwic3F1ZXJlLWJ1dHRvblwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1jb2w+IC0tPlxuPC9pb24tcm93PiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as moment from "moment";
|
|
3
|
+
import { BaseComponent } from "../base/base.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ionic/angular";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@ngx-translate/core";
|
|
9
|
+
export class FilterDateComponent extends BaseComponent {
|
|
10
|
+
get allowAdvanced() {
|
|
11
|
+
return this.item?.type === '=';
|
|
12
|
+
}
|
|
13
|
+
set customValue(val) {
|
|
14
|
+
const momentDate = moment(val);
|
|
15
|
+
this.value = val?.length >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;
|
|
16
|
+
}
|
|
17
|
+
get customValue() {
|
|
18
|
+
return this.value;
|
|
19
|
+
}
|
|
20
|
+
set customMinValue(val) {
|
|
21
|
+
const momentDate = moment(val);
|
|
22
|
+
this.minValue = val?.length >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;
|
|
23
|
+
}
|
|
24
|
+
get customMinValue() {
|
|
25
|
+
return this.minValue;
|
|
26
|
+
}
|
|
27
|
+
set customMaxValue(val) {
|
|
28
|
+
const momentDate = moment(val);
|
|
29
|
+
this.maxValue = val?.length >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;
|
|
30
|
+
}
|
|
31
|
+
get customMaxValue() {
|
|
32
|
+
return this.maxValue;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** @nocollapse */ /** @nocollapse */ FilterDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
/** @nocollapse */ /** @nocollapse */ FilterDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: FilterDateComponent, selector: "smart-crud-filter-date", usesInheritance: true, ngImport: i0, template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-datetime displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>", styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"], components: [{ type: i1.IonRow, selector: "ion-row" }, { type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "dayNames", "dayShortNames", "dayValues", "disabled", "displayFormat", "displayTimezone", "doneText", "hourValues", "max", "min", "minuteValues", "mode", "monthNames", "monthShortNames", "monthValues", "name", "pickerFormat", "pickerOptions", "placeholder", "readonly", "value", "yearValues"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i1.IonIcon, selector: "ion-icon", inputs: ["ariaHidden", "ariaLabel", "color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], directives: [{ type: i1.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterDateComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'smart-crud-filter-date', template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-datetime displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>", styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"] }]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBSWpDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBT3JELE1BQU0sT0FBTyxtQkFBK0MsU0FBUSxhQUFnQjtJQUNsRixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsR0FBRztRQUNqQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBSSxHQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUM3RyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxHQUFHO1FBQ3BCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFJLEdBQWMsRUFBRSxNQUFNLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2hILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxHQUFHO1FBQ3BCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFJLEdBQWMsRUFBRSxNQUFNLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2hILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7O3NKQTlCVSxtQkFBbUI7MElBQW5CLG1CQUFtQixxRkNaaEMscWtCQWNVOzJGREZHLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlci1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZUNvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4ge1xuICBnZXQgYWxsb3dBZHZhbmNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtPy50eXBlID09PSAnPSc7XG4gIH1cblxuICBzZXQgY3VzdG9tVmFsdWUodmFsKSB7XG4gICAgY29uc3QgbW9tZW50RGF0ZSA9IG1vbWVudCh2YWwpO1xuICAgIHRoaXMudmFsdWUgPSAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKSA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJykgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjdXN0b21NaW5WYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy5taW5WYWx1ZSA9ICh2YWwgYXMgc3RyaW5nKT8ubGVuZ3RoID49IDEwICYmIG1vbWVudERhdGUuaXNWYWxpZCgpID8gbW9tZW50RGF0ZS5mb3JtYXQoJ1lZWVktTU0tREQnKSA6IHZhbDtcbiAgfVxuXG4gIGdldCBjdXN0b21NaW5WYWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm1pblZhbHVlO1xuICB9XG5cbiAgc2V0IGN1c3RvbU1heFZhbHVlKHZhbCkge1xuICAgIGNvbnN0IG1vbWVudERhdGUgPSBtb21lbnQodmFsKTtcbiAgICB0aGlzLm1heFZhbHVlID0gKHZhbCBhcyBzdHJpbmcpPy5sZW5ndGggPj0gMTAgJiYgbW9tZW50RGF0ZS5pc1ZhbGlkKCkgPyBtb21lbnREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcpIDogdmFsO1xuICB9XG5cbiAgZ2V0IGN1c3RvbU1heFZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMubWF4VmFsdWU7XG4gIH1cbn1cbiIsIjxpb24tcm93PlxuICAgIDxpb24tY29sPlxuICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiZmxvYXRpbmdcIj5cbiAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgIDxpb24tZGF0ZXRpbWUgZGlzcGxheUZvcm1hdD1cIllZWVktTU0tRERcIlxuICAgICAgICAgICAgICAgICAgICAgIHBpY2tlckZvcm1hdD1cIllZWVktTU0tRERcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tVmFsdWVcIj48L2lvbi1kYXRldGltZT5cbiAgICA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIiAqbmdJZj1cInZhbHVlXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cInJlZnJlc2gobnVsbClcIiBjbGFzcz1cInNxdWVyZS1idXR0b25cIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tY29sPlxuPC9pb24tcm93PiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { IonDatetime } from "@ionic/angular";
|
|
3
|
+
import { Subscription } from "rxjs";
|
|
4
|
+
import { FilterDateComponent } from "../date/date.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ionic/angular";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@ngx-translate/core";
|
|
10
|
+
export class FilterDateWithEditComponent extends FilterDateComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this._subscriptions = new Subscription();
|
|
14
|
+
this.advanced = false;
|
|
15
|
+
}
|
|
16
|
+
open() {
|
|
17
|
+
this.dateTimePicker.open();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
super.ngOnInit();
|
|
21
|
+
if (this.dateTimePicker) {
|
|
22
|
+
this._subscriptions.add(this.dateTimePicker.ionChange.subscribe((val) => {
|
|
23
|
+
this.customValue = val.detail.value;
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error('dateTimePicker not found!');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
if (this._subscriptions) {
|
|
32
|
+
this._subscriptions.unsubscribe();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** @nocollapse */ /** @nocollapse */ FilterDateWithEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterDateWithEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
/** @nocollapse */ /** @nocollapse */ FilterDateWithEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: FilterDateWithEditComponent, selector: "smart-crud-filter-date-with-edit", viewQueries: [{ propertyName: "dateTimePicker", first: true, predicate: IonDatetime, descendants: true, read: IonDatetime }], usesInheritance: true, ngImport: i0, template: "<ion-row>\n <ion-col>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button (click)=\"open()\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"calendar-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"allowAdvanced\">\n <ion-button (click)=\"advanced = !advanced\" class=\"squere-button\" [disabled]=\"minValue || maxValue\">\n <ion-icon *ngIf=\"!advanced\" slot=\"icon-only\" name=\"settings-outline\"></ion-icon>\n <ion-icon *ngIf=\"advanced\" slot=\"icon-only\" name=\"settings\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>\n<ion-row *ngIf=\"(advanced || minValue || maxValue) && allowAdvanced\">\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'from' | translate }}\n </ion-label>\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMinValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n [(ngModel)]=\"customMinValue\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"></ion-datetime>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"customMinValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '>=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'to' | translate }}\n </ion-label>\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMaxValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMaxValue\"></ion-datetime>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"customMaxValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '<=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>", styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"], components: [{ type: i1.IonRow, selector: "ion-row" }, { type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "dayNames", "dayShortNames", "dayValues", "disabled", "displayFormat", "displayTimezone", "doneText", "hourValues", "max", "min", "minuteValues", "mode", "monthNames", "monthShortNames", "monthValues", "name", "pickerFormat", "pickerOptions", "placeholder", "readonly", "value", "yearValues"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i1.IonIcon, selector: "ion-icon", inputs: ["ariaHidden", "ariaLabel", "color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], directives: [{ type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i1.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterDateWithEditComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'smart-crud-filter-date-with-edit', template: "<ion-row>\n <ion-col>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button (click)=\"open()\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"calendar-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"allowAdvanced\">\n <ion-button (click)=\"advanced = !advanced\" class=\"squere-button\" [disabled]=\"minValue || maxValue\">\n <ion-icon *ngIf=\"!advanced\" slot=\"icon-only\" name=\"settings-outline\"></ion-icon>\n <ion-icon *ngIf=\"advanced\" slot=\"icon-only\" name=\"settings\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>\n<ion-row *ngIf=\"(advanced || minValue || maxValue) && allowAdvanced\">\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'from' | translate }}\n </ion-label>\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMinValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n [(ngModel)]=\"customMinValue\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"></ion-datetime>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"customMinValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '>=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'to' | translate }}\n </ion-label>\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMaxValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMaxValue\"></ion-datetime>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"customMaxValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '<=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>", styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"] }]
|
|
41
|
+
}], propDecorators: { dateTimePicker: [{
|
|
42
|
+
type: ViewChild,
|
|
43
|
+
args: [IonDatetime, { read: IonDatetime, static: false }]
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlLXdpdGgtZWRpdC9kYXRlLXdpdGgtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2RhdGUtd2l0aC1lZGl0L2RhdGUtd2l0aC1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlsQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBTzNELE1BQU0sT0FBTywyQkFBdUQsU0FBUSxtQkFBc0I7SUFMbEc7O1FBT1UsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVDLGFBQVEsR0FBRyxLQUFLLENBQUM7S0F5QmxCO0lBckJDLElBQUk7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFnQixFQUFFLEVBQUU7Z0JBQ25GLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNMO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQzs7OEpBNUJVLDJCQUEyQjtrSkFBM0IsMkJBQTJCLHdIQU0zQixXQUFXLDJCQUFVLFdBQVcsb0RDbkI3QyxvdEdBeUVVOzJGRDVERywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usa0NBQWtDOzhCQVVrQixjQUFjO3NCQUEzRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SW9uRGF0ZXRpbWV9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtGaWx0ZXJEYXRlQ29tcG9uZW50fSBmcm9tIFwiLi4vZGF0ZS9kYXRlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlci1kYXRlLXdpdGgtZWRpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXdpdGgtZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtd2l0aC1lZGl0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZVdpdGhFZGl0Q29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IGV4dGVuZHMgRmlsdGVyRGF0ZUNvbXBvbmVudDxUPlxuaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgYWR2YW5jZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKElvbkRhdGV0aW1lLCB7IHJlYWQ6IElvbkRhdGV0aW1lLCBzdGF0aWM6IGZhbHNlIH0pIGRhdGVUaW1lUGlja2VyOiBJb25EYXRldGltZTtcblxuICBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZVRpbWVQaWNrZXIub3BlbigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGlmICh0aGlzLmRhdGVUaW1lUGlja2VyKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmRhdGVUaW1lUGlja2VyLmlvbkNoYW5nZS5zdWJzY3JpYmUoKHZhbDogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5jdXN0b21WYWx1ZSA9IHZhbC5kZXRhaWwudmFsdWU7XG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2RhdGVUaW1lUGlja2VyIG5vdCBmb3VuZCEnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG4iLCI8aW9uLXJvdz5cbiAgICA8aW9uLWNvbD5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tbGFiZWw+XG5cbiAgICAgICAgPGlvbi1pbnB1dCBwbGFjZWhvbGRlcj1cIllZWVktTU0tRERcIlxuICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cIicoWzEyXVxcXFxkezN9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1cXFxcZHwzWzAxXSkpJ1wiXG4gICAgICAgID48L2lvbi1pbnB1dD5cbiAgICAgICAgPGlvbi1kYXRldGltZSBbaGlkZGVuXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGb3JtYXQ9XCJZWVlZLU1NLUREXCJcbiAgICAgICAgICAgICAgICAgICAgICBwaWNrZXJGb3JtYXQ9XCJZWVlZLU1NLUREXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1c3RvbVZhbHVlXCI+PC9pb24tZGF0ZXRpbWU+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuKClcIiBjbGFzcz1cInNxdWVyZS1idXR0b25cIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNhbGVuZGFyLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgKm5nSWY9XCJhbGxvd0FkdmFuY2VkXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJhZHZhbmNlZCA9ICFhZHZhbmNlZFwiIGNsYXNzPVwic3F1ZXJlLWJ1dHRvblwiIFtkaXNhYmxlZF09XCJtaW5WYWx1ZSB8fCBtYXhWYWx1ZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uICpuZ0lmPVwiIWFkdmFuY2VkXCIgc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZXR0aW5ncy1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24taWNvbiAqbmdJZj1cImFkdmFuY2VkXCIgc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZXR0aW5nc1wiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIiAqbmdJZj1cInZhbHVlXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cInJlZnJlc2gobnVsbClcIiBjbGFzcz1cInNxdWVyZS1idXR0b25cIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tY29sPlxuPC9pb24tcm93PlxuPGlvbi1yb3cgKm5nSWY9XCIoYWR2YW5jZWQgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpICYmIGFsbG93QWR2YW5jZWRcIj5cbiAgICA8aW9uLWNvbD5cbiAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyAnZnJvbScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1pbnB1dCBwbGFjZWhvbGRlcj1cIllZWVktTU0tRERcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1c3RvbU1pblZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5dPVwiJyhbMTJdXFxcXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcXFxkfDNbMDFdKSknXCJcbiAgICAgICAgICAgID48L2lvbi1pbnB1dD5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUgW2hpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21NaW5WYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGb3JtYXQ9XCJZWVlZLU1NLUREXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGlja2VyRm9ybWF0PVwiWVlZWS1NTS1ERFwiPjwvaW9uLWRhdGV0aW1lPlxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiICpuZ0lmPVwiY3VzdG9tTWluVmFsdWVcIj5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYW5nZXJcIiAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPj0nKVwiIGNsYXNzPVwic3F1ZXJlLWJ1dHRvblwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2w+XG4gICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAgICAgICAge3sgJ3RvJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWlucHV0IHBsYWNlaG9sZGVyPVwiWVlZWS1NTS1ERFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tTWF4VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0dGVybl09XCInKFsxMl1cXFxcZHszfS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdXFxcXGR8M1swMV0pKSdcIlxuICAgICAgICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgICAgICAgPGlvbi1kYXRldGltZSBbaGlkZGVuXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Rm9ybWF0PVwiWVlZWS1NTS1ERFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBpY2tlckZvcm1hdD1cIllZWVktTU0tRERcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1c3RvbU1heFZhbHVlXCI+PC9pb24tZGF0ZXRpbWU+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgKm5nSWY9XCJjdXN0b21NYXhWYWx1ZVwiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiIChjbGljayk9XCJyZWZyZXNoKG51bGwsICc8PScpXCIgY2xhc3M9XCJzcXVlcmUtYnV0dG9uXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWNvbD5cbjwvaW9uLXJvdz4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { FieldType } from "@smartsoft001/models";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ionic/angular";
|
|
5
|
+
import * as i2 from "./date/date.component";
|
|
6
|
+
import * as i3 from "./date-with-edit/date-with-edit.component";
|
|
7
|
+
import * as i4 from "./radio/radio.component";
|
|
8
|
+
import * as i5 from "./check/check.component";
|
|
9
|
+
import * as i6 from "./flag/flag.component";
|
|
10
|
+
import * as i7 from "./int/int.component";
|
|
11
|
+
import * as i8 from "./text/text.component";
|
|
12
|
+
import * as i9 from "@angular/common";
|
|
13
|
+
export class FilterComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.FieldType = FieldType;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() { }
|
|
18
|
+
}
|
|
19
|
+
/** @nocollapse */ /** @nocollapse */ FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
/** @nocollapse */ /** @nocollapse */ FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: FilterComponent, selector: "smart-crud-filter", inputs: { item: "item", filter: "filter" }, ngImport: i0, template: "<ion-item [ngSwitch]=\"item.fieldType\">\n <smart-crud-filter-date\n *ngSwitchCase=\"FieldType.date\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date>\n\n <smart-crud-filter-date-with-edit\n *ngSwitchCase=\"FieldType.dateWithEdit\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date-with-edit>\n\n <smart-crud-filter-radio\n *ngSwitchCase=\"FieldType.radio\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-radio>\n\n <smart-crud-filter-check\n *ngSwitchCase=\"FieldType.check\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-check>\n\n <smart-crud-filter-flag\n *ngSwitchCase=\"FieldType.flag\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-flag>\n\n <smart-crud-filter-int\n *ngSwitchCase=\"FieldType.int\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-int>\n\n <smart-crud-filter-text\n *ngSwitchDefault\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-text>\n</ion-item>\n", styles: [""], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { type: i2.FilterDateComponent, selector: "smart-crud-filter-date" }, { type: i3.FilterDateWithEditComponent, selector: "smart-crud-filter-date-with-edit" }, { type: i4.FilterRadioComponent, selector: "smart-crud-filter-radio" }, { type: i5.FilterCheckComponent, selector: "smart-crud-filter-check" }, { type: i6.FilterFlagComponent, selector: "smart-crud-filter-flag" }, { type: i7.FilterIntComponent, selector: "smart-crud-filter-int" }, { type: i8.FilterTextComponent, selector: "smart-crud-filter-text" }], directives: [{ type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: FilterComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: "smart-crud-filter", template: "<ion-item [ngSwitch]=\"item.fieldType\">\n <smart-crud-filter-date\n *ngSwitchCase=\"FieldType.date\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date>\n\n <smart-crud-filter-date-with-edit\n *ngSwitchCase=\"FieldType.dateWithEdit\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date-with-edit>\n\n <smart-crud-filter-radio\n *ngSwitchCase=\"FieldType.radio\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-radio>\n\n <smart-crud-filter-check\n *ngSwitchCase=\"FieldType.check\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-check>\n\n <smart-crud-filter-flag\n *ngSwitchCase=\"FieldType.flag\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-flag>\n\n <smart-crud-filter-int\n *ngSwitchCase=\"FieldType.int\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-int>\n\n <smart-crud-filter-text\n *ngSwitchDefault\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-text>\n</ion-item>\n", styles: [""] }]
|
|
24
|
+
}], ctorParameters: function () { return []; }, propDecorators: { item: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], filter: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBQyxTQUFTLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTN0QsTUFBTSxPQUFPLGVBQWU7SUFNMUI7UUFMQSxjQUFTLEdBQUcsU0FBUyxDQUFDO0lBS1AsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs7a0pBUlIsZUFBZTtzSUFBZixlQUFlLHFHQ1g1QiwycENBMkNBOzJGRGhDYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLG1CQUFtQjswRUFPcEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7RmllbGRUeXBlLCBJTW9kZWxGaWx0ZXJ9IGZyb20gXCJAc21hcnRzb2Z0MDAxL21vZGVsc1wiO1xuXG5pbXBvcnQge0lDcnVkRmlsdGVyfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2ludGVyZmFjZXNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInNtYXJ0LWNydWQtZmlsdGVyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9maWx0ZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcblxuICBASW5wdXQoKSBpdGVtOiBJTW9kZWxGaWx0ZXI7XG4gIEBJbnB1dCgpIGZpbHRlcjogSUNydWRGaWx0ZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxpb24taXRlbSBbbmdTd2l0Y2hdPVwiaXRlbS5maWVsZFR5cGVcIj5cbiAgPHNtYXJ0LWNydWQtZmlsdGVyLWRhdGVcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiRmllbGRUeXBlLmRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgPjwvc21hcnQtY3J1ZC1maWx0ZXItZGF0ZT5cblxuICA8c21hcnQtY3J1ZC1maWx0ZXItZGF0ZS13aXRoLWVkaXRcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiRmllbGRUeXBlLmRhdGVXaXRoRWRpdFwiXG4gICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICA+PC9zbWFydC1jcnVkLWZpbHRlci1kYXRlLXdpdGgtZWRpdD5cblxuICA8c21hcnQtY3J1ZC1maWx0ZXItcmFkaW9cbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiRmllbGRUeXBlLnJhZGlvXCJcbiAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlclwiXG4gID48L3NtYXJ0LWNydWQtZmlsdGVyLXJhZGlvPlxuXG4gIDxzbWFydC1jcnVkLWZpbHRlci1jaGVja1xuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJGaWVsZFR5cGUuY2hlY2tcIlxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgPjwvc21hcnQtY3J1ZC1maWx0ZXItY2hlY2s+XG5cbiAgPHNtYXJ0LWNydWQtZmlsdGVyLWZsYWdcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiRmllbGRUeXBlLmZsYWdcIlxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgPjwvc21hcnQtY3J1ZC1maWx0ZXItZmxhZz5cblxuICA8c21hcnQtY3J1ZC1maWx0ZXItaW50XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIkZpZWxkVHlwZS5pbnRcIlxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgPjwvc21hcnQtY3J1ZC1maWx0ZXItaW50PlxuXG4gIDxzbWFydC1jcnVkLWZpbHRlci10ZXh0XG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgPjwvc21hcnQtY3J1ZC1maWx0ZXItdGV4dD5cbjwvaW9uLWl0ZW0+XG4iXX0=
|