@smartsoft001/crud-shell-angular 1.2.90 → 2.69.0
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/.storybook/addons.js +1 -0
- package/.storybook/config.js +5 -0
- package/.storybook/tsconfig.json +8 -0
- package/.storybook/webpack.config.js +7 -0
- package/jest.config.ts +38 -0
- package/ng-package.json +7 -0
- package/package.json +12 -23
- package/project.json +49 -0
- package/src/index.ts +13 -0
- package/src/lib/+state/crud.facade.ts +82 -0
- package/src/lib/+state/crud.feature.methods.ts +258 -0
- package/src/lib/+state/crud.feature.store.ts +77 -0
- package/src/lib/components/components.module.ts +58 -0
- package/src/lib/components/export/export.component.ts +69 -0
- package/src/lib/components/filter/base/base.component.ts +175 -0
- package/src/lib/components/filter/check/check.component.scss +25 -0
- package/src/lib/components/filter/check/check.component.ts +72 -0
- package/src/lib/components/filter/date/date.component.html +30 -0
- package/src/lib/components/filter/date/date.component.ts +70 -0
- package/src/lib/components/filter/date-time/date-time.component.html +62 -0
- package/src/lib/components/filter/date-time/date-time.component.ts +56 -0
- package/src/lib/components/filter/date-with-edit/date-with-edit.component.html +109 -0
- package/src/lib/components/filter/date-with-edit/date-with-edit.component.ts +70 -0
- package/src/lib/components/filter/filter.component.html +52 -0
- package/src/lib/components/filter/filter.component.ts +34 -0
- package/src/lib/components/filter/flag/flag.component.ts +55 -0
- package/src/lib/components/filter/index.ts +9 -0
- package/src/lib/components/filter/int/int.component.html +74 -0
- package/src/lib/components/filter/int/int.component.ts +57 -0
- package/src/lib/components/filter/radio/radio.component.ts +74 -0
- package/src/lib/components/filter/text/text.component.ts +46 -0
- package/src/lib/components/filters/filters.component.scss +150 -0
- package/src/lib/components/filters/filters.component.ts +157 -0
- package/src/lib/components/filters-config/filters-config.component.ts +69 -0
- package/src/lib/components/group/group.component.ts +93 -0
- package/src/lib/components/index.ts +7 -0
- package/src/lib/components/multiselect/multiselect.component.html +41 -0
- package/src/lib/components/multiselect/multiselect.component.scss +125 -0
- package/src/lib/components/multiselect/multiselect.component.ts +104 -0
- package/src/lib/crud-full.module.ts +51 -0
- package/src/lib/crud.config.ts +79 -0
- package/src/lib/crud.module.ts +72 -0
- package/src/lib/factories/list-pagination/list-pagination.factory.ts +77 -0
- package/src/lib/models/index.ts +1 -0
- package/src/lib/models/interfaces.ts +34 -0
- package/src/lib/pages/index.ts +6 -0
- package/src/lib/pages/item/base/base.component.ts +54 -0
- package/src/lib/pages/item/item.component.ts +513 -0
- package/src/lib/pages/item/standard/standard.component.scss +0 -0
- package/src/lib/pages/item/standard/standard.component.ts +50 -0
- package/src/lib/pages/list/base/base.component.ts +29 -0
- package/src/lib/pages/list/list.component.stories.ts +77 -0
- package/src/lib/pages/list/list.component.ts +438 -0
- package/src/lib/pages/list/standard/standard.component.ts +42 -0
- package/src/lib/pipes/form-options/form-options.pipe.ts +61 -0
- package/src/lib/pipes/index.ts +2 -0
- package/src/lib/pipes/pipes.module.ts +9 -0
- package/src/lib/providers/model-possibilities/model-possibilities.provider.ts +19 -0
- package/src/lib/services/crud/crud.service.spec.ts +303 -0
- package/src/lib/services/crud/crud.service.ts +178 -0
- package/src/lib/services/list-group/list-group.service.spec.ts +87 -0
- package/src/lib/services/list-group/list-group.service.ts +65 -0
- package/src/lib/services/page/page.service.spec.ts +143 -0
- package/src/lib/services/page/page.service.ts +44 -0
- package/src/lib/services/search/search.service.spec.ts +134 -0
- package/src/lib/services/search/search.service.ts +42 -0
- package/test-setup.ts +0 -0
- package/tsconfig.json +13 -0
- package/tsconfig.lib.json +31 -0
- package/tsconfig.lib.prod.json +11 -0
- package/tsconfig.spec.json +10 -0
- package/tslint.json +10 -0
- package/esm2022/index.mjs +0 -18
- package/esm2022/lib/+state/crud.actions.mjs +0 -224
- package/esm2022/lib/+state/crud.effects.mjs +0 -182
- package/esm2022/lib/+state/crud.facade.mjs +0 -91
- package/esm2022/lib/+state/crud.reducer.mjs +0 -214
- package/esm2022/lib/+state/crud.selectors.mjs +0 -11
- package/esm2022/lib/components/components.module.mjs +0 -110
- package/esm2022/lib/components/export/export.component.mjs +0 -47
- package/esm2022/lib/components/filter/base/base.component.mjs +0 -152
- package/esm2022/lib/components/filter/check/check.component.mjs +0 -36
- package/esm2022/lib/components/filter/date/date.component.mjs +0 -47
- package/esm2022/lib/components/filter/date-time/date-time.component.mjs +0 -43
- package/esm2022/lib/components/filter/date-with-edit/date-with-edit.component.mjs +0 -49
- package/esm2022/lib/components/filter/filter.component.mjs +0 -30
- package/esm2022/lib/components/filter/flag/flag.component.mjs +0 -16
- package/esm2022/lib/components/filter/index.mjs +0 -10
- package/esm2022/lib/components/filter/int/int.component.mjs +0 -38
- package/esm2022/lib/components/filter/radio/radio.component.mjs +0 -16
- package/esm2022/lib/components/filter/text/text.component.mjs +0 -16
- package/esm2022/lib/components/filters/filters.component.mjs +0 -111
- package/esm2022/lib/components/filters-config/filters-config.component.mjs +0 -37
- package/esm2022/lib/components/group/group.component.mjs +0 -54
- package/esm2022/lib/components/index.mjs +0 -8
- package/esm2022/lib/components/multiselect/multiselect.component.mjs +0 -71
- package/esm2022/lib/crud-full.module.mjs +0 -103
- package/esm2022/lib/crud.config.mjs +0 -17
- package/esm2022/lib/crud.module.mjs +0 -106
- package/esm2022/lib/factories/list-pagination/list-pagination.factory.mjs +0 -69
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/models/interfaces.mjs +0 -2
- package/esm2022/lib/pages/index.mjs +0 -7
- package/esm2022/lib/pages/item/base/base.component.mjs +0 -44
- package/esm2022/lib/pages/item/item.component.mjs +0 -395
- package/esm2022/lib/pages/item/standard/standard.component.mjs +0 -15
- package/esm2022/lib/pages/list/base/base.component.mjs +0 -23
- package/esm2022/lib/pages/list/list.component.mjs +0 -355
- package/esm2022/lib/pages/list/standard/standard.component.mjs +0 -34
- package/esm2022/lib/pipes/form-options/form-options.pipe.mjs +0 -55
- package/esm2022/lib/pipes/index.mjs +0 -3
- package/esm2022/lib/pipes/pipes.module.mjs +0 -20
- package/esm2022/lib/providers/model-possibilities/model-possibilities.provider.mjs +0 -11
- package/esm2022/lib/services/crud/crud.service.mjs +0 -138
- package/esm2022/lib/services/list-group/list-group.service.mjs +0 -60
- package/esm2022/lib/services/page/page.service.mjs +0 -41
- package/esm2022/lib/services/search/search.service.mjs +0 -41
- package/esm2022/lib/services/socket/socket.service.mjs +0 -17
- package/esm2022/smartsoft001-crud-shell-angular.mjs +0 -5
- package/fesm2022/smartsoft001-crud-shell-angular.mjs +0 -2810
- package/fesm2022/smartsoft001-crud-shell-angular.mjs.map +0 -1
- package/index.d.ts +0 -18
- package/index.d.ts.map +0 -1
- package/lib/+state/crud.actions.d.ts +0 -152
- package/lib/+state/crud.actions.d.ts.map +0 -1
- package/lib/+state/crud.effects.d.ts +0 -18
- package/lib/+state/crud.effects.d.ts.map +0 -1
- package/lib/+state/crud.facade.d.ts +0 -44
- package/lib/+state/crud.facade.d.ts.map +0 -1
- package/lib/+state/crud.reducer.d.ts +0 -43
- package/lib/+state/crud.reducer.d.ts.map +0 -1
- package/lib/+state/crud.selectors.d.ts +0 -10
- package/lib/+state/crud.selectors.d.ts.map +0 -1
- package/lib/components/components.module.d.ts +0 -27
- package/lib/components/components.module.d.ts.map +0 -1
- package/lib/components/export/export.component.d.ts +0 -21
- package/lib/components/export/export.component.d.ts.map +0 -1
- package/lib/components/filter/base/base.component.d.ts +0 -39
- package/lib/components/filter/base/base.component.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.d.ts +0 -19
- package/lib/components/filter/check/check.component.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.d.ts +0 -16
- package/lib/components/filter/date/date.component.d.ts.map +0 -1
- package/lib/components/filter/date-time/date-time.component.d.ts +0 -15
- package/lib/components/filter/date-time/date-time.component.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +0 -17
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +0 -1
- package/lib/components/filter/filter.component.d.ts +0 -14
- package/lib/components/filter/filter.component.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.d.ts +0 -8
- package/lib/components/filter/flag/flag.component.d.ts.map +0 -1
- package/lib/components/filter/index.d.ts +0 -10
- package/lib/components/filter/index.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.d.ts +0 -15
- package/lib/components/filter/int/int.component.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.d.ts +0 -8
- package/lib/components/filter/radio/radio.component.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.d.ts +0 -8
- package/lib/components/filter/text/text.component.d.ts.map +0 -1
- package/lib/components/filters/filters.component.d.ts +0 -83
- package/lib/components/filters/filters.component.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.d.ts +0 -19
- package/lib/components/filters-config/filters-config.component.d.ts.map +0 -1
- package/lib/components/group/group.component.d.ts +0 -23
- package/lib/components/group/group.component.d.ts.map +0 -1
- package/lib/components/index.d.ts +0 -8
- package/lib/components/index.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.d.ts +0 -28
- package/lib/components/multiselect/multiselect.component.d.ts.map +0 -1
- package/lib/crud-full.module.d.ts +0 -28
- package/lib/crud-full.module.d.ts.map +0 -1
- package/lib/crud.config.d.ts +0 -65
- package/lib/crud.config.d.ts.map +0 -1
- package/lib/crud.module.d.ts +0 -34
- package/lib/crud.module.d.ts.map +0 -1
- package/lib/factories/list-pagination/list-pagination.factory.d.ts +0 -20
- package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +0 -1
- package/lib/models/index.d.ts +0 -2
- package/lib/models/index.d.ts.map +0 -1
- package/lib/models/interfaces.d.ts +0 -30
- package/lib/models/interfaces.d.ts.map +0 -1
- package/lib/pages/index.d.ts +0 -7
- package/lib/pages/index.d.ts.map +0 -1
- package/lib/pages/item/base/base.component.d.ts +0 -25
- package/lib/pages/item/base/base.component.d.ts.map +0 -1
- package/lib/pages/item/item.component.d.ts +0 -70
- package/lib/pages/item/item.component.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.d.ts +0 -8
- package/lib/pages/item/standard/standard.component.d.ts.map +0 -1
- package/lib/pages/list/base/base.component.d.ts +0 -15
- package/lib/pages/list/base/base.component.d.ts.map +0 -1
- package/lib/pages/list/list.component.d.ts +0 -54
- package/lib/pages/list/list.component.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.d.ts +0 -14
- package/lib/pages/list/standard/standard.component.d.ts.map +0 -1
- package/lib/pipes/form-options/form-options.pipe.d.ts +0 -15
- package/lib/pipes/form-options/form-options.pipe.d.ts.map +0 -1
- package/lib/pipes/index.d.ts +0 -3
- package/lib/pipes/index.d.ts.map +0 -1
- package/lib/pipes/pipes.module.d.ts +0 -8
- package/lib/pipes/pipes.module.d.ts.map +0 -1
- package/lib/providers/model-possibilities/model-possibilities.provider.d.ts +0 -18
- package/lib/providers/model-possibilities/model-possibilities.provider.d.ts.map +0 -1
- package/lib/services/crud/crud.service.d.ts +0 -38
- package/lib/services/crud/crud.service.d.ts.map +0 -1
- package/lib/services/list-group/list-group.service.d.ts +0 -15
- package/lib/services/list-group/list-group.service.d.ts.map +0 -1
- package/lib/services/page/page.service.d.ts +0 -12
- package/lib/services/page/page.service.d.ts.map +0 -1
- package/lib/services/search/search.service.d.ts +0 -16
- package/lib/services/search/search.service.d.ts.map +0 -1
- package/lib/services/socket/socket.service.d.ts +0 -10
- package/lib/services/socket/socket.service.d.ts.map +0 -1
- package/smartsoft001-crud-shell-angular.d.ts.map +0 -1
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, Input } from '@angular/core';
|
|
2
|
-
import { MenuService, StyleService } from "@smartsoft001/angular";
|
|
3
|
-
import { FieldType, getModelFieldsWithOptions, getModelOptions } from "@smartsoft001/models";
|
|
4
|
-
import { CrudConfig } from "../../crud.config";
|
|
5
|
-
import { CrudFacade } from "../../+state/crud.facade";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@smartsoft001/angular";
|
|
8
|
-
import * as i2 from "../../crud.config";
|
|
9
|
-
import * as i3 from "../../+state/crud.facade";
|
|
10
|
-
import * as i4 from "@ionic/angular";
|
|
11
|
-
import * as i5 from "@angular/common";
|
|
12
|
-
import * as i6 from "../filter/filter.component";
|
|
13
|
-
import * as i7 from "@ngx-translate/core";
|
|
14
|
-
/**
|
|
15
|
-
* This component is only to use in crud module
|
|
16
|
-
* @requires CrudModule
|
|
17
|
-
* @example
|
|
18
|
-
*
|
|
19
|
-
* html: <smart-crud-filters></smart-crud-filters>
|
|
20
|
-
*
|
|
21
|
-
* use on the model:
|
|
22
|
-
* @Model({
|
|
23
|
-
titleKey: 'body',
|
|
24
|
-
filters: [
|
|
25
|
-
{
|
|
26
|
-
label: 'testNegation',
|
|
27
|
-
key: 'body',
|
|
28
|
-
type: '!=',
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
label: 'fromDate',
|
|
32
|
-
key: 'createDate',
|
|
33
|
-
type: '<=',
|
|
34
|
-
fieldType: FieldType.dateWithEdit
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
label: 'select',
|
|
38
|
-
key: 'type',
|
|
39
|
-
type: '=',
|
|
40
|
-
fieldType: FieldType.radio,
|
|
41
|
-
possibilities$: of([
|
|
42
|
-
{
|
|
43
|
-
id: 1, text: 'Test 1'
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
id: 2, text: 'Test 2'
|
|
47
|
-
}
|
|
48
|
-
])
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
})
|
|
52
|
-
*
|
|
53
|
-
* use on the field (list.filter property):
|
|
54
|
-
* @Field({
|
|
55
|
-
create: modifyMetdata,
|
|
56
|
-
update: {
|
|
57
|
-
...modifyMetdata,
|
|
58
|
-
multi: true
|
|
59
|
-
},
|
|
60
|
-
type: FieldType.longText,
|
|
61
|
-
details: true,
|
|
62
|
-
list: {
|
|
63
|
-
order: 2,
|
|
64
|
-
filter: true
|
|
65
|
-
}
|
|
66
|
-
})
|
|
67
|
-
body: string;
|
|
68
|
-
*/
|
|
69
|
-
export class FiltersComponent {
|
|
70
|
-
constructor(menuService, config, facade, styleService, elementRef) {
|
|
71
|
-
this.menuService = menuService;
|
|
72
|
-
this.config = config;
|
|
73
|
-
this.facade = facade;
|
|
74
|
-
this.styleService = styleService;
|
|
75
|
-
this.elementRef = elementRef;
|
|
76
|
-
}
|
|
77
|
-
async onClose() {
|
|
78
|
-
await this.menuService.closeEnd();
|
|
79
|
-
}
|
|
80
|
-
ngOnInit() {
|
|
81
|
-
this.styleService.init(this.elementRef);
|
|
82
|
-
const modelFilters = getModelOptions(this.config.type).filters;
|
|
83
|
-
this.list = [
|
|
84
|
-
...(modelFilters ? modelFilters.map(item => {
|
|
85
|
-
if (!item.label) {
|
|
86
|
-
item.label = 'MODEL.' + item.key;
|
|
87
|
-
}
|
|
88
|
-
return item;
|
|
89
|
-
}) : []),
|
|
90
|
-
...getModelFieldsWithOptions(new this.config.type())
|
|
91
|
-
.filter(item => item.options?.list?.filter)
|
|
92
|
-
.map(item => ({
|
|
93
|
-
key: item.key,
|
|
94
|
-
type: item.options.type === FieldType.text || item.options.type === FieldType.longText
|
|
95
|
-
? '~=' : '=',
|
|
96
|
-
label: 'MODEL.' + item.key,
|
|
97
|
-
fieldType: item.options.type
|
|
98
|
-
}))
|
|
99
|
-
];
|
|
100
|
-
this.filter$ = this.facade.filter$;
|
|
101
|
-
}
|
|
102
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: FiltersComponent, deps: [{ token: i1.MenuService }, { token: i2.CrudConfig }, { token: i3.CrudFacade }, { token: i1.StyleService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: FiltersComponent, selector: "smart-crud-filters", inputs: { hideMenu: "hideMenu" }, ngImport: i0, template: "<ion-header [hidden]=\"hideMenu\">\n <ion-toolbar>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"onClose()\">\n <ion-icon slot=\"icon-only\" name=\"close\"> </ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title>{{ 'filters' | translate }}</ion-title>\n </ion-toolbar>\n</ion-header>\n<ion-content style=\"height: 100vh;\">\n <ion-list>\n <ng-container *ngFor=\"let item of list\">\n <smart-crud-filter [item]=\"item\" [filter]=\"filter$ | async\"></smart-crud-filter>\n </ng-container>\n </ion-list>\n <div class=\"menu-bottom-space\">\n \n </div>\n</ion-content>", styles: [":host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}}@media only screen and (max-width: 420px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}}:host ion-toolbar.ios{height:4.6rem;--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}@media only screen and (max-width: 420px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}:host ion-toolbar.ios.toolbar-searchbar ion-buttons{height:var(--smart-button-height);margin:.4rem}:host ion-toolbar ion-menu-button{color:var(--ion-color-light)}:host ion-toolbar ion-buttons.ios{height:var(--smart-button-height);margin:0}:host .menu-bottom-space{height:75px}\n"], dependencies: [{ kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i6.FilterComponent, selector: "smart-crud-filter", inputs: ["item", "filter"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
104
|
-
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
106
|
-
type: Component,
|
|
107
|
-
args: [{ selector: 'smart-crud-filters', template: "<ion-header [hidden]=\"hideMenu\">\n <ion-toolbar>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"onClose()\">\n <ion-icon slot=\"icon-only\" name=\"close\"> </ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title>{{ 'filters' | translate }}</ion-title>\n </ion-toolbar>\n</ion-header>\n<ion-content style=\"height: 100vh;\">\n <ion-list>\n <ng-container *ngFor=\"let item of list\">\n <smart-crud-filter [item]=\"item\" [filter]=\"filter$ | async\"></smart-crud-filter>\n </ng-container>\n </ion-list>\n <div class=\"menu-bottom-space\">\n \n </div>\n</ion-content>", styles: [":host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}}@media only screen and (max-width: 420px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}}:host ion-toolbar.ios{height:4.6rem;--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}@media only screen and (max-width: 420px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}:host ion-toolbar.ios.toolbar-searchbar ion-buttons{height:var(--smart-button-height);margin:.4rem}:host ion-toolbar ion-menu-button{color:var(--ion-color-light)}:host ion-toolbar ion-buttons.ios{height:var(--smart-button-height);margin:0}:host .menu-bottom-space{height:75px}\n"] }]
|
|
108
|
-
}], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i2.CrudConfig }, { type: i3.CrudFacade }, { type: i1.StyleService }, { type: i0.ElementRef }]; }, propDecorators: { hideMenu: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR25FLE9BQU8sRUFBYyxXQUFXLEVBQUUsWUFBWSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUNILFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsZUFBZSxFQUdsQixNQUFNLHNCQUFzQixDQUFDO0FBSTlCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0RHO0FBTUgsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixZQUNZLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLE1BQXFCLEVBQ3JCLFlBQTBCLEVBQzFCLFVBQXNCO1FBSnRCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzlCLENBQUM7SUFFTCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFL0QsSUFBSSxDQUFDLElBQUksR0FBRztZQUNSLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ2xDO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNSLEdBQUcseUJBQXlCLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQTJCLEVBQUUsTUFBTSxDQUFDO2lCQUNsRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsUUFBUTtvQkFDbEYsQ0FBQyxDQUFDLElBQVksQ0FBQyxDQUFDLENBQUMsR0FBVTtnQkFDL0IsS0FBSyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRztnQkFDMUIsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTthQUM3QixDQUFDLENBQUM7U0FDVixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO2lJQTdDVSxnQkFBZ0I7cUhBQWhCLGdCQUFnQiw0RkM3RTdCLGtyQkFtQmM7OzJGRDBERCxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0Usb0JBQW9CO3dNQVlyQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQge0F1dGhTZXJ2aWNlLCBNZW51U2VydmljZSwgU3R5bGVTZXJ2aWNlfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5pbXBvcnQge1xuICAgIEZpZWxkVHlwZSxcbiAgICBnZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zLFxuICAgIGdldE1vZGVsT3B0aW9ucyxcbiAgICBJRmllbGRMaXN0TWV0YWRhdGEsXG4gICAgSU1vZGVsRmlsdGVyXG59IGZyb20gXCJAc21hcnRzb2Z0MDAxL21vZGVsc1wiO1xuaW1wb3J0IHtJRW50aXR5fSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZVwiO1xuXG5pbXBvcnQge0lDcnVkRmlsdGVyfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7Q3J1ZENvbmZpZ30gZnJvbSBcIi4uLy4uL2NydWQuY29uZmlnXCI7XG5pbXBvcnQge0NydWRGYWNhZGV9IGZyb20gXCIuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGVcIjtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBvbmx5IHRvIHVzZSBpbiBjcnVkIG1vZHVsZVxuICogQHJlcXVpcmVzIENydWRNb2R1bGVcbiAqIEBleGFtcGxlXG4gKlxuICogaHRtbDogPHNtYXJ0LWNydWQtZmlsdGVycz48L3NtYXJ0LWNydWQtZmlsdGVycz5cbiAqXG4gKiB1c2Ugb24gdGhlIG1vZGVsOlxuICogQE1vZGVsKHtcbiAgICB0aXRsZUtleTogJ2JvZHknLFxuICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICd0ZXN0TmVnYXRpb24nLFxuICAgICAgICAgICAga2V5OiAnYm9keScsXG4gICAgICAgICAgICB0eXBlOiAnIT0nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ2Zyb21EYXRlJyxcbiAgICAgICAgICAgIGtleTogJ2NyZWF0ZURhdGUnLFxuICAgICAgICAgICAgdHlwZTogJzw9JyxcbiAgICAgICAgICAgIGZpZWxkVHlwZTogRmllbGRUeXBlLmRhdGVXaXRoRWRpdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ3NlbGVjdCcsXG4gICAgICAgICAgICBrZXk6ICd0eXBlJyxcbiAgICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICAgIGZpZWxkVHlwZTogRmllbGRUeXBlLnJhZGlvLFxuICAgICAgICAgICAgcG9zc2liaWxpdGllcyQ6IG9mKFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAxLCB0ZXh0OiAnVGVzdCAxJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpZDogMiwgdGV4dDogJ1Rlc3QgMidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdKVxuICAgICAgICB9XG4gICAgXVxufSlcbiAqXG4gKiB1c2Ugb24gdGhlIGZpZWxkIChsaXN0LmZpbHRlciBwcm9wZXJ0eSk6XG4gKiBARmllbGQoe1xuICAgICAgICBjcmVhdGU6IG1vZGlmeU1ldGRhdGEsXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgICAgLi4ubW9kaWZ5TWV0ZGF0YSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEZpZWxkVHlwZS5sb25nVGV4dCxcbiAgICAgICAgZGV0YWlsczogdHJ1ZSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICBmaWx0ZXI6IHRydWVcbiAgICAgICAgfVxuICAgIH0pXG4gYm9keTogc3RyaW5nO1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzQ29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbGlzdDogQXJyYXk8SU1vZGVsRmlsdGVyPjtcblxuICBmaWx0ZXIkOiBPYnNlcnZhYmxlPElDcnVkRmlsdGVyPjtcblxuICAgIC8qKlxuICAgICAqIEhpZGUgbWVudSB1c2VkIG9ubHkgZnJvbSBNZW51U2VydmljZVxuICAgICAqL1xuICBASW5wdXQoKSBoaWRlTWVudTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBjb25maWc6IENydWRDb25maWc8VD4sXG4gICAgICBwcml2YXRlIGZhY2FkZTogQ3J1ZEZhY2FkZTxUPixcbiAgICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBhc3luYyBvbkNsb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5zdHlsZVNlcnZpY2UuaW5pdCh0aGlzLmVsZW1lbnRSZWYpO1xuXG4gICAgY29uc3QgbW9kZWxGaWx0ZXJzID0gZ2V0TW9kZWxPcHRpb25zKHRoaXMuY29uZmlnLnR5cGUpLmZpbHRlcnM7XG5cbiAgICB0aGlzLmxpc3QgPSBbXG4gICAgICAgIC4uLihtb2RlbEZpbHRlcnMgPyBtb2RlbEZpbHRlcnMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIGlmICghaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgaXRlbS5sYWJlbCA9ICdNT0RFTC4nICsgaXRlbS5rZXk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KSA6IFtdKSxcbiAgICAgICAgLi4uZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyhuZXcgdGhpcy5jb25maWcudHlwZSgpKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IChpdGVtLm9wdGlvbnM/Lmxpc3QgYXMgSUZpZWxkTGlzdE1ldGFkYXRhKT8uZmlsdGVyKVxuICAgICAgICAgICAgLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgICAgICAgIHR5cGU6IGl0ZW0ub3B0aW9ucy50eXBlID09PSBGaWVsZFR5cGUudGV4dCB8fCBpdGVtLm9wdGlvbnMudHlwZSA9PT0gRmllbGRUeXBlLmxvbmdUZXh0XG4gICAgICAgICAgICAgICAgICA/ICd+PScgYXMgJ349JyA6ICc9JyBhcyAnPScsXG4gICAgICAgICAgICAgIGxhYmVsOiAnTU9ERUwuJyArIGl0ZW0ua2V5LFxuICAgICAgICAgICAgICBmaWVsZFR5cGU6IGl0ZW0ub3B0aW9ucy50eXBlXG4gICAgICAgICAgICB9KSlcbiAgICBdO1xuICAgIHRoaXMuZmlsdGVyJCA9IHRoaXMuZmFjYWRlLmZpbHRlciQ7XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyIFtoaWRkZW5dPVwiaGlkZU1lbnVcIj5cbiAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2VcIj4gPC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgPGlvbi10aXRsZT57eyAnZmlsdGVycycgfCB0cmFuc2xhdGUgfX08L2lvbi10aXRsZT5cbiAgICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuPGlvbi1jb250ZW50IHN0eWxlPVwiaGVpZ2h0OiAxMDB2aDtcIj5cbiAgICA8aW9uLWxpc3Q+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiPlxuICAgICAgICAgICAgPHNtYXJ0LWNydWQtZmlsdGVyIFtpdGVtXT1cIml0ZW1cIiBbZmlsdGVyXT1cImZpbHRlciQgfCBhc3luY1wiPjwvc21hcnQtY3J1ZC1maWx0ZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvaW9uLWxpc3Q+XG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtYm90dG9tLXNwYWNlXCI+XG4gICAgICAgICZuYnNwO1xuICAgIDwvZGl2PlxuPC9pb24tY29udGVudD4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef } from '@angular/core';
|
|
2
|
-
import { map } from "rxjs/operators";
|
|
3
|
-
import { StyleService } from "@smartsoft001/angular";
|
|
4
|
-
import { CrudFacade } from '../../+state/crud.facade';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../+state/crud.facade";
|
|
7
|
-
import * as i2 from "@smartsoft001/angular";
|
|
8
|
-
import * as i3 from "@ionic/angular";
|
|
9
|
-
import * as i4 from "@angular/common";
|
|
10
|
-
import * as i5 from "@ngx-translate/core";
|
|
11
|
-
export class FiltersConfigComponent {
|
|
12
|
-
constructor(facade, styleService, elementRef) {
|
|
13
|
-
this.facade = facade;
|
|
14
|
-
this.styleService = styleService;
|
|
15
|
-
this.elementRef = elementRef;
|
|
16
|
-
}
|
|
17
|
-
onRemoveQuery(item) {
|
|
18
|
-
const index = this.facade.filter.query.indexOf(item);
|
|
19
|
-
if (index > -1) {
|
|
20
|
-
this.facade.filter.query.splice(index, 1);
|
|
21
|
-
}
|
|
22
|
-
this.facade.read(this.facade.filter);
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.styleService.init(this.elementRef);
|
|
26
|
-
this.query$ = this.facade.filter$.pipe(map(filter => {
|
|
27
|
-
return filter?.query?.filter(i => !i.hidden);
|
|
28
|
-
}));
|
|
29
|
-
}
|
|
30
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: FiltersConfigComponent, deps: [{ token: i1.CrudFacade }, { token: i2.StyleService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: FiltersConfigComponent, selector: "smart-crud-filters-config", ngImport: i0, template: " <ng-container *ngIf=\"query$ | async; let query\">\n <ion-toolbar *ngIf=\"query?.length\">\n <ion-chip *ngFor=\"let item of query\" (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">\n <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>\n <ion-label>{{ 'MODEL.' + item.key | translate }} {{ item.type }} {{ item.value | translate }}</ion-label>\n <ion-icon name=\"close\" color=\"danger\"></ion-icon>\n </ion-chip>\n </ion-toolbar>\n</ng-container>", styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}\n"], dependencies: [{ kind: "component", type: i3.IonChip, selector: "ion-chip", inputs: ["color", "disabled", "mode", "outline"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: FiltersConfigComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ selector: 'smart-crud-filters-config', template: " <ng-container *ngIf=\"query$ | async; let query\">\n <ion-toolbar *ngIf=\"query?.length\">\n <ion-chip *ngFor=\"let item of query\" (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">\n <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>\n <ion-label>{{ 'MODEL.' + item.key | translate }} {{ item.type }} {{ item.value | translate }}</ion-label>\n <ion-icon name=\"close\" color=\"danger\"></ion-icon>\n </ion-chip>\n </ion-toolbar>\n</ng-container>", styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}\n"] }]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.CrudFacade }, { type: i2.StyleService }, { type: i0.ElementRef }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMtY29uZmlnL2ZpbHRlcnMtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzLWNvbmZpZy9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU90RCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQ3FCLE1BQXVCLEVBQ2hDLFlBQTBCLEVBQzFCLFVBQXNCO1FBRmIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM5QixDQUFDO0lBRUwsYUFBYSxDQUFDLElBQTBCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLE9BQU8sTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztpSUF6QlUsc0JBQXNCO3FIQUF0QixzQkFBc0IsaUVDZm5DLDJoQkFRZTs7MkZET0Ysc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHttYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQge0lFbnRpdHl9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlXCI7XG5pbXBvcnQge1N0eWxlU2VydmljZX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvYW5ndWxhclwiO1xuXG5pbXBvcnQge0lDcnVkRmlsdGVyUXVlcnlJdGVtfSBmcm9tICcuLi8uLi9tb2RlbHMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSAnLi4vLi4vK3N0YXRlL2NydWQuZmFjYWRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXJzLWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlcnMtY29uZmlnLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0NvbmZpZ0NvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHF1ZXJ5JDogT2JzZXJ2YWJsZTxJQ3J1ZEZpbHRlclF1ZXJ5SXRlbVtdPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlOiBDcnVkRmFjYWRlPGFueT4sXG4gICAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgb25SZW1vdmVRdWVyeShpdGVtOiBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mYWNhZGUuZmlsdGVyLnF1ZXJ5LmluZGV4T2YoaXRlbSk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuZmFjYWRlLmZpbHRlci5xdWVyeS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLmZhY2FkZS5yZWFkKHRoaXMuZmFjYWRlLmZpbHRlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG5cbiAgICB0aGlzLnF1ZXJ5JCA9IHRoaXMuZmFjYWRlLmZpbHRlciQucGlwZShcbiAgICAgICAgbWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbHRlcj8ucXVlcnk/LmZpbHRlcihpID0+ICFpLmhpZGRlbik7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeSQgfCBhc3luYzsgbGV0IHF1ZXJ5XCI+XG4gICAgPGlvbi10b29sYmFyICpuZ0lmPVwicXVlcnk/Lmxlbmd0aFwiPlxuICAgICAgICA8aW9uLWNoaXAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlcnlcIiAoY2xpY2spPVwib25SZW1vdmVRdWVyeShpdGVtKVwiIGNvbG9yPVwibWVkaXVtXCIgb3V0bGluZT1cInRydWVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiZmlsdGVyLWNpcmNsZS1vdXRsaW5lXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgJ01PREVMLicgKyBpdGVtLmtleSB8IHRyYW5zbGF0ZSB9fSB7eyBpdGVtLnR5cGUgfX0ge3sgaXRlbS52YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZVwiIGNvbG9yPVwiZGFuZ2VyXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tY2hpcD5cbiAgICA8L2lvbi10b29sYmFyPlxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, ElementRef, Input } from '@angular/core';
|
|
2
|
-
import { BaseComponent, StyleService } from "@smartsoft001/angular";
|
|
3
|
-
import { CrudFacade } from "../../+state/crud.facade";
|
|
4
|
-
import { CrudListGroupService } from "../../services/list-group/list-group.service";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@smartsoft001/angular";
|
|
7
|
-
import * as i2 from "../../+state/crud.facade";
|
|
8
|
-
import * as i3 from "../../services/list-group/list-group.service";
|
|
9
|
-
import * as i4 from "@angular/common";
|
|
10
|
-
import * as i5 from "@ngx-translate/core";
|
|
11
|
-
export class GroupComponent extends BaseComponent {
|
|
12
|
-
constructor(styleService, elementRef, facade, cd, groupService) {
|
|
13
|
-
super();
|
|
14
|
-
this.styleService = styleService;
|
|
15
|
-
this.elementRef = elementRef;
|
|
16
|
-
this.facade = facade;
|
|
17
|
-
this.cd = cd;
|
|
18
|
-
this.groupService = groupService;
|
|
19
|
-
}
|
|
20
|
-
change(val, item, force = false) {
|
|
21
|
-
this.groups.filter(i => i.value !== item.value || i.key !== item.key).forEach(i => {
|
|
22
|
-
i.show = false;
|
|
23
|
-
});
|
|
24
|
-
this.groupService.change(val, item, this.groups, force);
|
|
25
|
-
if (val) {
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
item.show = val;
|
|
28
|
-
this.cd.detectChanges();
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
item.show = val;
|
|
33
|
-
this.cd.detectChanges();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.styleService.init(this.elementRef);
|
|
38
|
-
}
|
|
39
|
-
ngOnDestroy() {
|
|
40
|
-
this.groupService.destroy(this.groups);
|
|
41
|
-
super.ngOnDestroy();
|
|
42
|
-
}
|
|
43
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupComponent, deps: [{ token: i1.StyleService }, { token: i0.ElementRef }, { token: i2.CrudFacade }, { token: i0.ChangeDetectorRef }, { token: i3.CrudListGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: GroupComponent, selector: "smart-crud-group", inputs: { groups: "groups", listOptions: "listOptions" }, usesInheritance: true, ngImport: i0, template: "<smart-accordion *ngFor=\"let item of groups\" [(show)]=\"item.show\" (showChange)=\"change($event, item)\">\n <smart-accordion-header [ngClass]=\"{ 'accordion-show': item.show }\">{{ item.text | translate }}</smart-accordion-header>\n <smart-accordion-body>\n <smart-list *ngIf=\"item.show && !item.children && listOptions\" [options]=\"listOptions\"></smart-list>\n <div *ngIf=\"item.children\" style=\"margin-left: 50px\">\n <smart-crud-group [groups]=\"item.children\" [listOptions]=\"listOptions\"></smart-crud-group>\n </div>\n </smart-accordion-body>\n</smart-accordion>\n<br/><br/><br/>", styles: [".accordion-show{font-weight:bolder}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ListComponent, selector: "smart-list", inputs: ["options"] }, { kind: "component", type: i1.AccordionComponent, selector: "smart-accordion", inputs: ["show"], outputs: ["showChange"] }, { kind: "component", type: i1.AccordionHeaderComponent, selector: "smart-accordion-header" }, { kind: "component", type: i1.AccordionBodyComponent, selector: "smart-accordion-body" }, { kind: "component", type: GroupComponent, selector: "smart-crud-group", inputs: ["groups", "listOptions"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
45
|
-
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupComponent, decorators: [{
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{ selector: 'smart-crud-group', template: "<smart-accordion *ngFor=\"let item of groups\" [(show)]=\"item.show\" (showChange)=\"change($event, item)\">\n <smart-accordion-header [ngClass]=\"{ 'accordion-show': item.show }\">{{ item.text | translate }}</smart-accordion-header>\n <smart-accordion-body>\n <smart-list *ngIf=\"item.show && !item.children && listOptions\" [options]=\"listOptions\"></smart-list>\n <div *ngIf=\"item.children\" style=\"margin-left: 50px\">\n <smart-crud-group [groups]=\"item.children\" [listOptions]=\"listOptions\"></smart-crud-group>\n </div>\n </smart-accordion-body>\n</smart-accordion>\n<br/><br/><br/>", styles: [".accordion-show{font-weight:bolder}\n"] }]
|
|
49
|
-
}], ctorParameters: function () { return [{ type: i1.StyleService }, { type: i0.ElementRef }, { type: i2.CrudFacade }, { type: i0.ChangeDetectorRef }, { type: i3.CrudListGroupService }]; }, propDecorators: { groups: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], listOptions: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwL2dyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxhQUFhLEVBQWdCLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBSWhGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7OztBQU9sRixNQUFNLE9BQU8sY0FBMEMsU0FBUSxhQUFhO0lBSXhFLFlBQ1ksWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsTUFBcUIsRUFDckIsRUFBcUIsRUFDckIsWUFBcUM7UUFFN0MsS0FBSyxFQUFFLENBQUM7UUFOQSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQXlCO0lBR2pELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFLElBQW9CLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlFLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhELElBQUksR0FBRyxFQUFFO1lBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7aUlBdkNRLGNBQWM7cUhBQWQsY0FBYyx5SUNkM0IsNm5CQVNlLDh5QkRLRixjQUFjOzsyRkFBZCxjQUFjO2tCQUwxQixTQUFTOytCQUNJLGtCQUFrQjt3TkFLbkIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudCwgSUxpc3RPcHRpb25zLCBTdHlsZVNlcnZpY2V9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtJQ3J1ZExpc3RHcm91cH0gZnJvbSBcIi4uLy4uL21vZGVscy9pbnRlcmZhY2VzXCI7XG5pbXBvcnQge0NydWRGYWNhZGV9IGZyb20gXCIuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGVcIjtcbmltcG9ydCB7Q3J1ZExpc3RHcm91cFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9saXN0LWdyb3VwL2xpc3QtZ3JvdXAuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ3JvdXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcm91cENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZ3JvdXBzOiBBcnJheTxJQ3J1ZExpc3RHcm91cD47XG4gICAgQElucHV0KCkgbGlzdE9wdGlvbnM6IElMaXN0T3B0aW9uczxUPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZmFjYWRlOiBDcnVkRmFjYWRlPFQ+LFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBncm91cFNlcnZpY2U6IENydWRMaXN0R3JvdXBTZXJ2aWNlPFQ+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgY2hhbmdlKHZhbCwgaXRlbTogSUNydWRMaXN0R3JvdXAsIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cHMuZmlsdGVyKGkgPT4gaS52YWx1ZSAhPT0gaXRlbS52YWx1ZSB8fCBpLmtleSAhPT0gaXRlbS5rZXkpLmZvckVhY2goaSA9PiB7XG4gICAgICAgICAgICBpLnNob3cgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ncm91cFNlcnZpY2UuY2hhbmdlKHZhbCwgaXRlbSwgdGhpcy5ncm91cHMsIGZvcmNlKTtcblxuICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLnNob3cgPSB2YWw7XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW0uc2hvdyA9IHZhbDtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmluaXQodGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cFNlcnZpY2UuZGVzdHJveSh0aGlzLmdyb3Vwcyk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPHNtYXJ0LWFjY29yZGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cHNcIiBbKHNob3cpXT1cIml0ZW0uc2hvd1wiIChzaG93Q2hhbmdlKT1cImNoYW5nZSgkZXZlbnQsIGl0ZW0pXCI+XG4gICAgPHNtYXJ0LWFjY29yZGlvbi1oZWFkZXIgW25nQ2xhc3NdPVwieyAnYWNjb3JkaW9uLXNob3cnOiBpdGVtLnNob3cgfVwiPnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB9fTwvc21hcnQtYWNjb3JkaW9uLWhlYWRlcj5cbiAgICA8c21hcnQtYWNjb3JkaW9uLWJvZHk+XG4gICAgICAgIDxzbWFydC1saXN0ICpuZ0lmPVwiaXRlbS5zaG93ICYmICFpdGVtLmNoaWxkcmVuICYmIGxpc3RPcHRpb25zXCIgW29wdGlvbnNdPVwibGlzdE9wdGlvbnNcIj48L3NtYXJ0LWxpc3Q+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmNoaWxkcmVuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogNTBweFwiPlxuICAgICAgICAgICAgPHNtYXJ0LWNydWQtZ3JvdXAgW2dyb3Vwc109XCJpdGVtLmNoaWxkcmVuXCIgW2xpc3RPcHRpb25zXT1cImxpc3RPcHRpb25zXCI+PC9zbWFydC1jcnVkLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NtYXJ0LWFjY29yZGlvbi1ib2R5PlxuPC9zbWFydC1hY2NvcmRpb24+XG48YnIvPjxici8+PGJyLz4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./export/export.component";
|
|
2
|
-
export * from "./filter";
|
|
3
|
-
export * from "./filters/filters.component";
|
|
4
|
-
export * from "./filters-config/filters-config.component";
|
|
5
|
-
export * from "./multiselect/multiselect.component";
|
|
6
|
-
export * from "./group/group.component";
|
|
7
|
-
export * from "./components.module";
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9leHBvcnQvZXhwb3J0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXJzLWNvbmZpZy9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3JvdXAvZ3JvdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzLm1vZHVsZVwiOyJdfQ==
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { tap } from "rxjs/operators";
|
|
3
|
-
import * as _ from "lodash";
|
|
4
|
-
import { getModelFieldsWithOptions } from "@smartsoft001/models";
|
|
5
|
-
import { MenuService } from "@smartsoft001/angular";
|
|
6
|
-
import { CrudFacade } from "../../+state/crud.facade";
|
|
7
|
-
import { CrudFullConfig } 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 "@smartsoft001/angular";
|
|
12
|
-
import * as i4 from "@ionic/angular";
|
|
13
|
-
import * as i5 from "@angular/common";
|
|
14
|
-
import * as i6 from "ng-dynamic-component";
|
|
15
|
-
import * as i7 from "@ngx-translate/core";
|
|
16
|
-
import * as i8 from "../../pipes/form-options/form-options.pipe";
|
|
17
|
-
export class MultiselectComponent {
|
|
18
|
-
constructor(facade, config, menuService) {
|
|
19
|
-
this.facade = facade;
|
|
20
|
-
this.config = config;
|
|
21
|
-
this.menuService = menuService;
|
|
22
|
-
this.buttonOptions = {
|
|
23
|
-
click: async () => {
|
|
24
|
-
const result = this._list.map(item => {
|
|
25
|
-
return {
|
|
26
|
-
...this._changes,
|
|
27
|
-
id: item.id
|
|
28
|
-
};
|
|
29
|
-
});
|
|
30
|
-
this.facade.updatePartialMany(result);
|
|
31
|
-
await this.menuService.closeEnd();
|
|
32
|
-
},
|
|
33
|
-
confirm: true
|
|
34
|
-
};
|
|
35
|
-
this.showForm = false;
|
|
36
|
-
this.list$ = this.facade.multiSelected$.pipe(tap(list => {
|
|
37
|
-
this.lock = true;
|
|
38
|
-
const model = new this.config.type();
|
|
39
|
-
const fieldsWithOptions = getModelFieldsWithOptions(model)
|
|
40
|
-
.filter(f => f.options.update?.multi);
|
|
41
|
-
this.showForm = !!fieldsWithOptions.length;
|
|
42
|
-
fieldsWithOptions.forEach(({ key }) => {
|
|
43
|
-
const uniques = _.uniq(list.map(i => i[key]));
|
|
44
|
-
if (uniques.length === 1) {
|
|
45
|
-
model[key] = uniques[0];
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
this.item = model;
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
async onClose() {
|
|
52
|
-
await this.menuService.closeEnd();
|
|
53
|
-
}
|
|
54
|
-
onPartialChange(changes, list) {
|
|
55
|
-
this.lock = false;
|
|
56
|
-
this._list = list;
|
|
57
|
-
this._changes = changes;
|
|
58
|
-
}
|
|
59
|
-
onValidChange(valid) {
|
|
60
|
-
this.valid = valid;
|
|
61
|
-
}
|
|
62
|
-
ngOnInit() {
|
|
63
|
-
}
|
|
64
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: MultiselectComponent, deps: [{ token: i1.CrudFacade }, { token: i2.CrudFullConfig }, { token: i3.MenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: MultiselectComponent, selector: "smart-crud-multiselect", ngImport: i0, template: "<ng-container *ngIf=\"list$ | async; let list\">\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"onClose()\">\n <ion-icon slot=\"icon-only\" name=\"close\"> </ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title>{{ 'selected' | translate }}: {{ list?.length }}</ion-title>\n </ion-toolbar>\n </ion-header>\n\n <div *ngIf=\"config?.list?.components?.multi\">\n <ng-template [ngComponentOutlet]=\"config?.list?.components?.multi\"\n [ndcDynamicInputs]=\"{ items: list }\"\n ></ng-template>\n </div>\n\n <div *ngIf=\"showForm && item\">\n <smart-form [options]=\"item | smartFormOptions : 'multiUpdate' : config.type\" (valuePartialChange)=\"onPartialChange($event, list)\" (validChange)=\"onValidChange($event)\"></smart-form>\n\n <smart-button style=\"float: right\" [disabled]=\"lock || !valid\" [options]=\"buttonOptions\">{{ 'change' | translate }}</smart-button>\n </div>\n</ng-container>", styles: [":host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}}:host ion-toolbar.ios{height:4.6rem;--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}@media only screen and (max-width: 420px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}:host ion-toolbar ion-menu-button{color:var(--ion-color-light)}:host ion-toolbar ion-buttons.ios{height:var(--smart-button-height);margin:0}\n"], dependencies: [{ kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FormComponent, selector: "smart-form", inputs: ["options"], outputs: ["invokeSubmit", "valueChange", "valuePartialChange", "validChange"] }, { kind: "component", type: i3.ButtonComponent, selector: "smart-button", inputs: ["options", "disabled"] }, { kind: "directive", type: i6.DynamicIoDirective, selector: "[ndcDynamicInputs],[ndcDynamicOutputs]", inputs: ["ndcDynamicInputs", "ndcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "directive", type: i6.ComponentOutletInjectorDirective, selector: "[ngComponentOutlet]", exportAs: ["ndcComponentOutletInjector"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.FormOptionsPipe, name: "smartFormOptions" }] }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: MultiselectComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'smart-crud-multiselect', template: "<ng-container *ngIf=\"list$ | async; let list\">\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"onClose()\">\n <ion-icon slot=\"icon-only\" name=\"close\"> </ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title>{{ 'selected' | translate }}: {{ list?.length }}</ion-title>\n </ion-toolbar>\n </ion-header>\n\n <div *ngIf=\"config?.list?.components?.multi\">\n <ng-template [ngComponentOutlet]=\"config?.list?.components?.multi\"\n [ndcDynamicInputs]=\"{ items: list }\"\n ></ng-template>\n </div>\n\n <div *ngIf=\"showForm && item\">\n <smart-form [options]=\"item | smartFormOptions : 'multiUpdate' : config.type\" (valuePartialChange)=\"onPartialChange($event, list)\" (validChange)=\"onValidChange($event)\"></smart-form>\n\n <smart-button style=\"float: right\" [disabled]=\"lock || !valid\" [options]=\"buttonOptions\">{{ 'change' | translate }}</smart-button>\n </div>\n</ng-container>", styles: [":host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}}:host ion-toolbar.ios{height:4.6rem;--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}@media only screen and (max-width: 420px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}:host ion-toolbar ion-menu-button{color:var(--ion-color-light)}:host ion-toolbar ion-buttons.ios{height:var(--smart-button-height);margin:0}\n"] }]
|
|
70
|
-
}], ctorParameters: function () { return [{ type: i1.CrudFacade }, { type: i2.CrudFullConfig }, { type: i3.MenuService }]; } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aXNlbGVjdC9tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMseUJBQXlCLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFpQixXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFhLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBTzdELE1BQU0sT0FBTyxvQkFBb0I7SUF5QjdCLFlBQ1ksTUFBcUIsRUFDdEIsTUFBeUIsRUFDeEIsV0FBd0I7UUFGeEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXRCcEMsa0JBQWEsR0FBbUI7WUFDNUIsS0FBSyxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUNkLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNqQyxPQUFPO3dCQUNILEdBQUcsSUFBSSxDQUFDLFFBQVE7d0JBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtxQkFDZCxDQUFBO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQTtRQUVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDeEMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXJDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDO2lCQUNyRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBRTNDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtnQkFDbEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFOUMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDM0I7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDVCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFtQixFQUFFLElBQWM7UUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztpSUFyRVEsb0JBQW9CO3FIQUFwQixvQkFBb0IsOERDakJqQyxza0NBdUJlOzsyRkRORixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRW50aXR5fSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZVwiO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7dGFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuXG5pbXBvcnQge2dldE1vZGVsRmllbGRzV2l0aE9wdGlvbnMsIElGaWVsZEVkaXRNZXRhZGF0YX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvbW9kZWxzXCI7XG5pbXBvcnQge0lCdXR0b25PcHRpb25zLCBNZW51U2VydmljZX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvYW5ndWxhclwiO1xuXG5pbXBvcnQge0NydWRGYWNhZGV9IGZyb20gXCIuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGVcIjtcbmltcG9ydCB7Q3J1ZENvbmZpZywgQ3J1ZEZ1bGxDb25maWd9IGZyb20gXCIuLi8uLi9jcnVkLmNvbmZpZ1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtbXVsdGlzZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGlzZWxlY3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXNlbGVjdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfbGlzdDogQXJyYXk8VD47XG4gICAgcHJpdmF0ZSBfY2hhbmdlczogUGFydGlhbDxUPlxuXG4gICAgaXRlbTogVDtcbiAgICB2YWxpZDogYm9vbGVhbjtcbiAgICBidXR0b25PcHRpb25zOiBJQnV0dG9uT3B0aW9ucyA9IHtcbiAgICAgICAgY2xpY2s6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2xpc3QubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuX2NoYW5nZXMsXG4gICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVBhcnRpYWxNYW55KHJlc3VsdCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpcm06IHRydWVcbiAgICB9XG4gICAgbG9jazogYm9vbGVhbjtcbiAgICBzaG93Rm9ybSA9IGZhbHNlO1xuXG4gICAgbGlzdCQ6IE9ic2VydmFibGU8VFtdPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZhY2FkZTogQ3J1ZEZhY2FkZTxUPixcbiAgICAgICAgcHVibGljIGNvbmZpZzogQ3J1ZEZ1bGxDb25maWc8VD4sXG4gICAgICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMubGlzdCQgPSB0aGlzLmZhY2FkZS5tdWx0aVNlbGVjdGVkJC5waXBlKFxuICAgICAgICAgICAgdGFwKGxpc3QgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jayA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgdGhpcy5jb25maWcudHlwZSgpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzV2l0aE9wdGlvbnMgPSBnZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zKG1vZGVsKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGYgPT4gKGYub3B0aW9ucy51cGRhdGUgYXMgSUZpZWxkRWRpdE1ldGFkYXRhKT8ubXVsdGkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybSA9ICEhZmllbGRzV2l0aE9wdGlvbnMubGVuZ3RoO1xuXG4gICAgICAgICAgICAgICAgZmllbGRzV2l0aE9wdGlvbnMuZm9yRWFjaCgoeyBrZXkgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1bmlxdWVzID0gXy51bmlxKGxpc3QubWFwKGkgPT4gaVtrZXldKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuaXF1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbFtrZXldID0gdW5pcXVlc1swXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtID0gbW9kZWw7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIG9uQ2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcbiAgICB9XG5cbiAgICBvblBhcnRpYWxDaGFuZ2UoY2hhbmdlczogUGFydGlhbDxUPiwgbGlzdDogQXJyYXk8VD4pIHtcbiAgICAgICAgdGhpcy5sb2NrID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2xpc3QgPSBsaXN0O1xuICAgICAgICB0aGlzLl9jaGFuZ2VzID0gY2hhbmdlcztcbiAgICB9XG5cbiAgICBvblZhbGlkQ2hhbmdlKHZhbGlkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudmFsaWQgPSB2YWxpZDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIH1cbn0iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdCQgfCBhc3luYzsgbGV0IGxpc3RcIj5cbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+IDwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgICAgIDxpb24tdGl0bGU+e3sgJ3NlbGVjdGVkJyB8IHRyYW5zbGF0ZSB9fToge3sgbGlzdD8ubGVuZ3RoIH19PC9pb24tdGl0bGU+XG4gICAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgPC9pb24taGVhZGVyPlxuXG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZz8ubGlzdD8uY29tcG9uZW50cz8ubXVsdGlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0NvbXBvbmVudE91dGxldF09XCJjb25maWc/Lmxpc3Q/LmNvbXBvbmVudHM/Lm11bHRpXCJcbiAgICAgICAgICAgICAgICAgICAgIFtuZGNEeW5hbWljSW5wdXRzXT1cInsgaXRlbXM6IGxpc3QgfVwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cInNob3dGb3JtICYmIGl0ZW1cIj5cbiAgICAgICAgPHNtYXJ0LWZvcm0gW29wdGlvbnNdPVwiaXRlbSB8IHNtYXJ0Rm9ybU9wdGlvbnMgOiAnbXVsdGlVcGRhdGUnIDogY29uZmlnLnR5cGVcIiAodmFsdWVQYXJ0aWFsQ2hhbmdlKT1cIm9uUGFydGlhbENoYW5nZSgkZXZlbnQsIGxpc3QpXCIgKHZhbGlkQ2hhbmdlKT1cIm9uVmFsaWRDaGFuZ2UoJGV2ZW50KVwiPjwvc21hcnQtZm9ybT5cblxuICAgICAgICA8c21hcnQtYnV0dG9uIHN0eWxlPVwiZmxvYXQ6IHJpZ2h0XCIgW2Rpc2FibGVkXT1cImxvY2sgfHwgIXZhbGlkXCIgW29wdGlvbnNdPVwiYnV0dG9uT3B0aW9uc1wiPnt7ICdjaGFuZ2UnIHwgdHJhbnNsYXRlIH19PC9zbWFydC1idXR0b24+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { RouterModule } from "@angular/router";
|
|
3
|
-
import { Store, StoreModule } from "@ngrx/store";
|
|
4
|
-
import { FormsModule } from "@angular/forms";
|
|
5
|
-
import { CommonModule } from "@angular/common";
|
|
6
|
-
import { NgrxStoreService, SharedModule } from "@smartsoft001/angular";
|
|
7
|
-
import { CrudConfig } from "./crud.config";
|
|
8
|
-
import { CrudEffects } from "./+state/crud.effects";
|
|
9
|
-
import { getReducer } from "./+state/crud.reducer";
|
|
10
|
-
import { ListComponent } from "./pages/list/list.component";
|
|
11
|
-
import { ItemComponent } from "./pages/item/item.component";
|
|
12
|
-
import { CrudPipesModule } from "./pipes/pipes.module";
|
|
13
|
-
import { CrudService } from './services/crud/crud.service';
|
|
14
|
-
import { CrudFacade } from './+state/crud.facade';
|
|
15
|
-
import { CrudListPaginationFactory } from "./factories/list-pagination/list-pagination.factory";
|
|
16
|
-
import { CrudComponentsModule } from "./components/components.module";
|
|
17
|
-
import { PageService } from "./services/page/page.service";
|
|
18
|
-
import { ListStandardComponent } from "./pages/list/standard/standard.component";
|
|
19
|
-
import { ItemStandardComponent } from "./pages/item/standard/standard.component";
|
|
20
|
-
import { CrudListGroupService } from "./services/list-group/list-group.service";
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "@ngrx/store";
|
|
23
|
-
import * as i2 from "./crud.config";
|
|
24
|
-
import * as i3 from "./+state/crud.effects";
|
|
25
|
-
import * as i4 from "@angular/router";
|
|
26
|
-
export const PAGES = [
|
|
27
|
-
ItemComponent,
|
|
28
|
-
ListComponent,
|
|
29
|
-
ListStandardComponent,
|
|
30
|
-
ItemStandardComponent
|
|
31
|
-
];
|
|
32
|
-
export class CrudFullModule {
|
|
33
|
-
constructor(store, config, effects) {
|
|
34
|
-
NgrxStoreService.addReducer(config.entity, config.reducerFactory
|
|
35
|
-
? config.reducerFactory()
|
|
36
|
-
: getReducer(config.entity));
|
|
37
|
-
effects.init();
|
|
38
|
-
}
|
|
39
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudFullModule, deps: [{ token: i1.Store }, { token: i2.CrudConfig }, { token: i3.CrudEffects }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
40
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: CrudFullModule, declarations: [ItemComponent,
|
|
41
|
-
ListComponent,
|
|
42
|
-
ListStandardComponent,
|
|
43
|
-
ItemStandardComponent], imports: [StoreModule,
|
|
44
|
-
SharedModule,
|
|
45
|
-
CrudPipesModule, i4.RouterModule, FormsModule,
|
|
46
|
-
CommonModule,
|
|
47
|
-
CrudComponentsModule], exports: [ItemComponent,
|
|
48
|
-
ListComponent,
|
|
49
|
-
ListStandardComponent,
|
|
50
|
-
ItemStandardComponent, CrudComponentsModule] }); }
|
|
51
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudFullModule, providers: [
|
|
52
|
-
CrudService,
|
|
53
|
-
CrudListGroupService,
|
|
54
|
-
PageService,
|
|
55
|
-
CrudEffects,
|
|
56
|
-
CrudFacade,
|
|
57
|
-
CrudListPaginationFactory,
|
|
58
|
-
], imports: [StoreModule,
|
|
59
|
-
SharedModule,
|
|
60
|
-
CrudPipesModule,
|
|
61
|
-
RouterModule.forChild([
|
|
62
|
-
{ path: '', component: ListComponent },
|
|
63
|
-
{ path: 'add', component: ItemComponent },
|
|
64
|
-
{ path: ':id', component: ItemComponent }
|
|
65
|
-
]),
|
|
66
|
-
FormsModule,
|
|
67
|
-
CommonModule,
|
|
68
|
-
CrudComponentsModule, CrudComponentsModule] }); }
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudFullModule, decorators: [{
|
|
71
|
-
type: NgModule,
|
|
72
|
-
args: [{
|
|
73
|
-
declarations: [
|
|
74
|
-
...PAGES
|
|
75
|
-
],
|
|
76
|
-
imports: [
|
|
77
|
-
StoreModule,
|
|
78
|
-
SharedModule,
|
|
79
|
-
CrudPipesModule,
|
|
80
|
-
RouterModule.forChild([
|
|
81
|
-
{ path: '', component: ListComponent },
|
|
82
|
-
{ path: 'add', component: ItemComponent },
|
|
83
|
-
{ path: ':id', component: ItemComponent }
|
|
84
|
-
]),
|
|
85
|
-
FormsModule,
|
|
86
|
-
CommonModule,
|
|
87
|
-
CrudComponentsModule
|
|
88
|
-
],
|
|
89
|
-
exports: [
|
|
90
|
-
...PAGES,
|
|
91
|
-
CrudComponentsModule
|
|
92
|
-
],
|
|
93
|
-
providers: [
|
|
94
|
-
CrudService,
|
|
95
|
-
CrudListGroupService,
|
|
96
|
-
PageService,
|
|
97
|
-
CrudEffects,
|
|
98
|
-
CrudFacade,
|
|
99
|
-
CrudListPaginationFactory,
|
|
100
|
-
]
|
|
101
|
-
}]
|
|
102
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.CrudConfig }, { type: i3.CrudEffects }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY3J1ZC1mdWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7OztBQUU5RSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDakIsYUFBYTtJQUNiLGFBQWE7SUFDYixxQkFBcUI7SUFDckIscUJBQXFCO0NBQ3hCLENBQUM7QUFnQ0YsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBWSxLQUFpQixFQUFFLE1BQXFCLEVBQUUsT0FBeUI7UUFDM0UsZ0JBQWdCLENBQUMsVUFBVSxDQUN2QixNQUFNLENBQUMsTUFBTSxFQUNiLE1BQU0sQ0FBQyxjQUFjO1lBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUNsQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7aUlBVFEsY0FBYztrSUFBZCxjQUFjLGlCQXBDdkIsYUFBYTtZQUNiLGFBQWE7WUFDYixxQkFBcUI7WUFDckIscUJBQXFCLGFBUWpCLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZSxtQkFNZixXQUFXO1lBQ1gsWUFBWTtZQUNaLG9CQUFvQixhQXJCeEIsYUFBYTtZQUNiLGFBQWE7WUFDYixxQkFBcUI7WUFDckIscUJBQXFCLEVBc0JqQixvQkFBb0I7a0lBV2YsY0FBYyxhQVRaO1lBQ1AsV0FBVztZQUNYLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsV0FBVztZQUNYLFVBQVU7WUFDVix5QkFBeUI7U0FDNUIsWUF2QkcsV0FBVztZQUNYLFlBQVk7WUFDWixlQUFlO1lBQ2YsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7Z0JBQ3RDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO2dCQUN6QyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTthQUM1QyxDQUFDO1lBQ0YsV0FBVztZQUNYLFlBQVk7WUFDWixvQkFBb0IsRUFJcEIsb0JBQW9COzsyRkFXZixjQUFjO2tCQTlCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsR0FBRyxLQUFLO3FCQUNYO29CQUNELE9BQU8sRUFBRTt3QkFDTCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNsQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTs0QkFDdEMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7NEJBQ3pDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO3lCQUM1QyxDQUFDO3dCQUNGLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxHQUFHLEtBQUs7d0JBQ1Isb0JBQW9CO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLHlCQUF5QjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7U3RvcmUsIFN0b3JlTW9kdWxlfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHtOZ3J4U3RvcmVTZXJ2aWNlLCBTaGFyZWRNb2R1bGV9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtDcnVkQ29uZmlnfSBmcm9tIFwiLi9jcnVkLmNvbmZpZ1wiO1xuaW1wb3J0IHtDcnVkRWZmZWN0c30gZnJvbSBcIi4vK3N0YXRlL2NydWQuZWZmZWN0c1wiO1xuaW1wb3J0IHtnZXRSZWR1Y2VyfSBmcm9tIFwiLi8rc3RhdGUvY3J1ZC5yZWR1Y2VyXCI7XG5pbXBvcnQge0xpc3RDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2xpc3QvbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7SXRlbUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvaXRlbS9pdGVtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDcnVkUGlwZXNNb2R1bGV9IGZyb20gXCIuL3BpcGVzL3BpcGVzLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQge0NydWRMaXN0UGFnaW5hdGlvbkZhY3Rvcnl9IGZyb20gXCIuL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnlcIjtcbmltcG9ydCB7Q3J1ZENvbXBvbmVudHNNb2R1bGV9IGZyb20gXCIuL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGVcIjtcbmltcG9ydCB7UGFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3BhZ2UvcGFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0xpc3RTdGFuZGFyZENvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvbGlzdC9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnRcIjtcbmltcG9ydCB7SXRlbVN0YW5kYXJkQ29tcG9uZW50fSBmcm9tIFwiLi9wYWdlcy9pdGVtL3N0YW5kYXJkL3N0YW5kYXJkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDcnVkTGlzdEdyb3VwU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvbGlzdC1ncm91cC9saXN0LWdyb3VwLnNlcnZpY2VcIjtcblxuZXhwb3J0IGNvbnN0IFBBR0VTID0gW1xuICAgIEl0ZW1Db21wb25lbnQsXG4gICAgTGlzdENvbXBvbmVudCxcbiAgICBMaXN0U3RhbmRhcmRDb21wb25lbnQsXG4gICAgSXRlbVN0YW5kYXJkQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICAuLi5QQUdFU1xuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBTdG9yZU1vZHVsZSxcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBDcnVkUGlwZXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXG4gICAgICAgICAgICB7IHBhdGg6ICcnLCBjb21wb25lbnQ6IExpc3RDb21wb25lbnQgfSxcbiAgICAgICAgICAgIHsgcGF0aDogJ2FkZCcsIGNvbXBvbmVudDogSXRlbUNvbXBvbmVudCB9LFxuICAgICAgICAgICAgeyBwYXRoOiAnOmlkJywgY29tcG9uZW50OiBJdGVtQ29tcG9uZW50IH1cbiAgICAgICAgXSksXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENydWRDb21wb25lbnRzTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIC4uLlBBR0VTLFxuICAgICAgICBDcnVkQ29tcG9uZW50c01vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENydWRTZXJ2aWNlLFxuICAgICAgICBDcnVkTGlzdEdyb3VwU2VydmljZSxcbiAgICAgICAgUGFnZVNlcnZpY2UsXG4gICAgICAgIENydWRFZmZlY3RzLFxuICAgICAgICBDcnVkRmFjYWRlLFxuICAgICAgICBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5LFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZEZ1bGxNb2R1bGU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICAgIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZTxhbnk+LCBjb25maWc6IENydWRDb25maWc8VD4sIGVmZmVjdHM6IENydWRFZmZlY3RzPGFueT4pIHtcbiAgICAgICAgTmdyeFN0b3JlU2VydmljZS5hZGRSZWR1Y2VyKFxuICAgICAgICAgICAgY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgIGNvbmZpZy5yZWR1Y2VyRmFjdG9yeVxuICAgICAgICAgICAgICAgID8gY29uZmlnLnJlZHVjZXJGYWN0b3J5KClcbiAgICAgICAgICAgICAgICA6IGdldFJlZHVjZXIoY29uZmlnLmVudGl0eSlcbiAgICAgICAgKTtcbiAgICAgICAgZWZmZWN0cy5pbml0KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CrudConfig {
|
|
4
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudConfig }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudConfig, decorators: [{
|
|
8
|
-
type: Injectable
|
|
9
|
-
}] });
|
|
10
|
-
export class CrudFullConfig extends CrudConfig {
|
|
11
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudFullConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudFullConfig }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CrudFullConfig, decorators: [{
|
|
15
|
-
type: Injectable
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NydWQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQU8sTUFBTSxlQUFlLENBQUM7O0FBUy9DLE1BQU0sT0FBTyxVQUFVO2lJQUFWLFVBQVU7cUlBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVTs7QUFVWCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxVQUFhO2lJQUF2QyxjQUFjO3FJQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFR5cGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7XG4gICAgSUljb25CdXR0b25PcHRpb25zLCBJQ2VsbFBpcGUsIElucHV0QmFzZUNvbXBvbmVudCwgTGlzdE1vZGUsIFBhZ2luYXRpb25Nb2RlXG59IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcblxuaW1wb3J0IHtJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSwgSUNydWRMaXN0R3JvdXB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZENvbmZpZzxUPiB7XG4gICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgZW50aXR5OiBzdHJpbmc7XG4gICAgdHlwZT86IGFueTtcbiAgICByZWR1Y2VyRmFjdG9yeT86ICgpID0+IGFueTtcbiAgICBiYXNlUXVlcnk/OiBBcnJheTxJQ3J1ZEZpbHRlclF1ZXJ5SXRlbT47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcnVkRnVsbENvbmZpZzxUPiBleHRlbmRzIENydWRDb25maWc8VD4ge1xuICAgIHR5cGU6IGFueTtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRldGFpbHM/OiBib29sZWFuIHwge1xuICAgICAgICBjZWxsUGlwZT86IElDZWxsUGlwZTxUPjtcbiAgICAgICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgICAgIHRvcD86IGFueSxcbiAgICAgICAgICAgIGJvdHRvbT86IGFueVxuICAgICAgICB9XG4gICAgfTtcbiAgICBlZGl0PzogYm9vbGVhbiB8IHtcbiAgICAgICAgY2VsbFBpcGU/OiBJQ2VsbFBpcGU8VD47XG4gICAgICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICAgICAgICB0b3A/OiBhbnksXG4gICAgICAgICAgICBib3R0b20/OiBhbnlcbiAgICAgICAgfVxuICAgIH07XG4gICAgYWRkPzogYm9vbGVhbiB8IHtcbiAgICAgICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgICAgIHRvcD86IGFueSxcbiAgICAgICAgICAgIGJvdHRvbT86IGFueVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZW1vdmU/OiBib29sZWFuO1xuICAgIHNlYXJjaD86IGJvb2xlYW47XG4gICAgZXhwb3J0PzogYm9vbGVhbjtcbiAgICBwYWdpbmF0aW9uPzoge1xuICAgICAgICBsaW1pdDogbnVtYmVyLFxuICAgIH07XG4gICAgc29ydD86IGJvb2xlYW4gfCB7XG4gICAgICAgIGRlZmF1bHQ/OiBzdHJpbmc7XG4gICAgICAgIGRlZmF1bHREZXNjPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIGxpc3Q/OiB7XG4gICAgICAgIGNlbGxQaXBlPzogSUNlbGxQaXBlPFQ+O1xuICAgICAgICBjb21wb25lbnRzPzoge1xuICAgICAgICAgICAgdG9wPzogYW55LFxuICAgICAgICAgICAgbXVsdGk/OiBhbnlcbiAgICAgICAgfSxcbiAgICAgICAgbW9kZT86IExpc3RNb2RlLFxuICAgICAgICBwYWdpbmF0aW9uTW9kZT86IFBhZ2luYXRpb25Nb2RlLFxuICAgICAgICByZXNldFF1ZXJ5PzogXCJiZWZvcmVJbml0XCJcbiAgICAgICAgZ3JvdXBzPzogQXJyYXk8SUNydWRMaXN0R3JvdXA+XG4gICAgfTtcbiAgICBidXR0b25zPzogQXJyYXk8SUljb25CdXR0b25PcHRpb25zPjtcbiAgICBpbnB1dENvbXBvbmVudHM/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IFR5cGU8SW5wdXRCYXNlQ29tcG9uZW50PFQ+PlxuICAgIH1cbn1cbiJdfQ==
|