@smartsoft001/crud-shell-angular 1.1.542 → 1.1.546
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/bundles/smartsoft001-crud-shell-angular.umd.js +162 -27
- package/bundles/smartsoft001-crud-shell-angular.umd.js.map +1 -1
- package/esm2015/lib/+state/crud.effects.js +8 -1
- package/esm2015/lib/+state/crud.effects.js.map +1 -1
- package/esm2015/lib/+state/crud.facade.js +8 -1
- package/esm2015/lib/+state/crud.facade.js.map +1 -1
- package/esm2015/lib/components/components.module.js +1 -0
- package/esm2015/lib/components/components.module.js.map +1 -1
- package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/export/export.component.js +9 -2
- package/esm2015/lib/components/export/export.component.js.map +1 -1
- package/esm2015/lib/components/export/export.component.metadata.json +1 -1
- package/esm2015/lib/components/filter/base/base.component.js +9 -1
- package/esm2015/lib/components/filter/base/base.component.js.map +1 -1
- package/esm2015/lib/components/filter/check/check.component.js +2 -1
- package/esm2015/lib/components/filter/check/check.component.js.map +1 -1
- package/esm2015/lib/components/filter/check/check.component.metadata.json +1 -1
- package/esm2015/lib/components/filter/date/date.component.js +2 -1
- package/esm2015/lib/components/filter/date/date.component.js.map +1 -1
- package/esm2015/lib/components/filter/date/date.component.metadata.json +1 -1
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +3 -1
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js.map +1 -1
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.metadata.json +1 -1
- package/esm2015/lib/components/filter/filter.component.js +9 -1
- package/esm2015/lib/components/filter/filter.component.js.map +1 -1
- package/esm2015/lib/components/filter/flag/flag.component.js +2 -1
- package/esm2015/lib/components/filter/flag/flag.component.js.map +1 -1
- package/esm2015/lib/components/filter/flag/flag.component.metadata.json +1 -1
- package/esm2015/lib/components/filter/radio/radio.component.js +2 -1
- package/esm2015/lib/components/filter/radio/radio.component.js.map +1 -1
- package/esm2015/lib/components/filter/radio/radio.component.metadata.json +1 -1
- package/esm2015/lib/components/filter/text/text.component.js +2 -1
- package/esm2015/lib/components/filter/text/text.component.js.map +1 -1
- package/esm2015/lib/components/filter/text/text.component.metadata.json +1 -1
- package/esm2015/lib/components/filters/filters.component.js +10 -2
- package/esm2015/lib/components/filters/filters.component.js.map +1 -1
- package/esm2015/lib/components/filters/filters.component.metadata.json +1 -1
- package/esm2015/lib/components/filters-config/filters-config.component.js +9 -2
- package/esm2015/lib/components/filters-config/filters-config.component.js.map +1 -1
- package/esm2015/lib/components/filters-config/filters-config.component.metadata.json +1 -1
- package/esm2015/lib/components/multiselect/multiselect.component.js +9 -2
- package/esm2015/lib/components/multiselect/multiselect.component.js.map +1 -1
- package/esm2015/lib/components/multiselect/multiselect.component.metadata.json +1 -1
- package/esm2015/lib/crud-full.module.js +8 -1
- package/esm2015/lib/crud-full.module.js.map +1 -1
- package/esm2015/lib/crud-full.module.ngfactory.js.map +1 -1
- package/esm2015/lib/crud.config.js +2 -0
- package/esm2015/lib/crud.config.js.map +1 -1
- package/esm2015/lib/crud.module.js +9 -1
- package/esm2015/lib/crud.module.js.map +1 -1
- package/esm2015/lib/crud.module.ngfactory.js.map +1 -1
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +8 -1
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js.map +1 -1
- package/esm2015/lib/pages/base/base.component.js +8 -1
- package/esm2015/lib/pages/base/base.component.js.map +1 -1
- package/esm2015/lib/pages/item/item.component.js +9 -1
- package/esm2015/lib/pages/item/item.component.js.map +1 -1
- package/esm2015/lib/pages/list/list.component.js +8 -1
- package/esm2015/lib/pages/list/list.component.js.map +1 -1
- package/esm2015/lib/pipes/form-options/form-options.pipe.js +8 -1
- package/esm2015/lib/pipes/form-options/form-options.pipe.js.map +1 -1
- package/esm2015/lib/pipes/pipes.module.js +1 -0
- package/esm2015/lib/pipes/pipes.module.js.map +1 -1
- package/esm2015/lib/services/crud/crud.service.js +8 -1
- package/esm2015/lib/services/crud/crud.service.js.map +1 -1
- package/esm2015/lib/services/socket/socket.service.js +8 -1
- package/esm2015/lib/services/socket/socket.service.js.map +1 -1
- package/fesm2015/smartsoft001-crud-shell-angular.js +162 -27
- package/fesm2015/smartsoft001-crud-shell-angular.js.map +1 -1
- package/package.json +17 -17
- package/smartsoft001-crud-shell-angular.metadata.json +1 -1
|
@@ -27,13 +27,15 @@ export class FilterDateWithEditComponent extends FilterDateComponent {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
30
31
|
FilterDateWithEditComponent.decorators = [
|
|
31
32
|
{ type: Component, args: [{
|
|
32
33
|
selector: 'smart-crud-filter-date-with-edit',
|
|
33
34
|
template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\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=\"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>",
|
|
34
|
-
styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]
|
|
35
|
+
styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
|
|
35
36
|
},] }
|
|
36
37
|
];
|
|
38
|
+
/** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
|
|
37
39
|
FilterDateWithEditComponent.propDecorators = {
|
|
38
40
|
dateTimePicker: [{ type: ViewChild, args: [IonDatetime, { read: IonDatetime, static: false },] }]
|
|
39
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-with-edit.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/date-with-edit/date-with-edit.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAqB,SAAS,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAO3D,MAAM,OAAO,2BAAuD,SAAQ,mBAAsB;IALlG;;QAOU,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;IAyB9C,CAAC;IArBC,IAAI;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAgB,EAAE,EAAE;gBACnF,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;IACH,CAAC
|
|
1
|
+
{"version":3,"file":"date-with-edit.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/date-with-edit/date-with-edit.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAqB,SAAS,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAO3D,MAAM,OAAO,2BAAuD,SAAQ,mBAAsB;IALlG;;QAOU,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;IAyB9C,CAAC;IArBC,IAAI;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAgB,EAAE,EAAE;gBACnF,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;IACH,CAAC;;;;YA/BF,SAAS,SAAC;gBACT,QAAQ,EAAE,kCAAkC;gBAC5C,iiCAA8C;;aAE/C;;;;6BAKE,SAAS,SAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE","sourcesContent":["import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {IonDatetime} from \"@ionic/angular\";\nimport {Subscription} from \"rxjs\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {FilterDateComponent} from \"../date/date.component\";\n\n@Component({\n selector: 'smart-crud-filter-date-with-edit',\n templateUrl: './date-with-edit.component.html',\n styleUrls: ['./date-with-edit.component.scss']\n})\nexport class FilterDateWithEditComponent<T extends IEntity<string>> extends FilterDateComponent<T>\nimplements OnInit, OnDestroy {\n private _subscriptions = new Subscription();\n\n @ViewChild(IonDatetime, { read: IonDatetime, static: false }) dateTimePicker: IonDatetime;\n\n open(): void {\n this.dateTimePicker.open();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this.dateTimePicker) {\n this._subscriptions.add(this.dateTimePicker.ionChange.subscribe((val: CustomEvent) => {\n this.customValue = val.detail.value;\n }));\n } else {\n console.error('dateTimePicker not found!');\n }\n }\n\n ngOnDestroy(): void {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n}\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FilterDateWithEditComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../date/date.component","name":"FilterDateComponent","line":13,"character":76},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"smart-crud-filter-date-with-edit","template":"<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\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=\"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}"]}]}],"members":{"dateTimePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":[{"__symbolic":"reference","module":"@ionic/angular","name":"IonDatetime","line":17,"character":13},{"read":{"__symbolic":"reference","module":"@ionic/angular","name":"IonDatetime","line":17,"character":34},"static":false}]}]}],"open":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"FilterDateWithEditComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../date/date.component","name":"FilterDateComponent","line":13,"character":76},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"smart-crud-filter-date-with-edit","template":"<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\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=\"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"]}]}],"members":{"dateTimePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":[{"__symbolic":"reference","module":"@ionic/angular","name":"IonDatetime","line":17,"character":13},{"read":{"__symbolic":"reference","module":"@ionic/angular","name":"IonDatetime","line":17,"character":34},"static":false}]}]}],"open":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
|
|
@@ -6,6 +6,7 @@ export class FilterComponent {
|
|
|
6
6
|
}
|
|
7
7
|
ngOnInit() { }
|
|
8
8
|
}
|
|
9
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
9
10
|
FilterComponent.decorators = [
|
|
10
11
|
{ type: Component, args: [{
|
|
11
12
|
selector: "smart-crud-filter",
|
|
@@ -13,8 +14,15 @@ FilterComponent.decorators = [
|
|
|
13
14
|
styles: [""]
|
|
14
15
|
},] }
|
|
15
16
|
];
|
|
16
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* @type {function(): !Array<(null|{
|
|
19
|
+
* type: ?,
|
|
20
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
21
|
+
* })>}
|
|
22
|
+
* @nocollapse
|
|
23
|
+
*/
|
|
17
24
|
FilterComponent.ctorParameters = () => [];
|
|
25
|
+
/** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
|
|
18
26
|
FilterComponent.propDecorators = {
|
|
19
27
|
item: [{ type: Input }],
|
|
20
28
|
filter: [{ type: Input }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/filter.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAC,SAAS,EAAe,MAAM,sBAAsB,CAAC;AAS7D,MAAM,OAAO,eAAe;IAM1B;QALA,cAAS,GAAG,SAAS,CAAC;IAKP,CAAC;IAEhB,QAAQ,KAAU,CAAC
|
|
1
|
+
{"version":3,"file":"filter.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/filter.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAC,SAAS,EAAe,MAAM,sBAAsB,CAAC;AAS7D,MAAM,OAAO,eAAe;IAM1B;QALA,cAAS,GAAG,SAAS,CAAC;IAKP,CAAC;IAEhB,QAAQ,KAAU,CAAC;;;;YAbpB,SAAS,SAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,ugCAAsC;;aAEvC;;;;;;;;;;;;mBAIE,KAAK;qBACL,KAAK","sourcesContent":["import { Component, Input, OnInit } from \"@angular/core\";\n\nimport {FieldType, IModelFilter} from \"@smartsoft001/models\";\n\nimport {ICrudFilter} from \"../../models/interfaces\";\n\n@Component({\n selector: \"smart-crud-filter\",\n templateUrl: \"./filter.component.html\",\n styleUrls: [\"./filter.component.scss\"],\n})\nexport class FilterComponent implements OnInit {\n FieldType = FieldType;\n\n @Input() item: IModelFilter;\n @Input() filter: ICrudFilter;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n"]}
|
|
@@ -2,11 +2,12 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { BaseComponent } from "../base/base.component";
|
|
3
3
|
export class FilterFlagComponent extends BaseComponent {
|
|
4
4
|
}
|
|
5
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
5
6
|
FilterFlagComponent.decorators = [
|
|
6
7
|
{ type: Component, args: [{
|
|
7
8
|
selector: 'smart-crud-filter-flag',
|
|
8
9
|
template: "<ion-row>\n <ion-col>\n <div class=\"flag-container\">\n <ion-label position=\"static\">\n {{ item.label | translate }}\n </ion-label>\n <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>\n </div>\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>",
|
|
9
|
-
styles: [":host{width:100%}:host .flag-container{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:0 1.2rem 0 0}:host .flag-container ion-label{--color:var(--smart-color-dark);vertical-align:middle;padding:1.6rem 0}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]
|
|
10
|
+
styles: [":host{width:100%}:host .flag-container{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:0 1.2rem 0 0}:host .flag-container ion-label{--color: var(--smart-color-dark);vertical-align:middle;padding:1.6rem 0}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
|
|
10
11
|
},] }
|
|
11
12
|
];
|
|
12
13
|
//# sourceMappingURL=flag.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flag.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/flag/flag.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAOrD,MAAM,OAAO,mBAA+C,SAAQ,aAAgB
|
|
1
|
+
{"version":3,"file":"flag.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/flag/flag.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAOrD,MAAM,OAAO,mBAA+C,SAAQ,aAAgB;;;;YALnF,SAAS,SAAC;gBACP,QAAQ,EAAE,wBAAwB;gBAClC,qjBAAoC;;aAEvC","sourcesContent":["import { Component } from '@angular/core';\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-flag',\n templateUrl: './flag.component.html',\n styleUrls: ['./flag.component.scss']\n})\nexport class FilterFlagComponent<T extends IEntity<string>> extends BaseComponent<T> {\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FilterFlagComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/base.component","name":"BaseComponent","line":11,"character":68},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"smart-crud-filter-flag","template":"<ion-row>\n <ion-col>\n <div class=\"flag-container\">\n <ion-label position=\"static\">\n {{ item.label | translate }}\n </ion-label>\n <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>\n </div>\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 .flag-container{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:0 1.2rem 0 0}:host .flag-container ion-label{--color:var(--smart-color-dark);vertical-align:middle;padding:1.6rem 0}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]}]}]}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"FilterFlagComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/base.component","name":"BaseComponent","line":11,"character":68},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"smart-crud-filter-flag","template":"<ion-row>\n <ion-col>\n <div class=\"flag-container\">\n <ion-label position=\"static\">\n {{ item.label | translate }}\n </ion-label>\n <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>\n </div>\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 .flag-container{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:0 1.2rem 0 0}:host .flag-container ion-label{--color: var(--smart-color-dark);vertical-align:middle;padding:1.6rem 0}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]}]}]}}}]
|
|
@@ -2,11 +2,12 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { BaseComponent } from "../base/base.component";
|
|
3
3
|
export class FilterRadioComponent extends BaseComponent {
|
|
4
4
|
}
|
|
5
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
5
6
|
FilterRadioComponent.decorators = [
|
|
6
7
|
{ type: Component, args: [{
|
|
7
8
|
selector: 'smart-crud-filter-radio',
|
|
8
9
|
template: "<ion-row>\n <ion-col>\n <ion-radio-group [(ngModel)]=\"value\">\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\" slot=\"end\" color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n\n <ion-item *ngFor=\"let item of possibilities$ | async\">\n <ion-label>{{ item.text | translate }}</ion-label>\n <ion-radio [value]=\"item.id\"></ion-radio>\n </ion-item>\n </ion-radio-group>\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>",
|
|
9
|
-
styles: [":host{width:100%;margin-bottom:1.2rem}:host ion-radio{margin-right:2.4rem}:host ion-item-divider{font-weight:300;--padding-end
|
|
10
|
+
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"]
|
|
10
11
|
},] }
|
|
11
12
|
];
|
|
12
13
|
//# sourceMappingURL=radio.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/radio/radio.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAOrD,MAAM,OAAO,oBAAgD,SAAQ,aAAgB
|
|
1
|
+
{"version":3,"file":"radio.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/radio/radio.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAOrD,MAAM,OAAO,oBAAgD,SAAQ,aAAgB;;;;YALpF,SAAS,SAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,gmCAAqC;;aAEtC","sourcesContent":["import { Component } from '@angular/core';\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss']\n})\nexport class FilterRadioComponent<T extends IEntity<string>> extends BaseComponent<T> {\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FilterRadioComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/base.component","name":"BaseComponent","line":9,"character":69},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"smart-crud-filter-radio","template":"<ion-row>\n <ion-col>\n <ion-radio-group [(ngModel)]=\"value\">\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\" slot=\"end\" color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n\n <ion-item *ngFor=\"let item of possibilities$ | async\">\n <ion-label>{{ item.text | translate }}</ion-label>\n <ion-radio [value]=\"item.id\"></ion-radio>\n </ion-item>\n </ion-radio-group>\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
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"FilterRadioComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/base.component","name":"BaseComponent","line":9,"character":69},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"smart-crud-filter-radio","template":"<ion-row>\n <ion-col>\n <ion-radio-group [(ngModel)]=\"value\">\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\" slot=\"end\" color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n\n <ion-item *ngFor=\"let item of possibilities$ | async\">\n <ion-label>{{ item.text | translate }}</ion-label>\n <ion-radio [value]=\"item.id\"></ion-radio>\n </ion-item>\n </ion-radio-group>\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"]}]}]}}}]
|
|
@@ -2,11 +2,12 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { BaseComponent } from "../base/base.component";
|
|
3
3
|
export class FilterTextComponent extends BaseComponent {
|
|
4
4
|
}
|
|
5
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
5
6
|
FilterTextComponent.decorators = [
|
|
6
7
|
{ type: Component, args: [{
|
|
7
8
|
selector: 'smart-crud-filter-text',
|
|
8
9
|
template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"value\"></ion-input>\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>",
|
|
9
|
-
styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]
|
|
10
|
+
styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
|
|
10
11
|
},] }
|
|
11
12
|
];
|
|
12
13
|
//# sourceMappingURL=text.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/text/text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAOrD,MAAM,OAAO,mBAA+C,SAAQ,aAAgB
|
|
1
|
+
{"version":3,"file":"text.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/crud/shell/angular/src/lib/components/filter/text/text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAOrD,MAAM,OAAO,mBAA+C,SAAQ,aAAgB;;;;YALnF,SAAS,SAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,4dAAoC;;aAErC","sourcesContent":["import { Component } from '@angular/core';\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss']\n})\nexport class FilterTextComponent<T extends IEntity<string>> extends BaseComponent<T> {\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FilterTextComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/base.component","name":"BaseComponent","line":11,"character":68},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"smart-crud-filter-text","template":"<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"value\"></ion-input>\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}"]}]}]}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"FilterTextComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/base.component","name":"BaseComponent","line":11,"character":68},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"smart-crud-filter-text","template":"<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"value\"></ion-input>\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"]}]}]}}}]
|
|
@@ -94,14 +94,21 @@ export class FiltersComponent {
|
|
|
94
94
|
this.filter$ = this.facade.filter$;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
97
98
|
FiltersComponent.decorators = [
|
|
98
99
|
{ type: Component, args: [{
|
|
99
100
|
selector: 'smart-crud-filters',
|
|
100
101
|
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\n<ng-container *ngIf=\"filter$ | async; let filter\">\n <ng-container *ngFor=\"let item of list\">\n <smart-crud-filter [item]=\"item\" [filter]=\"filter\"></smart-crud-filter>\n </ng-container>\n</ng-container>\n",
|
|
101
|
-
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}"]
|
|
102
|
+
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}\n"]
|
|
102
103
|
},] }
|
|
103
104
|
];
|
|
104
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* @type {function(): !Array<(null|{
|
|
107
|
+
* type: ?,
|
|
108
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
109
|
+
* })>}
|
|
110
|
+
* @nocollapse
|
|
111
|
+
*/
|
|
105
112
|
FiltersComponent.ctorParameters = () => [
|
|
106
113
|
{ type: MenuService },
|
|
107
114
|
{ type: CrudConfig },
|
|
@@ -109,6 +116,7 @@ FiltersComponent.ctorParameters = () => [
|
|
|
109
116
|
{ type: StyleService },
|
|
110
117
|
{ type: ElementRef }
|
|
111
118
|
];
|
|
119
|
+
/** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
|
|
112
120
|
FiltersComponent.propDecorators = {
|
|
113
121
|
hideMenu: [{ type: Input }]
|
|
114
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/filters/filters.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAS,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAc,WAAW,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,yBAAyB,EAAE,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAIlH,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAMH,MAAM,OAAO,gBAAgB;IAU3B,YACY,WAAwB,EACxB,MAAqB,EACrB,MAAqB,EACrB,YAA0B,EAC1B,UAAsB;QAJtB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAe;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;IAC9B,CAAC;IAEC,OAAO;;YACX,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;KAAA;IAED,QAAQ;QACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAE/D,IAAI,CAAC,IAAI,GAAG;YACR,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;iBAClC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,yBAAyB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,eAAC,OAAA,MAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,IAA2B,0CAAE,MAAM,CAAA,EAAA,CAAC;iBAClE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,GAAU;gBAChB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG;gBAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aAC7B,CAAC,CAAC;SACV,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACrC,CAAC
|
|
1
|
+
{"version":3,"file":"filters.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/filters/filters.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAS,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAc,WAAW,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,yBAAyB,EAAE,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAIlH,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAMH,MAAM,OAAO,gBAAgB;IAU3B,YACY,WAAwB,EACxB,MAAqB,EACrB,MAAqB,EACrB,YAA0B,EAC1B,UAAsB;QAJtB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAe;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;IAC9B,CAAC;IAEC,OAAO;;YACX,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;KAAA;IAED,QAAQ;QACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAE/D,IAAI,CAAC,IAAI,GAAG;YACR,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;iBAClC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,yBAAyB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,eAAC,OAAA,MAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,IAA2B,0CAAE,MAAM,CAAA,EAAA,CAAC;iBAClE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,GAAU;gBAChB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG;gBAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aAC7B,CAAC,CAAC;SACV,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACrC,CAAC;;;;YAjDF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,slBAAuC;;aAExC;;;;;;;;;;YAnEoB,WAAW;YAKxB,UAAU;YACV,UAAU;YANgB,YAAY;YAH3B,UAAU;;;;uBA+E1B,KAAK","sourcesContent":["import {Component, ElementRef, Input, OnInit} from '@angular/core';\nimport {Observable} from \"rxjs\";\n\nimport {AuthService, MenuService, StyleService} from \"@smartsoft001/angular\";\nimport {getModelFieldsWithOptions, getModelOptions, IFieldListMetadata, IModelFilter} from \"@smartsoft001/models\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {ICrudFilter} from \"../../models/interfaces\";\nimport {CrudConfig} from \"../../crud.config\";\nimport {CrudFacade} from \"../../+state/crud.facade\";\n\n/**\n * This component is only to use in crud module\n * @requires CrudModule\n * @example\n *\n * html: <smart-crud-filters></smart-crud-filters>\n *\n * use on the model:\n * @Model({\n titleKey: 'body',\n filters: [\n {\n label: 'testNegation',\n key: 'body',\n type: '!=',\n },\n {\n label: 'fromDate',\n key: 'createDate',\n type: '<=',\n fieldType: FieldType.dateWithEdit\n },\n {\n label: 'select',\n key: 'type',\n type: '=',\n fieldType: FieldType.radio,\n possibilities$: of([\n {\n id: 1, text: 'Test 1'\n },\n {\n id: 2, text: 'Test 2'\n }\n ])\n }\n ]\n})\n *\n * use on the field (list.filter property):\n * @Field({\n create: modifyMetdata,\n update: {\n ...modifyMetdata,\n multi: true\n },\n type: FieldType.longText,\n details: true,\n list: {\n order: 2,\n filter: true\n }\n })\n body: string;\n */\n@Component({\n selector: 'smart-crud-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss']\n})\nexport class FiltersComponent<T extends IEntity<string>> implements OnInit {\n list: Array<IModelFilter>;\n\n filter$: Observable<ICrudFilter>;\n\n /**\n * Hide menu used only from MenuService\n */\n @Input() hideMenu: boolean;\n\n constructor(\n private menuService: MenuService,\n private config: CrudConfig<T>,\n private facade: CrudFacade<T>,\n private styleService: StyleService,\n private elementRef: ElementRef\n ) { }\n\n async onClose(): Promise<void> {\n await this.menuService.closeEnd();\n }\n\n ngOnInit(): void {\n this.styleService.init(this.elementRef);\n\n const modelFilters = getModelOptions(this.config.type).filters;\n\n this.list = [\n ...(modelFilters ? modelFilters.map(item => {\n if (!item.label) {\n item.label = 'MODEL.' + item.key;\n }\n return item;\n }) : []),\n ...getModelFieldsWithOptions(new this.config.type())\n .filter(item => (item.options?.list as IFieldListMetadata)?.filter)\n .map(item => ({\n key: item.key,\n type: '=' as '=',\n label: 'MODEL.' + item.key,\n fieldType: item.options.type\n }))\n ];\n this.filter$ = this.facade.filter$;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FiltersComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":66,"character":1},"arguments":[{"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\n<ng-container *ngIf=\"filter$ | async; let filter\">\n <ng-container *ngFor=\"let item of list\">\n <smart-crud-filter [item]=\"item\" [filter]=\"filter\"></smart-crud-filter>\n </ng-container>\n</ng-container>\n","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}"]}]}],"members":{"hideMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@smartsoft001/angular","name":"MenuService","line":82,"character":27},{"__symbolic":"reference","module":"../../crud.config","name":"CrudConfig","line":83,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":83,"character":33,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"../../+state/crud.facade","name":"CrudFacade","line":84,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":84,"character":33,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"@smartsoft001/angular","name":"StyleService","line":85,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":26}]}],"onClose":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"FiltersComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":66,"character":1},"arguments":[{"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\n<ng-container *ngIf=\"filter$ | async; let filter\">\n <ng-container *ngFor=\"let item of list\">\n <smart-crud-filter [item]=\"item\" [filter]=\"filter\"></smart-crud-filter>\n </ng-container>\n</ng-container>\n","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}\n"]}]}],"members":{"hideMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@smartsoft001/angular","name":"MenuService","line":82,"character":27},{"__symbolic":"reference","module":"../../crud.config","name":"CrudConfig","line":83,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":83,"character":33,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"../../+state/crud.facade","name":"CrudFacade","line":84,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":84,"character":33,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"@smartsoft001/angular","name":"StyleService","line":85,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":26}]}],"onClose":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
|
|
@@ -23,14 +23,21 @@ export class FiltersConfigComponent {
|
|
|
23
23
|
}));
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
26
27
|
FiltersConfigComponent.decorators = [
|
|
27
28
|
{ type: Component, args: [{
|
|
28
29
|
selector: 'smart-crud-filters-config',
|
|
29
30
|
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>",
|
|
30
|
-
styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}"]
|
|
31
|
+
styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}\n"]
|
|
31
32
|
},] }
|
|
32
33
|
];
|
|
33
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* @type {function(): !Array<(null|{
|
|
36
|
+
* type: ?,
|
|
37
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
38
|
+
* })>}
|
|
39
|
+
* @nocollapse
|
|
40
|
+
*/
|
|
34
41
|
FiltersConfigComponent.ctorParameters = () => [
|
|
35
42
|
{ type: CrudFacade },
|
|
36
43
|
{ type: StyleService },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-config.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/filters-config/filters-config.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAS,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAGnC,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAOtD,MAAM,OAAO,sBAAsB;IAGjC,YACqB,MAAuB,EAChC,YAA0B,EAC1B,UAAsB;QAFb,WAAM,GAAN,MAAM,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;IAC9B,CAAC;IAEL,aAAa,CAAC,IAA0B;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAClC,GAAG,CAAC,MAAM,CAAC,EAAE;;YACX,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CACL,CAAC;IACJ,CAAC
|
|
1
|
+
{"version":3,"file":"filters-config.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/filters-config/filters-config.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAS,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAGnC,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAOtD,MAAM,OAAO,sBAAsB;IAGjC,YACqB,MAAuB,EAChC,YAA0B,EAC1B,UAAsB;QAFb,WAAM,GAAN,MAAM,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;IAC9B,CAAC;IAEL,aAAa,CAAC,IAA0B;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAClC,GAAG,CAAC,MAAM,CAAC,EAAE;;YACX,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;;;;YA9BF,SAAS,SAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,qiBAA8C;;aAE/C;;;;;;;;;;YANQ,UAAU;YAHX,YAAY;YALD,UAAU","sourcesContent":["import {Component, ElementRef, OnInit} from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport {StyleService} from \"@smartsoft001/angular\";\n\nimport {ICrudFilterQueryItem} from '../../models/interfaces';\nimport { CrudFacade } from '../../+state/crud.facade';\n\n@Component({\n selector: 'smart-crud-filters-config',\n templateUrl: './filters-config.component.html',\n styleUrls: ['./filters-config.component.scss']\n})\nexport class FiltersConfigComponent<T extends IEntity<string>> implements OnInit {\n query$: Observable<ICrudFilterQueryItem[]>;\n\n constructor(\n private readonly facade: CrudFacade<any>,\n private styleService: StyleService,\n private elementRef: ElementRef\n ) { }\n\n onRemoveQuery(item: ICrudFilterQueryItem): void {\n const index = this.facade.filter.query.indexOf(item);\n if (index > -1) {\n this.facade.filter.query.splice(index, 1);\n }\n this.facade.read(this.facade.filter);\n }\n\n ngOnInit(): void {\n this.styleService.init(this.elementRef);\n\n this.query$ = this.facade.filter$.pipe(\n map(filter => {\n return filter?.query?.filter(i => !i.hidden);\n })\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FiltersConfigComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"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)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../+state/crud.facade","name":"CrudFacade","line":19,"character":31,"arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@smartsoft001/angular","name":"StyleService","line":20,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":26}]}],"onRemoveQuery":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"FiltersConfigComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"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"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../+state/crud.facade","name":"CrudFacade","line":19,"character":31,"arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@smartsoft001/angular","name":"StyleService","line":20,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":26}]}],"onRemoveQuery":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
|
|
@@ -51,14 +51,21 @@ export class MultiselectComponent {
|
|
|
51
51
|
ngOnInit() {
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
54
55
|
MultiselectComponent.decorators = [
|
|
55
56
|
{ type: Component, args: [{
|
|
56
57
|
selector: 'smart-crud-multiselect',
|
|
57
58
|
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=\"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>",
|
|
58
|
-
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}"]
|
|
59
|
+
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"]
|
|
59
60
|
},] }
|
|
60
61
|
];
|
|
61
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* @type {function(): !Array<(null|{
|
|
64
|
+
* type: ?,
|
|
65
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
66
|
+
* })>}
|
|
67
|
+
* @nocollapse
|
|
68
|
+
*/
|
|
62
69
|
MultiselectComponent.ctorParameters = () => [
|
|
63
70
|
{ type: CrudFacade },
|
|
64
71
|
{ type: CrudConfig },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiselect.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/multiselect/multiselect.component.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAS,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,yBAAyB,EAAqB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAiB,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAO7C,MAAM,OAAO,oBAAoB;IAwB7B,YACY,MAAqB,EACtB,MAAqB,EACpB,WAAwB;QAFxB,WAAM,GAAN,MAAM,CAAe;QACtB,WAAM,GAAN,MAAM,CAAe;QACpB,gBAAW,GAAX,WAAW,CAAa;QArBpC,kBAAa,GAAmB;YAC5B,KAAK,EAAE,GAAS,EAAE;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACjC,uCACO,IAAI,CAAC,QAAQ,KAChB,EAAE,EAAE,IAAI,CAAC,EAAE,IACd;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACtC,CAAC,CAAA;YACD,OAAO,EAAE,IAAI;SAChB,CAAA;QAUG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CACxC,GAAG,CAAC,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAErC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,CAAC;iBACrD,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAC,CAAC,CAAC,OAAO,CAAC,MAA6B,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;YAElE,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC3B;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEK,OAAO;;YACT,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC;KAAA;IAED,eAAe,CAAC,OAAmB,EAAE,IAAc;QAC/C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,KAAc;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;IAER,CAAC
|
|
1
|
+
{"version":3,"file":"multiselect.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/angular/src/lib/components/multiselect/multiselect.component.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAS,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,yBAAyB,EAAqB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAiB,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAO7C,MAAM,OAAO,oBAAoB;IAwB7B,YACY,MAAqB,EACtB,MAAqB,EACpB,WAAwB;QAFxB,WAAM,GAAN,MAAM,CAAe;QACtB,WAAM,GAAN,MAAM,CAAe;QACpB,gBAAW,GAAX,WAAW,CAAa;QArBpC,kBAAa,GAAmB;YAC5B,KAAK,EAAE,GAAS,EAAE;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACjC,uCACO,IAAI,CAAC,QAAQ,KAChB,EAAE,EAAE,IAAI,CAAC,EAAE,IACd;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACtC,CAAC,CAAA;YACD,OAAO,EAAE,IAAI;SAChB,CAAA;QAUG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CACxC,GAAG,CAAC,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAErC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,CAAC;iBACrD,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAC,CAAC,CAAC,OAAO,CAAC,MAA6B,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;YAElE,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC3B;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEK,OAAO;;YACT,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC;KAAA;IAED,eAAe,CAAC,OAAmB,EAAE,IAAc;QAC/C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,KAAc;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;IAER,CAAC;;;;YAvEJ,SAAS,SAAC;gBACP,QAAQ,EAAE,wBAAwB;gBAClC,61BAA2C;;aAE9C;;;;;;;;;;YAPO,UAAU;YACV,UAAU;YAHM,WAAW","sourcesContent":["import {IEntity} from \"@smartsoft001/domain-core\";\nimport {Component, OnInit} from \"@angular/core\";\nimport {Observable, Subject} from \"rxjs\";\nimport {tap} from \"rxjs/operators\";\nimport * as _ from \"lodash\";\n\nimport {getModelFieldsWithOptions, IFieldEditMetadata} from \"@smartsoft001/models\";\nimport {IButtonOptions, MenuService} from \"@smartsoft001/angular\";\n\nimport {CrudFacade} from \"../../+state/crud.facade\";\nimport {CrudConfig} from \"../../crud.config\";\n\n@Component({\n selector: 'smart-crud-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss']\n})\nexport class MultiselectComponent<T extends IEntity<string>> implements OnInit {\n private _list: Array<T>;\n private _changes: Partial<T>\n\n item: T;\n valid: boolean;\n buttonOptions: IButtonOptions = {\n click: async () => {\n const result = this._list.map(item => {\n return {\n ...this._changes,\n id: item.id\n }\n });\n\n this.facade.updatePartialMany(result);\n await this.menuService.closeEnd();\n },\n confirm: true\n }\n lock: boolean;\n\n list$: Observable<T[]>;\n\n constructor(\n private facade: CrudFacade<T>,\n public config: CrudConfig<T>,\n private menuService: MenuService\n ) {\n this.list$ = this.facade.multiSelected$.pipe(\n tap(list => {\n this.lock = true;\n const model = new this.config.type();\n\n const fieldsWithOptions = getModelFieldsWithOptions(model)\n .filter(f => (f.options.update as IFieldEditMetadata)?.multi);\n\n fieldsWithOptions.forEach(({ key }) => {\n const uniques = _.uniq(list.map(i => i[key]));\n\n if (uniques.length === 1) {\n model[key] = uniques[0];\n }\n });\n\n this.item = model;\n })\n );\n }\n\n async onClose(): Promise<void> {\n await this.menuService.closeEnd();\n }\n\n onPartialChange(changes: Partial<T>, list: Array<T>) {\n this.lock = false;\n this._list = list;\n this._changes = changes;\n }\n\n onValidChange(valid: boolean) {\n this.valid = valid;\n }\n\n ngOnInit(): void {\n\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"MultiselectComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"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=\"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}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../+state/crud.facade","name":"CrudFacade","line":42,"character":24,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":35,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"../../crud.config","name":"CrudConfig","line":43,"character":23,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":43,"character":34,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"@smartsoft001/angular","name":"MenuService","line":44,"character":29}]}],"onClose":[{"__symbolic":"method"}],"onPartialChange":[{"__symbolic":"method"}],"onValidChange":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MultiselectComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"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=\"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"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../+state/crud.facade","name":"CrudFacade","line":42,"character":24,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":35,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"../../crud.config","name":"CrudConfig","line":43,"character":23,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":43,"character":34,"context":{"typeName":"T"}}]},{"__symbolic":"reference","module":"@smartsoft001/angular","name":"MenuService","line":44,"character":29}]}],"onClose":[{"__symbolic":"method"}],"onPartialChange":[{"__symbolic":"method"}],"onValidChange":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
|
|
@@ -27,6 +27,7 @@ export class CrudFullModule {
|
|
|
27
27
|
effects.init();
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
30
31
|
CrudFullModule.decorators = [
|
|
31
32
|
{ type: NgModule, args: [{
|
|
32
33
|
declarations: [
|
|
@@ -60,7 +61,13 @@ CrudFullModule.decorators = [
|
|
|
60
61
|
]
|
|
61
62
|
},] }
|
|
62
63
|
];
|
|
63
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* @type {function(): !Array<(null|{
|
|
66
|
+
* type: ?,
|
|
67
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
68
|
+
* })>}
|
|
69
|
+
* @nocollapse
|
|
70
|
+
*/
|
|
64
71
|
CrudFullModule.ctorParameters = () => [
|
|
65
72
|
{ type: Store },
|
|
66
73
|
{ type: CrudConfig },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-full.module.js","sourceRoot":"","sources":["../../../../../../../libs/crud/shell/angular/src/lib/crud-full.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,yBAAyB,EAAC,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,MAAM,KAAK,GAAG;IACV,aAAa;IACb,aAAa;CAChB,CAAC;AAiCF,MAAM,OAAO,cAAc;IACvB,YAAY,KAAiB,EAAE,MAAqB,EAAE,OAAyB;QAC3E,gBAAgB,CAAC,UAAU,CACvB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc;YACjB,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAClC,CAAC;QACF,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC
|
|
1
|
+
{"version":3,"file":"crud-full.module.js","sourceRoot":"","sources":["../../../../../../../libs/crud/shell/angular/src/lib/crud-full.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,yBAAyB,EAAC,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,MAAM,KAAK,GAAG;IACV,aAAa;IACb,aAAa;CAChB,CAAC;AAiCF,MAAM,OAAO,cAAc;IACvB,YAAY,KAAiB,EAAE,MAAqB,EAAE,OAAyB;QAC3E,gBAAgB,CAAC,UAAU,CACvB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc;YACjB,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAClC,CAAC;QACF,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;;;;YAxCJ,QAAQ,SAAC;gBACN,YAAY,EAAE;oBACV,GAAG,KAAK;iBACX;gBACD,eAAe,EAAE;oBACb,GAAG,KAAK;iBACX;gBACD,OAAO,EAAE;oBACL,WAAW;oBACX,YAAY;oBACZ,eAAe;oBACf,cAAc;oBACd,YAAY,CAAC,QAAQ,CAAC;wBAClB,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAC;wBAClC,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAC;wBACvC,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAC;qBAC5C,CAAC;oBACF,WAAW;oBACX,YAAY;oBACZ,oBAAoB;iBACvB;gBACD,OAAO,EAAE;oBACL,GAAG,KAAK;iBACX;gBACD,SAAS,EAAE;oBACP,WAAW;oBACX,WAAW;oBACX,UAAU;oBACV,yBAAyB;iBAC5B;aACJ;;;;;;;;;;YAtDO,KAAK;YAQL,UAAU;YACV,WAAW","sourcesContent":["import {NgModule} from \"@angular/core\";\nimport {RouterModule} from \"@angular/router\";\nimport {Store, StoreModule} from \"@ngrx/store\";\nimport {SocketIoModule} from \"ngx-socket-io\";\nimport {FormsModule} from \"@angular/forms\";\nimport {CommonModule} from \"@angular/common\";\n\nimport {NgrxStoreService, SharedModule} from \"@smartsoft001/angular\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {CrudConfig} from \"./crud.config\";\nimport {CrudEffects} from \"./+state/crud.effects\";\nimport {getReducer} from \"./+state/crud.reducer\";\nimport {ListComponent} from \"./pages/list/list.component\";\nimport {ItemComponent} from \"./pages/item/item.component\";\nimport {CrudPipesModule} from \"./pipes/pipes.module\";\nimport { CrudService } from './services/crud/crud.service';\nimport { CrudFacade } from './+state/crud.facade';\nimport {CrudListPaginationFactory} from \"./factories/list-pagination/list-pagination.factory\";\nimport {CrudComponentsModule} from \"./components/components.module\";\n\nconst PAGES = [\n ItemComponent,\n ListComponent\n];\n\n@NgModule({\n declarations: [\n ...PAGES\n ],\n entryComponents: [\n ...PAGES\n ],\n imports: [\n StoreModule,\n SharedModule,\n CrudPipesModule,\n SocketIoModule,\n RouterModule.forChild([\n {path: '', component: ListComponent}\n , {path: 'add', component: ItemComponent}\n , {path: ':id', component: ItemComponent}\n ]),\n FormsModule,\n CommonModule,\n CrudComponentsModule\n ],\n exports: [\n ...PAGES\n ],\n providers: [\n CrudService,\n CrudEffects,\n CrudFacade,\n CrudListPaginationFactory,\n ]\n})\nexport class CrudFullModule<T extends IEntity<string>> {\n constructor(store: Store<any>, config: CrudConfig<T>, effects: CrudEffects<any>) {\n NgrxStoreService.addReducer(\n config.entity,\n config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity)\n );\n effects.init();\n }\n}\n"]}
|