@smartsoft001/crud-shell-angular 2.94.0 → 2.96.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.
@@ -1 +1 @@
1
- {"version":3,"file":"smartsoft001-crud-shell-angular.mjs","sources":["../tmp-esm2022/lib/crud.config.js","../tmp-esm2022/lib/+state/crud.actions.js","../tmp-esm2022/lib/+state/crud.selectors.js","../tmp-esm2022/lib/+state/crud.facade.js","../tmp-esm2022/lib/components/export/export.component.js","../tmp-esm2022/lib/components/filter/base/base.component.js","../tmp-esm2022/lib/components/filter/check/check.component.js","../tmp-esm2022/lib/components/filter/date/date.component.js","../tmp-esm2022/lib/components/filter/date-time/date-time.component.js","../tmp-esm2022/lib/components/filter/date-with-edit/date-with-edit.component.js","../tmp-esm2022/lib/components/filter/flag/flag.component.js","../tmp-esm2022/lib/components/filter/int/int.component.js","../tmp-esm2022/lib/components/filter/radio/radio.component.js","../tmp-esm2022/lib/components/filter/text/text.component.js","../tmp-esm2022/lib/components/filter/filter.component.js","../tmp-esm2022/lib/components/filters/filters.component.js","../tmp-esm2022/lib/components/filters-config/filters-config.component.js","../tmp-esm2022/lib/providers/model-possibilities/model-possibilities.provider.js","../tmp-esm2022/lib/pipes/form-options/form-options.pipe.js","../tmp-esm2022/lib/pipes/pipes.module.js","../tmp-esm2022/lib/components/multiselect/multiselect.component.js","../tmp-esm2022/lib/services/list-group/list-group.service.js","../tmp-esm2022/lib/components/group/group.component.js","../tmp-esm2022/lib/factories/list-pagination/list-pagination.factory.js","../tmp-esm2022/lib/services/crud/crud.service.js","../tmp-esm2022/lib/components/components.module.js","../tmp-esm2022/lib/+state/crud.reducer.js","../tmp-esm2022/lib/+state/crud.effects.js","../tmp-esm2022/lib/pages/item/base/base.component.js","../tmp-esm2022/lib/pages/item/standard/standard.component.js","../tmp-esm2022/lib/services/page/page.service.js","../tmp-esm2022/lib/pages/item/item.component.js","../tmp-esm2022/lib/pages/list/base/base.component.js","../tmp-esm2022/lib/pages/list/standard/standard.component.js","../tmp-esm2022/lib/services/search/search.service.js","../tmp-esm2022/lib/pages/list/list.component.js","../tmp-esm2022/lib/crud-full.module.js","../tmp-esm2022/lib/crud.module.js","../tmp-esm2022/smartsoft001-crud-shell-angular.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class CrudConfig {\n apiUrl;\n entity;\n type;\n reducerFactory;\n baseQuery;\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudConfig });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudConfig, decorators: [{\n type: Injectable\n }] });\nexport class CrudFullConfig extends CrudConfig {\n title;\n details;\n edit;\n add;\n remove;\n search;\n export;\n pagination;\n sort;\n list;\n buttons;\n inputComponents;\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullConfig });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullConfig, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jcnVkLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDOztBQWFqRCxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQVU7SUFDaEIsTUFBTSxDQUFVO0lBQ2hCLElBQUksQ0FBTztJQUNYLGNBQWMsQ0FBYTtJQUMzQixTQUFTLENBQStCO3VHQUw3QixVQUFVOzJHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVU7O0FBVVgsTUFBTSxPQUFPLGNBQWtCLFNBQVEsVUFBYTtJQUNsRCxLQUFLLENBQVU7SUFDZixPQUFPLENBUUQ7SUFDTixJQUFJLENBUUU7SUFDTixHQUFHLENBT0c7SUFDTixNQUFNLENBQVc7SUFDakIsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sQ0FBVztJQUNqQixVQUFVLENBRVI7SUFDRixJQUFJLENBS0U7SUFDTixJQUFJLENBVUY7SUFDRixPQUFPLENBQTZCO0lBQ3BDLGVBQWUsQ0FFYjt1R0F0RFMsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBJSWNvbkJ1dHRvbk9wdGlvbnMsXG4gIElDZWxsUGlwZSxcbiAgSW5wdXRCYXNlQ29tcG9uZW50LFxuICBMaXN0TW9kZSxcbiAgUGFnaW5hdGlvbk1vZGUsXG59IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbmltcG9ydCB7IElDcnVkRmlsdGVyUXVlcnlJdGVtLCBJQ3J1ZExpc3RHcm91cCB9IGZyb20gJy4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRDb25maWc8VD4ge1xuICBhcGlVcmwhOiBzdHJpbmc7XG4gIGVudGl0eSE6IHN0cmluZztcbiAgdHlwZT86IGFueTtcbiAgcmVkdWNlckZhY3Rvcnk/OiAoKSA9PiBhbnk7XG4gIGJhc2VRdWVyeT86IEFycmF5PElDcnVkRmlsdGVyUXVlcnlJdGVtPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRGdWxsQ29uZmlnPFQ+IGV4dGVuZHMgQ3J1ZENvbmZpZzxUPiB7XG4gIHRpdGxlITogc3RyaW5nO1xuICBkZXRhaWxzPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgY2VsbFBpcGU/OiBJQ2VsbFBpcGU8VD47XG4gICAgICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICAgICAgdG9wPzogYW55O1xuICAgICAgICAgIGJvdHRvbT86IGFueTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gIGVkaXQ/OlxuICAgIHwgYm9vbGVhblxuICAgIHwge1xuICAgICAgICBjZWxsUGlwZT86IElDZWxsUGlwZTxUPjtcbiAgICAgICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgICB0b3A/OiBhbnk7XG4gICAgICAgICAgYm90dG9tPzogYW55O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgYWRkPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgICB0b3A/OiBhbnk7XG4gICAgICAgICAgYm90dG9tPzogYW55O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgcmVtb3ZlPzogYm9vbGVhbjtcbiAgc2VhcmNoPzogYm9vbGVhbjtcbiAgZXhwb3J0PzogYm9vbGVhbjtcbiAgcGFnaW5hdGlvbj86IHtcbiAgICBsaW1pdDogbnVtYmVyO1xuICB9O1xuICBzb3J0PzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgZGVmYXVsdD86IHN0cmluZztcbiAgICAgICAgZGVmYXVsdERlc2M/OiBib29sZWFuO1xuICAgICAgfTtcbiAgbGlzdD86IHtcbiAgICBjZWxsUGlwZT86IElDZWxsUGlwZTxUPjtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgdG9wPzogYW55O1xuICAgICAgbXVsdGk/OiBhbnk7XG4gICAgfTtcbiAgICBtb2RlPzogTGlzdE1vZGU7XG4gICAgcGFnaW5hdGlvbk1vZGU/OiBQYWdpbmF0aW9uTW9kZTtcbiAgICByZXNldFF1ZXJ5PzogJ2JlZm9yZUluaXQnO1xuICAgIGdyb3Vwcz86IEFycmF5PElDcnVkTGlzdEdyb3VwPjtcbiAgfTtcbiAgYnV0dG9ucz86IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz47XG4gIGlucHV0Q29tcG9uZW50cz86IHtcbiAgICBba2V5OiBzdHJpbmddOiBUeXBlPElucHV0QmFzZUNvbXBvbmVudDxUPj47XG4gIH07XG59XG4iXX0=","/*\n * Create\n */\nexport const create = function (entity, item) {\n return {\n type: `[${entity}] Create`,\n item,\n };\n};\nexport const createSuccess = function (entity, item) {\n return {\n type: `[${entity}] Create Success`,\n item,\n };\n};\nexport const createFailure = function (entity, item, error) {\n return {\n type: `[${entity}] Create Failure`,\n item,\n error,\n };\n};\n/*\n * Create many\n */\nexport const createMany = function (entity, data) {\n return {\n type: `[${entity}] Create Many`,\n data,\n };\n};\nexport const createManySuccess = function (entity, data) {\n return {\n type: `[${entity}] Create Many Success`,\n data,\n };\n};\nexport const createManyFailure = function (entity, data, error) {\n return {\n type: `[${entity}] Create Many Failure`,\n data,\n error,\n };\n};\n/*\n * Read\n */\nexport const read = function (entity, filter) {\n return {\n type: `[${entity}] Read`,\n filter: filter,\n };\n};\nexport const readSuccess = function (entity, filter, result) {\n return {\n type: `[${entity}] Read Success`,\n result,\n filter,\n };\n};\nexport const readFailure = function (entity, filter, error) {\n return {\n type: `[${entity}] Read Failure`,\n filter,\n error,\n };\n};\n/*\n * Clear\n */\nexport const clear = function (entity) {\n return {\n type: `[${entity}] Clear`,\n };\n};\n/*\n * Export\n */\nexport const exportList = function (entity, filter = null, format) {\n return {\n type: `[${entity}] Export`,\n filter: filter,\n format,\n };\n};\nexport const exportListSuccess = function (entity, filter) {\n return {\n type: `[${entity}] Export Success`,\n filter,\n };\n};\nexport const exportListFailure = function (entity, filter, error) {\n return {\n type: `[${entity}] Export Failure`,\n filter,\n error,\n };\n};\n/*\n * Select\n */\nexport const select = function (entity, id) {\n return {\n type: `[${entity}] Select`,\n id,\n };\n};\nexport const selectSuccess = function (entity, id, item) {\n return {\n type: `[${entity}] Select Success`,\n id,\n item,\n };\n};\nexport const selectFailure = function (entity, id, error) {\n return {\n type: `[${entity}] Select Failure`,\n id,\n error,\n };\n};\nexport const unselect = function (entity) {\n return {\n type: `[${entity}] Unselect`,\n };\n};\n/*\n * MultiSelect\n */\nexport const multiSelect = function (entity, items) {\n return {\n type: `[${entity}] MultiSelect`,\n items,\n };\n};\n/*\n * Update\n */\nexport const update = function (entity, item) {\n return {\n type: `[${entity}] Update`,\n item,\n };\n};\nexport const updateSuccess = function (entity, item) {\n return {\n type: `[${entity}] Update Success`,\n item,\n };\n};\nexport const updateFailure = function (entity, item, error) {\n return {\n type: `[${entity}] Update Failure`,\n item,\n error,\n };\n};\n/*\n * Update partial\n */\nexport const updatePartial = function (entity, item) {\n return {\n type: `[${entity}] Update partial`,\n item,\n };\n};\nexport const updatePartialSuccess = function (entity, item) {\n return {\n type: `[${entity}] Update partial Success`,\n item,\n };\n};\nexport const updatePartialFailure = function (entity, item, error) {\n return {\n type: `[${entity}] Update partial Failure`,\n item,\n error,\n };\n};\n/*\n * Update partial many\n */\nexport const updatePartialMany = function (entity, items) {\n return {\n type: `[${entity}] Update partial many`,\n items,\n };\n};\nexport const updatePartialManySuccess = function (entity, items) {\n return {\n type: `[${entity}] Update partial many Success`,\n items,\n };\n};\nexport const updatePartialManyFailure = function (entity, items, error) {\n return {\n type: `[${entity}] Update partial many Failure`,\n items,\n error,\n };\n};\n/*\n * Delete\n */\nexport const deleteItem = function (entity, id) {\n return {\n type: `[${entity}] Delete`,\n id,\n };\n};\nexport const deleteSuccess = function (entity, id) {\n return {\n type: `[${entity}] Delete Success`,\n id,\n };\n};\nexport const deleteFailure = function (entity, id, error) {\n return {\n type: `[${entity}] Delete Failure`,\n id,\n error,\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvK3N0YXRlL2NydWQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxVQUNwQixNQUFjLEVBQ2QsSUFBTztJQUVQLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxNQUFNLFVBQVU7UUFDMUIsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFDM0IsTUFBYyxFQUNkLElBQU87SUFFUCxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSxrQkFBa0I7UUFDbEMsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFDM0IsTUFBYyxFQUNkLElBQU8sRUFDUCxLQUFVO0lBRVYsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLE1BQU0sa0JBQWtCO1FBQ2xDLElBQUk7UUFDSixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFVBQ3hCLE1BQWMsRUFDZCxJQUFxRDtJQUVyRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSxlQUFlO1FBQy9CLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsVUFDL0IsTUFBYyxFQUNkLElBQXFEO0lBRXJELE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxNQUFNLHVCQUF1QjtRQUN2QyxJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFVBQy9C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QUFpQixHQUFHLFVBQy9CLE1BQWMsRUFDZCxLQUFvQztJQUVwQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSx1QkFBdUI7UUFDdkMsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxVQUN0QyxNQUFjLEVBQ2QsS0FBb0M7SUFFcEMsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLE1BQU0sK0JBQStCO1FBQy9DLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsVUFDdEMsTUFBYyxFQUNkLEtBQW9DLEVBQ3BDLEtBQVU7SUFFVixPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSwrQkFBK0I7UUFDL0MsS0FBSztRQUNMLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsVUFDeEIsTUFBYyxFQUNkLEVBQVU7SUFFVixPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSxVQUFVO1FBQzFCLEVBQUU7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQzNCLE1BQWMsRUFDZCxFQUFVO0lBRVYsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLE1BQU0sa0JBQWtCO1FBQ2xDLEVBQUU7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQzNCLE1BQWMsRUFDZCxFQUFVLEVBQ1YsS0FBVTtJQUVWLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxNQUFNLGtCQUFrQjtRQUNsQyxFQUFFO1FBQ0YsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgSUNydWRDcmVhdGVNYW55T3B0aW9ucywgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG4vKlxuICogQ3JlYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtOiBULFxuKTogQWN0aW9uICYgeyBpdGVtOiBUIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBDcmVhdGVgLFxuICAgIGl0ZW0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU3VjY2VzcyA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFQgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIENyZWF0ZSBTdWNjZXNzYCxcbiAgICBpdGVtLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtOiBULFxuICBlcnJvcjogYW55LFxuKTogQWN0aW9uICYgeyBpdGVtOiBUOyBlcnJvcjogYW55IH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBDcmVhdGUgRmFpbHVyZWAsXG4gICAgaXRlbSxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBDcmVhdGUgbWFueVxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlTWFueSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGRhdGE6IHsgaXRlbXM6IFRbXTsgb3B0aW9uczogSUNydWRDcmVhdGVNYW55T3B0aW9ucyB9LFxuKTogQWN0aW9uICYgeyBkYXRhOiB7IGl0ZW1zOiBUW107IG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMgfSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gQ3JlYXRlIE1hbnlgLFxuICAgIGRhdGEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFueVN1Y2Nlc3MgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBkYXRhOiB7IGl0ZW1zOiBUW107IG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMgfSxcbik6IEFjdGlvbiAmIHsgZGF0YTogeyBpdGVtczogVFtdOyBvcHRpb25zOiBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zIH0gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIENyZWF0ZSBNYW55IFN1Y2Nlc3NgLFxuICAgIGRhdGEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFueUZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBkYXRhOiB7IGl0ZW1zOiBUW107IG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMgfSxcbiAgZXJyb3I6IGFueSxcbik6IEFjdGlvbiAmIHtcbiAgZGF0YTogeyBpdGVtczogVFtdOyBvcHRpb25zOiBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zIH07XG4gIGVycm9yOiBhbnk7XG59IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gQ3JlYXRlIE1hbnkgRmFpbHVyZWAsXG4gICAgZGF0YSxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBSZWFkXG4gKi9cbmV4cG9ydCBjb25zdCByZWFkID0gZnVuY3Rpb24gKFxuICBlbnRpdHk6IHN0cmluZyxcbiAgZmlsdGVyPzogSUNydWRGaWx0ZXIsXG4pOiBBY3Rpb24gJiB7IGZpbHRlcj86IElDcnVkRmlsdGVyIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBSZWFkYCxcbiAgICBmaWx0ZXI6IGZpbHRlcixcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWFkU3VjY2VzcyA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LCBGPihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGZpbHRlcjogRixcbiAgcmVzdWx0OiB7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rczogYW55IH0sXG4pOiBBY3Rpb24gJiB7XG4gIHJlc3VsdDogeyBkYXRhOiBUW107IHRvdGFsQ291bnQ6IG51bWJlcjsgbGlua3M6IGFueSB9O1xuICBmaWx0ZXI6IEY7XG59IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gUmVhZCBTdWNjZXNzYCxcbiAgICByZXN1bHQsXG4gICAgZmlsdGVyLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHJlYWRGYWlsdXJlID0gZnVuY3Rpb24gPEY+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgZmlsdGVyOiBGLFxuICBlcnJvcjogYW55LFxuKTogQWN0aW9uICYgeyBmaWx0ZXI6IEY7IGVycm9yOiBhbnkgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFJlYWQgRmFpbHVyZWAsXG4gICAgZmlsdGVyLFxuICAgIGVycm9yLFxuICB9O1xufTtcblxuLypcbiAqIENsZWFyXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhciA9IGZ1bmN0aW9uIChlbnRpdHk6IHN0cmluZyk6IEFjdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIENsZWFyYCxcbiAgfTtcbn07XG5cbi8qXG4gKiBFeHBvcnRcbiAqL1xuZXhwb3J0IGNvbnN0IGV4cG9ydExpc3QgPSBmdW5jdGlvbiAoXG4gIGVudGl0eTogc3RyaW5nLFxuICBmaWx0ZXI6IElDcnVkRmlsdGVyIHwgbnVsbCA9IG51bGwsXG4gIGZvcm1hdDogYW55LFxuKTogQWN0aW9uICYgeyBmaWx0ZXI6IElDcnVkRmlsdGVyOyBmb3JtYXQ6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gRXhwb3J0YCxcbiAgICBmaWx0ZXI6IGZpbHRlciBhcyBhbnksXG4gICAgZm9ybWF0LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV4cG9ydExpc3RTdWNjZXNzID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sIEY+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgZmlsdGVyOiBGLFxuKTogQWN0aW9uICYgeyBmaWx0ZXI6IEYgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIEV4cG9ydCBTdWNjZXNzYCxcbiAgICBmaWx0ZXIsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXhwb3J0TGlzdEZhaWx1cmUgPSBmdW5jdGlvbiA8Rj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBmaWx0ZXI6IEYsXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGZpbHRlcjogRjsgZXJyb3I6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gRXhwb3J0IEZhaWx1cmVgLFxuICAgIGZpbHRlcixcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBTZWxlY3RcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdCA9IGZ1bmN0aW9uIChcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4pOiBBY3Rpb24gJiB7IGlkOiBzdHJpbmcgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFNlbGVjdGAsXG4gICAgaWQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0U3VjY2VzcyA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LCBGPihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4pOiBBY3Rpb24gJiB7IGlkOiBzdHJpbmc7IGl0ZW06IFQgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFNlbGVjdCBTdWNjZXNzYCxcbiAgICBpZCxcbiAgICBpdGVtLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEZhaWx1cmUgPSBmdW5jdGlvbiA8Rj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICBlcnJvcjogYW55LFxuKTogQWN0aW9uICYgeyBpZDogc3RyaW5nOyBlcnJvcjogYW55IH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBTZWxlY3QgRmFpbHVyZWAsXG4gICAgaWQsXG4gICAgZXJyb3IsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdW5zZWxlY3QgPSBmdW5jdGlvbiAoZW50aXR5OiBzdHJpbmcpOiBBY3Rpb24ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBVbnNlbGVjdGAsXG4gIH07XG59O1xuXG4vKlxuICogTXVsdGlTZWxlY3RcbiAqL1xuZXhwb3J0IGNvbnN0IG11bHRpU2VsZWN0ID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbXM6IEFycmF5PFQ+LFxuKTogQWN0aW9uICYgeyBpdGVtczogQXJyYXk8VD4gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIE11bHRpU2VsZWN0YCxcbiAgICBpdGVtcyxcbiAgfTtcbn07XG5cbi8qXG4gKiBVcGRhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IHVwZGF0ZSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFQgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZWAsXG4gICAgaXRlbSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVTdWNjZXNzID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbTogVCxcbik6IEFjdGlvbiAmIHsgaXRlbTogVCB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIFN1Y2Nlc3NgLFxuICAgIGl0ZW0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRmFpbHVyZSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFQ7IGVycm9yOiBhbnkgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZSBGYWlsdXJlYCxcbiAgICBpdGVtLFxuICAgIGVycm9yLFxuICB9O1xufTtcblxuLypcbiAqIFVwZGF0ZSBwYXJ0aWFsXG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbTogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9LFxuKTogQWN0aW9uICYgeyBpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsYCxcbiAgICBpdGVtLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVBhcnRpYWxTdWNjZXNzID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbTogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9LFxuKTogQWN0aW9uICYgeyBpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsIFN1Y2Nlc3NgLFxuICAgIGl0ZW0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUGFydGlhbEZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0sXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfTsgZXJyb3I6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgRmFpbHVyZWAsXG4gICAgaXRlbSxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBVcGRhdGUgcGFydGlhbCBtYW55XG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsTWFueSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW1zOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH1bXSxcbik6IEFjdGlvbiAmIHsgaXRlbXM6IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfVtdIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55YCxcbiAgICBpdGVtcyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsTWFueVN1Y2Nlc3MgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtczogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9W10sXG4pOiBBY3Rpb24gJiB7IGl0ZW1zOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH1bXSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBTdWNjZXNzYCxcbiAgICBpdGVtcyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsTWFueUZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtczogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9W10sXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGl0ZW1zOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH1bXTsgZXJyb3I6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBGYWlsdXJlYCxcbiAgICBpdGVtcyxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBEZWxldGVcbiAqL1xuZXhwb3J0IGNvbnN0IGRlbGV0ZUl0ZW0gPSBmdW5jdGlvbiAoXG4gIGVudGl0eTogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuKTogQWN0aW9uICYgeyBpZDogc3RyaW5nIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBEZWxldGVgLFxuICAgIGlkLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVN1Y2Nlc3MgPSBmdW5jdGlvbiAoXG4gIGVudGl0eTogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuKTogQWN0aW9uICYgeyBpZDogc3RyaW5nIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBEZWxldGUgU3VjY2Vzc2AsXG4gICAgaWQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRmFpbHVyZSA9IGZ1bmN0aW9uIDxGPihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGlkOiBzdHJpbmc7IGVycm9yOiBhbnkgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIERlbGV0ZSBGYWlsdXJlYCxcbiAgICBpZCxcbiAgICBlcnJvcixcbiAgfTtcbn07XG4iXX0=","import { createFeatureSelector, createSelector } from '@ngrx/store';\nexport const getCrudState = (entity) => createFeatureSelector(entity);\nexport const getCrudSelected = (entity) => createSelector(getCrudState(entity), (state) => state.selected);\nexport const getCrudMultiSelected = (entity) => createSelector(getCrudState(entity), (state) => state.multiSelected);\nexport const getCrudList = (entity) => createSelector(getCrudState(entity), (state) => state.list);\nexport const getCrudTotalCount = (entity) => createSelector(getCrudState(entity), (state) => state.totalCount);\nexport const getCrudLinks = (entity) => createSelector(getCrudState(entity), (state) => state.links);\nexport const getCrudLoaded = (entity) => createSelector(getCrudState(entity), (state) => state.loaded);\nexport const getCrudFilter = (entity) => createSelector(getCrudState(entity), (state) => state.filter);\nexport const getCrudError = (entity) => createSelector(getCrudState(entity), (state) => state.error);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi8rc3RhdGUvY3J1ZC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM3QyxxQkFBcUIsQ0FBTSxNQUFNLENBQUMsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUNoRCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUNyRCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDNUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDbEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQzdDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM5QyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDOUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQzdDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRDcnVkU3RhdGUgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZUZlYXR1cmVTZWxlY3Rvcjxhbnk+KGVudGl0eSk7XG5cbmV4cG9ydCBjb25zdCBnZXRDcnVkU2VsZWN0ZWQgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGdldENydWRTdGF0ZShlbnRpdHkpLCAoc3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkKTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRNdWx0aVNlbGVjdGVkID0gKGVudGl0eTogc3RyaW5nKSA9PlxuICBjcmVhdGVTZWxlY3RvcihnZXRDcnVkU3RhdGUoZW50aXR5KSwgKHN0YXRlKSA9PiBzdGF0ZS5tdWx0aVNlbGVjdGVkKTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRMaXN0ID0gKGVudGl0eTogc3RyaW5nKSA9PlxuICBjcmVhdGVTZWxlY3RvcihnZXRDcnVkU3RhdGUoZW50aXR5KSwgKHN0YXRlKSA9PiBzdGF0ZS5saXN0KTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRUb3RhbENvdW50ID0gKGVudGl0eTogc3RyaW5nKSA9PlxuICBjcmVhdGVTZWxlY3RvcihnZXRDcnVkU3RhdGUoZW50aXR5KSwgKHN0YXRlKSA9PiBzdGF0ZS50b3RhbENvdW50KTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRMaW5rcyA9IChlbnRpdHk6IHN0cmluZykgPT5cbiAgY3JlYXRlU2VsZWN0b3IoZ2V0Q3J1ZFN0YXRlKGVudGl0eSksIChzdGF0ZSkgPT4gc3RhdGUubGlua3MpO1xuXG5leHBvcnQgY29uc3QgZ2V0Q3J1ZExvYWRlZCA9IChlbnRpdHk6IHN0cmluZykgPT5cbiAgY3JlYXRlU2VsZWN0b3IoZ2V0Q3J1ZFN0YXRlKGVudGl0eSksIChzdGF0ZSkgPT4gc3RhdGUubG9hZGVkKTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRGaWx0ZXIgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGdldENydWRTdGF0ZShlbnRpdHkpLCAoc3RhdGUpID0+IHN0YXRlLmZpbHRlcik7XG5cbmV4cG9ydCBjb25zdCBnZXRDcnVkRXJyb3IgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGdldENydWRTdGF0ZShlbnRpdHkpLCAoc3RhdGUpID0+IHN0YXRlLmVycm9yKTtcbiJdfQ==","import { Injectable } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { select, Store } from '@ngrx/store';\nimport { map } from 'rxjs/operators';\nimport { NgrxStoreService } from '@smartsoft001/angular';\nimport { CrudConfig } from '../crud.config';\nimport * as CrudActions from './crud.actions';\nimport * as CrudSelectors from './crud.selectors';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngrx/store\";\nimport * as i2 from \"../crud.config\";\nexport class CrudFacade {\n store;\n config;\n constructor(store, config) {\n this.store = store;\n this.config = config;\n if (NgrxStoreService.store) {\n this.store = NgrxStoreService.store;\n }\n }\n get loaded() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudLoaded(this.config.entity))));\n }\n get loading() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudLoaded(this.config.entity)), map((l) => !l)));\n }\n get selected() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudSelected(this.config.entity))));\n }\n get multiSelected() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudMultiSelected(this.config.entity))));\n }\n get list() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudList(this.config.entity))));\n }\n get filter() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudFilter(this.config.entity))));\n }\n get totalCount() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudTotalCount(this.config.entity))));\n }\n get links() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudLinks(this.config.entity))));\n }\n get error() {\n return toSignal(this.store.pipe(select(CrudSelectors.getCrudError(this.config.entity))));\n }\n create(item) {\n this.store.dispatch(CrudActions.create(this.config.entity, item));\n }\n createMany(items, options) {\n this.store.dispatch(CrudActions.createMany(this.config.entity, { items, options }));\n }\n read(filter = {}) {\n let baseQuery = [];\n if (this.config.baseQuery) {\n baseQuery = this.config.baseQuery;\n }\n const fullFilter = {\n ...(filter ? filter : {}),\n query: filter && filter.query ? filter.query : baseQuery,\n };\n this.store.dispatch(CrudActions.read(this.config.entity, fullFilter));\n }\n clear() {\n this.store.dispatch(CrudActions.clear(this.config.entity));\n }\n select(id) {\n this.store.dispatch(CrudActions.select(this.config.entity, id));\n }\n unselect() {\n this.store.dispatch(CrudActions.unselect(this.config.entity));\n }\n multiSelect(items) {\n this.store.dispatch(CrudActions.multiSelect(this.config.entity, items));\n }\n update(item) {\n this.getStore().dispatch(CrudActions.update(this.config.entity, item));\n }\n export(filter = {}, format) {\n this.getStore().dispatch(CrudActions.exportList(this.config.entity, filter, format));\n }\n updatePartial(item) {\n this.getStore().dispatch(CrudActions.updatePartial(this.config.entity, item));\n }\n updatePartialMany(items) {\n this.getStore().dispatch(CrudActions.updatePartialMany(this.config.entity, items));\n }\n delete(id) {\n this.getStore().dispatch(CrudActions.deleteItem(this.config.entity, id));\n }\n getStore() {\n if (NgrxStoreService.store)\n return NgrxStoreService.store;\n return this.store;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFacade, deps: [{ token: i1.Store }, { token: i2.CrudConfig }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFacade });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFacade, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.Store }, { type: i2.CrudConfig }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi8rc3RhdGUvY3J1ZC5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFRbEQsTUFBTSxPQUFPLFVBQVU7SUFFRjtJQUNUO0lBRlYsWUFDbUIsS0FBaUIsRUFDMUIsTUFBcUI7UUFEWixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFFN0IsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sUUFBUSxDQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUks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LE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekIsS0FBSyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3pELENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWU7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBTztRQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBc0IsRUFBRSxFQUFFLE1BQWU7UUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FDdEIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWlDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQ3RCLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBc0M7UUFDdEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FDdEIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFVO1FBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLGdCQUFnQixDQUFDLEtBQUs7WUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUUxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzt1R0EvSVUsVUFBVTsyR0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE5ncnhTdG9yZVNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBDcnVkQ29uZmlnIH0gZnJvbSAnLi4vY3J1ZC5jb25maWcnO1xuaW1wb3J0ICogYXMgQ3J1ZEFjdGlvbnMgZnJvbSAnLi9jcnVkLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgQ3J1ZFNlbGVjdG9ycyBmcm9tICcuL2NydWQuc2VsZWN0b3JzJztcbmltcG9ydCB7XG4gIElDcnVkQ3JlYXRlTWFueU9wdGlvbnMsXG4gIElDcnVkRmlsdGVyLFxuICBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSxcbn0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRGYWNhZGU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgY29uZmlnOiBDcnVkQ29uZmlnPFQ+LFxuICApIHtcbiAgICBpZiAoTmdyeFN0b3JlU2VydmljZS5zdG9yZSkge1xuICAgICAgdGhpcy5zdG9yZSA9IE5ncnhTdG9yZVNlcnZpY2Uuc3RvcmU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxvYWRlZCgpIHtcbiAgICByZXR1cm4gdG9TaWduYWw8Ym9vbGVhbj4oXG4gICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZExvYWRlZCh0aGlzLmNvbmZpZy5lbnRpdHkpKSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nKCk6IFNpZ25hbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRvU2lnbmFsPGJvb2xlYW4+KFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkTG9hZGVkKHRoaXMuY29uZmlnLmVudGl0eSkpLFxuICAgICAgICBtYXAoKGwpID0+ICFsKSxcbiAgICAgICksXG4gICAgKSBhcyBTaWduYWw8Ym9vbGVhbj47XG4gIH1cblxuICBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsPFQ+KFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkU2VsZWN0ZWQodGhpcy5jb25maWcuZW50aXR5KSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXQgbXVsdGlTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdG9TaWduYWw8VFtdPihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZE11bHRpU2VsZWN0ZWQodGhpcy5jb25maWcuZW50aXR5KSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXQgbGlzdCgpIHtcbiAgICByZXR1cm4gdG9TaWduYWw8VFtdPihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkTGlzdCh0aGlzLmNvbmZpZy5lbnRpdHkpKSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXIoKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsPElDcnVkRmlsdGVyPihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkRmlsdGVyKHRoaXMuY29uZmlnLmVudGl0eSkpKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ291bnQoKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsPG51bWJlcj4oXG4gICAgICB0aGlzLnN0b3JlLnBpcGUoXG4gICAgICAgIHNlbGVjdChDcnVkU2VsZWN0b3JzLmdldENydWRUb3RhbENvdW50KHRoaXMuY29uZmlnLmVudGl0eSkpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGxpbmtzKCkge1xuICAgIHJldHVybiB0b1NpZ25hbDxhbnk+KFxuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChDcnVkU2VsZWN0b3JzLmdldENydWRMaW5rcyh0aGlzLmNvbmZpZy5lbnRpdHkpKSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdG9TaWduYWw8YW55PihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkRXJyb3IodGhpcy5jb25maWcuZW50aXR5KSkpLFxuICAgICk7XG4gIH1cblxuICBjcmVhdGUoaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMuY3JlYXRlKHRoaXMuY29uZmlnLmVudGl0eSwgaXRlbSkpO1xuICB9XG5cbiAgY3JlYXRlTWFueShpdGVtczogQXJyYXk8VD4sIG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQ3J1ZEFjdGlvbnMuY3JlYXRlTWFueSh0aGlzLmNvbmZpZy5lbnRpdHksIHsgaXRlbXMsIG9wdGlvbnMgfSksXG4gICAgKTtcbiAgfVxuXG4gIHJlYWQoZmlsdGVyOiBJQ3J1ZEZpbHRlciA9IHt9KTogdm9pZCB7XG4gICAgbGV0IGJhc2VRdWVyeTogSUNydWRGaWx0ZXJRdWVyeUl0ZW1bXSA9IFtdO1xuICAgIGlmICh0aGlzLmNvbmZpZy5iYXNlUXVlcnkpIHtcbiAgICAgIGJhc2VRdWVyeSA9IHRoaXMuY29uZmlnLmJhc2VRdWVyeTtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsRmlsdGVyID0ge1xuICAgICAgLi4uKGZpbHRlciA/IGZpbHRlciA6IHt9KSxcbiAgICAgIHF1ZXJ5OiBmaWx0ZXIgJiYgZmlsdGVyLnF1ZXJ5ID8gZmlsdGVyLnF1ZXJ5IDogYmFzZVF1ZXJ5LFxuICAgIH07XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCBmdWxsRmlsdGVyKSk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLmNsZWFyKHRoaXMuY29uZmlnLmVudGl0eSkpO1xuICB9XG5cbiAgc2VsZWN0KGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnNlbGVjdCh0aGlzLmNvbmZpZy5lbnRpdHksIGlkKSk7XG4gIH1cblxuICB1bnNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnVuc2VsZWN0KHRoaXMuY29uZmlnLmVudGl0eSkpO1xuICB9XG5cbiAgbXVsdGlTZWxlY3QoaXRlbXM6IEFycmF5PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDcnVkQWN0aW9ucy5tdWx0aVNlbGVjdCh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW1zKSk7XG4gIH1cblxuICB1cGRhdGUoaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3RvcmUoKS5kaXNwYXRjaChDcnVkQWN0aW9ucy51cGRhdGUodGhpcy5jb25maWcuZW50aXR5LCBpdGVtKSk7XG4gIH1cblxuICBleHBvcnQoZmlsdGVyOiBJQ3J1ZEZpbHRlciA9IHt9LCBmb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goXG4gICAgICBDcnVkQWN0aW9ucy5leHBvcnRMaXN0KHRoaXMuY29uZmlnLmVudGl0eSwgZmlsdGVyLCBmb3JtYXQpLFxuICAgICk7XG4gIH1cblxuICB1cGRhdGVQYXJ0aWFsKGl0ZW06IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3RvcmUoKS5kaXNwYXRjaChcbiAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWwodGhpcy5jb25maWcuZW50aXR5LCBpdGVtKSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUGFydGlhbE1hbnkoaXRlbXM6IChQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0pW10pIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goXG4gICAgICBDcnVkQWN0aW9ucy51cGRhdGVQYXJ0aWFsTWFueSh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW1zKSxcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMuZGVsZXRlSXRlbSh0aGlzLmNvbmZpZy5lbnRpdHksIGlkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFN0b3JlKCk6IFN0b3JlIHtcbiAgICBpZiAoTmdyeFN0b3JlU2VydmljZS5zdG9yZSkgcmV0dXJuIE5ncnhTdG9yZVNlcnZpY2Uuc3RvcmU7XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yZTtcbiAgfVxufVxuIl19","import { Component, ElementRef, inject } from '@angular/core';\nimport { BaseComponent, ButtonComponent, PopoverService, StyleService, } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class ExportComponent extends BaseComponent {\n facade = inject((CrudFacade));\n popoverService = inject(PopoverService);\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n buttonExportCsvOptions = this.initButtonExportOptions('csv');\n buttonExportXlsxOptions = this.initButtonExportOptions('xlsx');\n ngOnInit() {\n this.styleService.init(this.elementRef);\n }\n initButtonExportOptions(format) {\n return {\n click: () => {\n this.facade.export({\n ...this.facade.filter(),\n offset: undefined,\n limit: undefined,\n }, format);\n const loading = this.facade.loading();\n if (loading)\n return;\n this.popoverService.close().then();\n },\n loading: this.facade.loading,\n expand: 'block',\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ExportComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.0\", type: ExportComponent, isStandalone: true, selector: \"smart-crud-export\", usesInheritance: true, ngImport: i0, template: `\n <div class=\"p-5\">\n <p class=\"my-2.5 mx-0\">\n <smart-button [options]=\"buttonExportCsvOptions\" class=\"w-full block\"\n >CSV</smart-button\n >\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\" class=\"w-full block\"\n >XLSX</smart-button\n >\n </p>\n </div>\n `, isInline: true, dependencies: [{ kind: \"component\", type: ButtonComponent, selector: \"smart-button\", inputs: [\"options\", \"disabled\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ExportComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-export',\n template: `\n <div class=\"p-5\">\n <p class=\"my-2.5 mx-0\">\n <smart-button [options]=\"buttonExportCsvOptions\" class=\"w-full block\"\n >CSV</smart-button\n >\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\" class=\"w-full block\"\n >XLSX</smart-button\n >\n </p>\n </div>\n `,\n imports: [ButtonComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXhwb3J0L2V4cG9ydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUVmLGNBQWMsRUFDZCxZQUFZLEdBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBb0J0RCxNQUFNLE9BQU8sZUFDWCxTQUFRLGFBQWE7SUFHYixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4QyxzQkFBc0IsR0FBbUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLHVCQUF1QixHQUNyQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdkMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBYztRQUM1QyxPQUFPO1lBQ0wsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDaEI7b0JBQ0UsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtvQkFDdkIsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLEtBQUssRUFBRSxTQUFTO2lCQUNqQixFQUNELE1BQU0sQ0FDUCxDQUFDO2dCQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksT0FBTztvQkFBRSxPQUFPO2dCQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JDLENBQUM7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzVCLE1BQU0sRUFBRSxPQUFPO1NBQ2hCLENBQUM7SUFDSixDQUFDO3VHQXBDVSxlQUFlOzJGQUFmLGVBQWUsb0dBaEJoQjs7Ozs7Ozs7Ozs7OztHQWFULDREQUNTLGVBQWU7OzJGQUVkLGVBQWU7a0JBbEIzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJhc2VDb21wb25lbnQsXG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgSUJ1dHRvbk9wdGlvbnMsXG4gIFBvcG92ZXJTZXJ2aWNlLFxuICBTdHlsZVNlcnZpY2UsXG59IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWV4cG9ydCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInAtNVwiPlxuICAgICAgPHAgY2xhc3M9XCJteS0yLjUgbXgtMFwiPlxuICAgICAgICA8c21hcnQtYnV0dG9uIFtvcHRpb25zXT1cImJ1dHRvbkV4cG9ydENzdk9wdGlvbnNcIiBjbGFzcz1cInctZnVsbCBibG9ja1wiXG4gICAgICAgICAgPkNTVjwvc21hcnQtYnV0dG9uXG4gICAgICAgID5cbiAgICAgIDwvcD5cbiAgICAgIDxwPlxuICAgICAgICA8c21hcnQtYnV0dG9uIFtvcHRpb25zXT1cImJ1dHRvbkV4cG9ydFhsc3hPcHRpb25zXCIgY2xhc3M9XCJ3LWZ1bGwgYmxvY2tcIlxuICAgICAgICAgID5YTFNYPC9zbWFydC1idXR0b25cbiAgICAgICAgPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICBgLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0Q29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+XG4gIGV4dGVuZHMgQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBwcml2YXRlIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHJpdmF0ZSBwb3BvdmVyU2VydmljZSA9IGluamVjdChQb3BvdmVyU2VydmljZSk7XG4gIHByaXZhdGUgc3R5bGVTZXJ2aWNlID0gaW5qZWN0KFN0eWxlU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBidXR0b25FeHBvcnRDc3ZPcHRpb25zOiBJQnV0dG9uT3B0aW9ucyA9IHRoaXMuaW5pdEJ1dHRvbkV4cG9ydE9wdGlvbnMoJ2NzdicpO1xuICBidXR0b25FeHBvcnRYbHN4T3B0aW9uczogSUJ1dHRvbk9wdGlvbnMgPVxuICAgIHRoaXMuaW5pdEJ1dHRvbkV4cG9ydE9wdGlvbnMoJ3hsc3gnKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG4gIH1cblxuICBwcml2YXRlIGluaXRCdXR0b25FeHBvcnRPcHRpb25zKGZvcm1hdDogc3RyaW5nKTogSUJ1dHRvbk9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjbGljazogKCkgPT4ge1xuICAgICAgICB0aGlzLmZhY2FkZS5leHBvcnQoXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4udGhpcy5mYWNhZGUuZmlsdGVyKCksXG4gICAgICAgICAgICBvZmZzZXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGxpbWl0OiB1bmRlZmluZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbG9hZGluZyA9IHRoaXMuZmFjYWRlLmxvYWRpbmcoKTtcbiAgICAgICAgaWYgKGxvYWRpbmcpIHJldHVybjtcbiAgICAgICAgdGhpcy5wb3BvdmVyU2VydmljZS5jbG9zZSgpLnRoZW4oKTtcbiAgICAgIH0sXG4gICAgICBsb2FkaW5nOiB0aGlzLmZhY2FkZS5sb2FkaW5nLFxuICAgICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { __decorate, __metadata } from \"tslib\";\nimport { Directive, inject, input, } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Debounce } from 'lodash-decorators';\nimport { FieldType } from '@smartsoft001/models';\nimport { CrudFacade } from '../../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class BaseComponent {\n facade = inject((CrudFacade));\n translateService = inject(TranslateService);\n possibilities;\n item = input(...(ngDevMode ? [undefined, { debugName: \"item\" }] : []));\n filter = input(...(ngDevMode ? [undefined, { debugName: \"filter\" }] : []));\n get value() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return null;\n if (this.isArrayType()) {\n return filter.query\n .filter((q) => q.key === item.key && q.type === item.type)\n .map((q) => q.value);\n }\n const query = filter.query.find((q) => q.key === item.key && q.type === item.type);\n return query?.value;\n }\n set value(val) {\n this.refresh(val);\n }\n get minValue() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return null;\n if (this.isArrayType()) {\n return filter.query\n .filter((q) => q.key === item.key && q.type === '>=')\n .map((q) => q.value);\n }\n const query = filter.query.find((q) => q.key === item.key && q.type === '>=');\n return query?.value;\n }\n set minValue(val) {\n this.refresh(val, '>=');\n }\n get maxValue() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return null;\n if (this.isArrayType()) {\n return filter.query\n .filter((q) => q.key === item.key && q.type === '<=')\n .map((q) => q.value);\n }\n const query = filter.query.find((q) => q.key === item.key && q.type === '<=');\n return query?.value;\n }\n set maxValue(val) {\n this.refresh(val, '<=');\n }\n get lang() {\n return this.translateService.currentLang;\n }\n refresh(val, type = null) {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item)\n return;\n if (!type)\n type = item.type;\n if (!filter.query)\n filter.query = [];\n filter.offset = 0;\n if (this.isArrayType()) {\n this.refreshForArray(val, type);\n return;\n }\n let query = filter.query.find((q) => q.key === item.key && q.type === type);\n if (val === null || val === undefined || val === '') {\n if (query) {\n const index = filter.query.indexOf(query);\n if (index > -1) {\n filter.query.splice(index, 1);\n }\n }\n this.facade.read(filter);\n return;\n }\n if (!query) {\n query = {\n key: item.key,\n type: type,\n value: null,\n };\n filter.query.push(query);\n }\n query.value = val;\n query.label = item.label;\n this.facade.read(filter);\n }\n clear() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return;\n filter.query = filter.query.filter((q) => q.key !== item.key);\n filter.offset = 0;\n this.facade.read(filter);\n }\n ngOnInit() {\n this.initPossibilities();\n }\n initPossibilities() {\n const item = this.item();\n if (item?.possibilities) {\n this.possibilities = item.possibilities;\n }\n }\n isArrayType() {\n const item = this.item();\n return item?.fieldType === FieldType.check;\n }\n refreshForArray(vals, type) {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item)\n return;\n if (!filter.query)\n filter.query = [];\n const queries = filter.query.filter((q) => q.key === item.key && q.type === type);\n queries.forEach((query) => {\n const index = filter.query.indexOf(query);\n if (index > -1) {\n filter.query.splice(index, 1);\n }\n });\n if (vals === null || vals === undefined || !vals.length) {\n this.facade.read(filter);\n return;\n }\n vals.forEach((val) => {\n const query = {\n key: item.key,\n type: type,\n value: val,\n };\n filter.query.push(query);\n });\n this.facade.read(filter);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.0\", type: BaseComponent, isStandalone: true, inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: \"filter\", publicName: \"filter\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\n__decorate([\n Debounce(500),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", void 0)\n], BaseComponent.prototype, \"refresh\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: BaseComponent, decorators: [{\n type: Directive\n }], propDecorators: { refresh: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9iYXNlL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUl6RCxNQUFNLE9BQU8sYUFBYTtJQUNkLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUFhLENBQUEsQ0FBQyxDQUFDO0lBQy9CLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXRELGFBQWEsQ0FBdUM7SUFFM0MsSUFBSSxHQUEwQyxLQUFLLDBEQUFnQixDQUFDO0lBQ3BFLE1BQU0sR0FBeUMsS0FBSyw0REFBZSxDQUFDO0lBRTdFLElBQUksS0FBSztRQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN2QixPQUFPLE1BQU0sQ0FBQyxLQUFLO2lCQUNoQixN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QUMsQ0FBQztZQUMzQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQixNQUFNLEtBQUssR0FBRztnQkFDWixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLElBQTRDO2dCQUNsRCxLQUFLLEVBQUUsR0FBRzthQUNYLENBQUM7WUFFRixNQUFNLENBQUMsS0FBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7dUdBdkxVLGFBQWE7MkZBQWIsYUFBYTs7QUE2RXhCO0lBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7Ozs0Q0E4Q2I7MkZBMUhVLGFBQWE7a0JBRHpCLFNBQVM7OEJBOEVSLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1kZWNvcmF0b3JzJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBJTW9kZWxGaWx0ZXIgfSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgcG9zc2liaWxpdGllcyE6IFNpZ25hbDx7IGlkOiBhbnk7IHRleHQ6IHN0cmluZyB9W10+O1xuXG4gIHJlYWRvbmx5IGl0ZW06IElucHV0U2lnbmFsPElNb2RlbEZpbHRlciB8IHVuZGVmaW5lZD4gPSBpbnB1dDxJTW9kZWxGaWx0ZXI+KCk7XG4gIHJlYWRvbmx5IGZpbHRlcjogSW5wdXRTaWduYWw8SUNydWRGaWx0ZXIgfCB1bmRlZmluZWQ+ID0gaW5wdXQ8SUNydWRGaWx0ZXI+KCk7XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0gfHwgIWZpbHRlci5xdWVyeSkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICByZXR1cm4gZmlsdGVyLnF1ZXJ5XG4gICAgICAgIC5maWx0ZXIoKHEpID0+IHEua2V5ID09PSBpdGVtLmtleSAmJiBxLnR5cGUgPT09IGl0ZW0udHlwZSlcbiAgICAgICAgLm1hcCgocSkgPT4gcS52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBmaWx0ZXIucXVlcnkuZmluZChcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSBpdGVtLnR5cGUsXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnk/LnZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbDogYW55KSB7XG4gICAgdGhpcy5yZWZyZXNoKHZhbCk7XG4gIH1cblxuICBnZXQgbWluVmFsdWUoKTogYW55IHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZpbHRlcigpO1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW0oKTtcbiAgICBpZiAoIWZpbHRlciB8fCAhaXRlbSB8fCAhZmlsdGVyLnF1ZXJ5KSByZXR1cm4gbnVsbDtcblxuICAgIGlmICh0aGlzLmlzQXJyYXlUeXBlKCkpIHtcbiAgICAgIHJldHVybiBmaWx0ZXIucXVlcnlcbiAgICAgICAgLmZpbHRlcigocSkgPT4gcS5rZXkgPT09IGl0ZW0ua2V5ICYmIHEudHlwZSA9PT0gJz49JylcbiAgICAgICAgLm1hcCgocSkgPT4gcS52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBmaWx0ZXIucXVlcnkuZmluZChcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSAnPj0nLFxuICAgICk7XG4gICAgcmV0dXJuIHF1ZXJ5Py52YWx1ZTtcbiAgfVxuXG4gIHNldCBtaW5WYWx1ZSh2YWw6IGFueSkge1xuICAgIHRoaXMucmVmcmVzaCh2YWwsICc+PScpO1xuICB9XG5cbiAgZ2V0IG1heFZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0gfHwgIWZpbHRlci5xdWVyeSkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICByZXR1cm4gZmlsdGVyLnF1ZXJ5XG4gICAgICAgIC5maWx0ZXIoKHEpID0+IHEua2V5ID09PSBpdGVtLmtleSAmJiBxLnR5cGUgPT09ICc8PScpXG4gICAgICAgIC5tYXAoKHEpID0+IHEudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gZmlsdGVyLnF1ZXJ5LmZpbmQoXG4gICAgICAocSkgPT4gcS5rZXkgPT09IGl0ZW0ua2V5ICYmIHEudHlwZSA9PT0gJzw9JyxcbiAgICApO1xuICAgIHJldHVybiBxdWVyeT8udmFsdWU7XG4gIH1cblxuICBzZXQgbWF4VmFsdWUodmFsOiBhbnkpIHtcbiAgICB0aGlzLnJlZnJlc2godmFsLCAnPD0nKTtcbiAgfVxuXG4gIGdldCBsYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcbiAgfVxuXG4gIEBEZWJvdW5jZSg1MDApXG4gIHJlZnJlc2godmFsOiBhbnksIHR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0pIHJldHVybjtcblxuICAgIGlmICghdHlwZSkgdHlwZSA9IGl0ZW0udHlwZTtcbiAgICBpZiAoIWZpbHRlci5xdWVyeSkgZmlsdGVyLnF1ZXJ5ID0gW107XG5cbiAgICBmaWx0ZXIub2Zmc2V0ID0gMDtcblxuICAgIGlmICh0aGlzLmlzQXJyYXlUeXBlKCkpIHtcbiAgICAgIHRoaXMucmVmcmVzaEZvckFycmF5KHZhbCBhcyBbXSwgdHlwZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHF1ZXJ5ID0gZmlsdGVyLnF1ZXJ5IS5maW5kKFxuICAgICAgKHEpID0+IHEua2V5ID09PSBpdGVtLmtleSAmJiBxLnR5cGUgPT09IHR5cGUsXG4gICAgKTtcblxuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgfHwgdmFsID09PSAnJykge1xuICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVyLnF1ZXJ5IS5pbmRleE9mKHF1ZXJ5KTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXIucXVlcnkhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5mYWNhZGUucmVhZChmaWx0ZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICB0eXBlOiB0eXBlIGFzICc9JyB8ICchPScgfCAnPj0nIHwgJzw9JyB8ICc8JyB8ICc+JyxcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9O1xuXG4gICAgICBmaWx0ZXIucXVlcnkhLnB1c2gocXVlcnkpO1xuICAgIH1cblxuICAgIHF1ZXJ5LnZhbHVlID0gdmFsO1xuICAgIHF1ZXJ5LmxhYmVsID0gaXRlbS5sYWJlbDtcblxuICAgIHRoaXMuZmFjYWRlLnJlYWQoZmlsdGVyKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyKCk7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbSgpO1xuICAgIGlmICghZmlsdGVyIHx8ICFpdGVtIHx8ICFmaWx0ZXIucXVlcnkpIHJldHVybjtcblxuICAgIGZpbHRlci5xdWVyeSA9IGZpbHRlci5xdWVyeS5maWx0ZXIoKHEpID0+IHEua2V5ICE9PSBpdGVtLmtleSk7XG4gICAgZmlsdGVyLm9mZnNldCA9IDA7XG4gICAgdGhpcy5mYWNhZGUucmVhZChmaWx0ZXIpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0UG9zc2liaWxpdGllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UG9zc2liaWxpdGllcygpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKGl0ZW0/LnBvc3NpYmlsaXRpZXMpIHtcbiAgICAgIHRoaXMucG9zc2liaWxpdGllcyA9IGl0ZW0ucG9zc2liaWxpdGllcztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQXJyYXlUeXBlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW0oKTtcbiAgICByZXR1cm4gaXRlbT8uZmllbGRUeXBlID09PSBGaWVsZFR5cGUuY2hlY2s7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hGb3JBcnJheSh2YWxzOiBbXSwgdHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0pIHJldHVybjtcbiAgICBpZiAoIWZpbHRlci5xdWVyeSkgZmlsdGVyLnF1ZXJ5ID0gW107XG5cbiAgICBjb25zdCBxdWVyaWVzID0gZmlsdGVyLnF1ZXJ5LmZpbHRlcihcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSB0eXBlLFxuICAgICk7XG5cbiAgICBxdWVyaWVzLmZvckVhY2goKHF1ZXJ5KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlci5xdWVyeSEuaW5kZXhPZihxdWVyeSk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBmaWx0ZXIucXVlcnkhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodmFscyA9PT0gbnVsbCB8fCB2YWxzID09PSB1bmRlZmluZWQgfHwgIXZhbHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZhY2FkZS5yZWFkKGZpbHRlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFscy5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICB0eXBlOiB0eXBlIGFzICc9JyB8ICchPScgfCAnPj0nIHwgJzw9JyB8ICc8JyB8ICc+JyxcbiAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgIH07XG5cbiAgICAgIGZpbHRlci5xdWVyeSEucHVzaChxdWVyeSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5yZWFkKGZpbHRlcik7XG4gIH1cbn1cbiJdfQ==","import { Component, computed } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterCheckComponent extends BaseComponent {\n list;\n ngAfterContentInit() {\n this.list = computed(() => {\n const possibilities = this.possibilities();\n return possibilities.map((pos) => ({\n value: pos,\n isCheck: this.value.some((r) => r === pos.id),\n }));\n }, ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n }\n onCheckChange(checked, entry) {\n if (checked && !this.value.some((r) => r === entry.value.id)) {\n this.value = [...this.value, entry.value.id];\n }\n if (!checked && this.value.some((r) => r === entry.value.id)) {\n this.value = this.value.filter((r) => r !== entry.value.id);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterCheckComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterCheckComponent, isStandalone: true, selector: \"smart-crud-filter-check\", usesInheritance: true, ngImport: i0, template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-item-divider class=\"text-xl font-light\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value?.length) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh([])\"-->\n <!-- class=\"square-button m-0 p-0 text-lg h-9 w-9\"-->\n <!-- >-->\n <!-- <ion-icon class=\"text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (entry of list(); track entry) {\n <!-- <ion-item>-->\n <!--<ion-label>-->{{ entry.value.text | translate\n }}<!--</ion-label>-->\n <!-- <ion-checkbox-->\n <!-- slot=\"end\"-->\n <!-- [checked]=\"entry.isCheck\"-->\n <!-- (ionChange)=\"onCheckChange($event.detail.checked, entry)\"-->\n <!-- ></ion-checkbox>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%;margin-bottom:1.2rem}\\n\"], dependencies: [{ kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterCheckComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-check', template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-item-divider class=\"text-xl font-light\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value?.length) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh([])\"-->\n <!-- class=\"square-button m-0 p-0 text-lg h-9 w-9\"-->\n <!-- >-->\n <!-- <ion-icon class=\"text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (entry of list(); track entry) {\n <!-- <ion-item>-->\n <!--<ion-label>-->{{ entry.value.text | translate\n }}<!--</ion-label>-->\n <!-- <ion-checkbox-->\n <!-- slot=\"end\"-->\n <!-- [checked]=\"entry.isCheck\"-->\n <!-- (ionChange)=\"onCheckChange($event.detail.checked, entry)\"-->\n <!-- ></ion-checkbox>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, imports: [TranslatePipe], styles: [\":host{width:100%;margin-bottom:1.2rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvY2hlY2svY2hlY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXlDdkQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsYUFBZ0I7SUFHeEIsSUFBSSxDQUE4QztJQUVsRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLEtBQUssRUFBRSxHQUFHO2dCQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7YUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLGdEQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWdCLEVBQUUsS0FBdUM7UUFDckUsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7dUdBeEJVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDBHQXJDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCw2R0FDUyxhQUFhOzsyRkFHWixvQkFBb0I7a0JBdkNoQyxTQUFTOytCQUNFLHlCQUF5QixZQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNULFdBQ1EsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIGNvbXB1dGVkLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWNoZWNrJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tICAgIDxpb24tcm93Pi0tPlxuICAgIDwhLS0gICAgICA8aW9uLWNvbD4tLT5cbiAgICA8IS0tICAgICAgICA8aW9uLWl0ZW0tZGl2aWRlciBjbGFzcz1cInRleHQteGwgZm9udC1saWdodFwiPi0tPlxuICAgIDwhLS0gICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwibXItNiB0ZXh0LTJ4bFwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJmaWx0ZXItb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWxhYmVsPi0tPlxuICAgIHt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbiAgICA8IS0tICAgICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICAgIEBpZiAodmFsdWU/Lmxlbmd0aCkge1xuICAgICAgPCEtLSAgICAgICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICBzbG90PVwiZW5kXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKFtdKVwiLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0wIHAtMCB0ZXh0LWxnIGgtOSB3LTlcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgID4tLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cInRleHQtMnhsIG0tMCBwLTBcIiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgICB9XG4gICAgPCEtLSAgICAgICAgPC9pb24taXRlbS1kaXZpZGVyPi0tPlxuXG4gICAgQGZvciAoZW50cnkgb2YgbGlzdCgpOyB0cmFjayBlbnRyeSkge1xuICAgICAgPCEtLSAgICAgICAgICA8aW9uLWl0ZW0+LS0+XG4gICAgICA8IS0tPGlvbi1sYWJlbD4tLT57eyBlbnRyeS52YWx1ZS50ZXh0IHwgdHJhbnNsYXRlXG4gICAgICB9fTwhLS08L2lvbi1sYWJlbD4tLT5cbiAgICAgIDwhLS0gICAgICAgICAgICA8aW9uLWNoZWNrYm94LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICBzbG90PVwiZW5kXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIFtjaGVja2VkXT1cImVudHJ5LmlzQ2hlY2tcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJvbkNoZWNrQ2hhbmdlKCRldmVudC5kZXRhaWwuY2hlY2tlZCwgZW50cnkpXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICA+PC9pb24tY2hlY2tib3g+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDwvaW9uLWl0ZW0+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgICA8L2lvbi1jb2w+LS0+XG4gICAgPCEtLSAgICA8L2lvbi1yb3c+LS0+XG4gIGAsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlXSxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2suY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQ2hlY2tDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBsaXN0ITogU2lnbmFsPHsgdmFsdWU6IGFueTsgaXNDaGVjazogYm9vbGVhbiB9W10+O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3QgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBwb3NzaWJpbGl0aWVzID0gdGhpcy5wb3NzaWJpbGl0aWVzKCk7XG4gICAgICByZXR1cm4gcG9zc2liaWxpdGllcy5tYXAoKHBvcykgPT4gKHtcbiAgICAgICAgdmFsdWU6IHBvcyxcbiAgICAgICAgaXNDaGVjazogdGhpcy52YWx1ZS5zb21lKChyOiBhbnkpID0+IHIgPT09IHBvcy5pZCksXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkNoZWNrQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4sIGVudHJ5OiB7IHZhbHVlOiBhbnk7IGlzQ2hlY2s6IGJvb2xlYW4gfSkge1xuICAgIGlmIChjaGVja2VkICYmICF0aGlzLnZhbHVlLnNvbWUoKHI6IGFueSkgPT4gciA9PT0gZW50cnkudmFsdWUuaWQpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIGVudHJ5LnZhbHVlLmlkXTtcbiAgICB9XG5cbiAgICBpZiAoIWNoZWNrZWQgJiYgdGhpcy52YWx1ZS5zb21lKChyOiBhbnkpID0+IHIgPT09IGVudHJ5LnZhbHVlLmlkKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKChyOiBhbnkpID0+IHIgIT09IGVudHJ5LnZhbHVlLmlkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport moment from 'moment';\nimport { GuidService } from '@smartsoft001/utils';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterDateComponent extends BaseComponent {\n id = GuidService.create();\n get allowAdvanced() {\n const item = this.item();\n return item?.type === '=';\n }\n set customValue(val) {\n const momentDate = moment(val);\n this.value =\n val?.length >= 10 && momentDate.isValid()\n ? momentDate.format('YYYY-MM-DD')\n : val;\n }\n get customValue() {\n return this.value;\n }\n set customMinValue(val) {\n const momentDate = moment(val);\n this.minValue =\n val?.length >= 10 && momentDate.isValid()\n ? momentDate.format('YYYY-MM-DD')\n : val;\n }\n get customMinValue() {\n return this.minValue;\n }\n set customMaxValue(val) {\n const momentDate = moment(val);\n this.maxValue =\n val?.length >= 10 && momentDate.isValid()\n ? momentDate.format('YYYY-MM-DD')\n : val;\n }\n get customMaxValue() {\n return this.maxValue;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterDateComponent, isStandalone: true, selector: \"smart-crud-filter-date\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-item button=\\\"true\\\" id=\\\"open-date-input-{{ id }}\\\" color=\\\"primary\\\">-->\\n<!-- <ion-text>-->\\n{{ customValue ? customValue : ('select' | translate) }}\\n<!-- </ion-text>-->\\n<!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n<ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- ></ion-datetime>-->\\n</ng-template>\\n<!-- </ion-popover>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n\\n@if (value) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"refresh(null)\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-date', imports: [FormsModule, TranslatePipe], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-item button=\\\"true\\\" id=\\\"open-date-input-{{ id }}\\\" color=\\\"primary\\\">-->\\n<!-- <ion-text>-->\\n{{ customValue ? customValue : ('select' | translate) }}\\n<!-- </ion-text>-->\\n<!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n<ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- ></ion-datetime>-->\\n</ng-template>\\n<!-- </ion-popover>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n\\n@if (value) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"refresh(null)\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFpQnZELE1BQU0sT0FBTyxtQkFFWCxTQUFRLGFBQWdCO0lBQ3hCLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFMUIsSUFBSSxhQUFhO1FBQ2YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxFQUFFLElBQUksS0FBSyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEdBQUc7UUFDakIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLO1lBQ1AsR0FBYyxFQUFFLE1BQU0sSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtnQkFDbkQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUNqQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsR0FBRztRQUNwQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVE7WUFDVixHQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsR0FBRztRQUNwQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVE7WUFDVixHQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO3VHQTVDVSxtQkFBbUI7MkZBQW5CLG1CQUFtQix5R0N6QmhDLDRrQ0E4QkEsNklEakJZLFdBQVcsMEJBQUUsYUFBYTs7MkZBWXpCLG1CQUFtQjtrQkFmL0IsU0FBUzsrQkFDRSx3QkFBd0IsV0FFekIsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHsgR3VpZFNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL3V0aWxzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlci1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbWFydC1idXR0b24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZUNvbXBvbmVudDxcbiAgVCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPixcbj4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+IHtcbiAgaWQgPSBHdWlkU2VydmljZS5jcmVhdGUoKTtcblxuICBnZXQgYWxsb3dBZHZhbmNlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgcmV0dXJuIGl0ZW0/LnR5cGUgPT09ICc9JztcbiAgfVxuXG4gIHNldCBjdXN0b21WYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy52YWx1ZSA9XG4gICAgICAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKVxuICAgICAgICA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjdXN0b21NaW5WYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy5taW5WYWx1ZSA9XG4gICAgICAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKVxuICAgICAgICA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tTWluVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5taW5WYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXN0b21NYXhWYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy5tYXhWYWx1ZSA9XG4gICAgICAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKVxuICAgICAgICA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tTWF4VmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5tYXhWYWx1ZTtcbiAgfVxufVxuIiwiPCEtLTxpb24tcm93Pi0tPlxuPCEtLSAgPGlvbi1jb2w+LS0+XG48IS0tICAgIDxpb24tbGFiZWw+LS0+XG57eyBpdGVtKCk/LmxhYmVsIHx8ICcnIHwgdHJhbnNsYXRlIH19XG48IS0tICAgIDwvaW9uLWxhYmVsPi0tPlxuPCEtLSAgICA8aW9uLWl0ZW0gYnV0dG9uPVwidHJ1ZVwiIGlkPVwib3Blbi1kYXRlLWlucHV0LXt7IGlkIH19XCIgY29sb3I9XCJwcmltYXJ5XCI+LS0+XG48IS0tICAgICAgPGlvbi10ZXh0Pi0tPlxue3sgY3VzdG9tVmFsdWUgPyBjdXN0b21WYWx1ZSA6ICgnc2VsZWN0JyB8IHRyYW5zbGF0ZSkgfX1cbjwhLS0gICAgICA8L2lvbi10ZXh0Pi0tPlxuPCEtLSAgICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwib3Blbi1kYXRlLWlucHV0LXt7IGlkIH19XCIgc2hvdy1iYWNrZHJvcD1cImZhbHNlXCI+LS0+XG48bmctdGVtcGxhdGU+XG4gIDwhLS0gICAgICAgICAgPGlvbi1kYXRldGltZS0tPlxuICA8IS0tICAgICAgICAgICAgZGlzcGxheUZvcm1hdD1cIllZWVktTU0tRERcIi0tPlxuICA8IS0tICAgICAgICAgICAgcGlja2VyRm9ybWF0PVwiWVlZWS1NTS1ERFwiLS0+XG4gIDwhLS0gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1c3RvbVZhbHVlXCItLT5cbiAgPCEtLSAgICAgICAgICAgIHByZXNlbnRhdGlvbj1cImRhdGVcIi0tPlxuICA8IS0tICAgICAgICAgID48L2lvbi1kYXRldGltZT4tLT5cbjwvbmctdGVtcGxhdGU+XG48IS0tICAgICAgPC9pb24tcG9wb3Zlcj4tLT5cbjwhLS0gICAgPC9pb24taXRlbT4tLT5cbjwhLS0gIDwvaW9uLWNvbD4tLT5cblxuQGlmICh2YWx1ZSkge1xuICA8IS0tICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gIDwhLS0gICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiIChjbGljayk9XCJyZWZyZXNoKG51bGwpXCIgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tPC9pb24tcm93Pi0tPlxuIl19","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { GuidService } from '@smartsoft001/utils';\nimport { FilterDateComponent } from '../date/date.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterDateTimeComponent extends FilterDateComponent {\n _subscriptions = new Subscription();\n id = GuidService.create();\n // @ViewChild(IonDatetime, { read: IonDatetime, static: false })\n // dateTimePicker: IonDatetime;\n ngOnInit() {\n super.ngOnInit();\n // if (this.dateTimePicker) {\n // this._subscriptions.add(\n // this.dateTimePicker.ionChange.subscribe((val: CustomEvent) => {\n // this.customValue = val.detail.value;\n // }),\n // );\n // } else {\n // console.error('dateTimePicker not found!');\n // }\n }\n ngOnDestroy() {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterDateTimeComponent, isStandalone: true, selector: \"smart-crud-filter-date-time\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- </ion-col>-->\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'from' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'to' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateTimeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-date-time', imports: [TranslatePipe, FormsModule], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- </ion-col>-->\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'from' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'to' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS10aW1lL2RhdGUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlCN0QsTUFBTSxPQUFPLHVCQUNYLFNBQVEsbUJBQXNCO0lBR3RCLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRW5DLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbkMsZ0VBQWdFO0lBQ2hFLCtCQUErQjtJQUV0QixRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0Isc0VBQXNFO1FBQ3RFLDZDQUE2QztRQUM3QyxVQUFVO1FBQ1YsT0FBTztRQUNQLFdBQVc7UUFDWCxnREFBZ0Q7UUFDaEQsSUFBSTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzt1R0E3QlUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsOEdDekJwQyw4aEVBOERBLDZJRGpEMkIsV0FBVywwQkFBMUIsYUFBYTs7MkZBWVosdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNFLDZCQUE2QixXQUU5QixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5pbXBvcnQgeyBHdWlkU2VydmljZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvdXRpbHMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWRhdGUtdGltZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbWFydC1idXR0b24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZVRpbWVDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBGaWx0ZXJEYXRlQ29tcG9uZW50PFQ+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBvdmVycmlkZSBpZCA9IEd1aWRTZXJ2aWNlLmNyZWF0ZSgpO1xuXG4gIC8vIEBWaWV3Q2hpbGQoSW9uRGF0ZXRpbWUsIHsgcmVhZDogSW9uRGF0ZXRpbWUsIHN0YXRpYzogZmFsc2UgfSlcbiAgLy8gZGF0ZVRpbWVQaWNrZXI6IElvbkRhdGV0aW1lO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBpZiAodGhpcy5kYXRlVGltZVBpY2tlcikge1xuICAgIC8vICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgLy8gICAgIHRoaXMuZGF0ZVRpbWVQaWNrZXIuaW9uQ2hhbmdlLnN1YnNjcmliZSgodmFsOiBDdXN0b21FdmVudCkgPT4ge1xuICAgIC8vICAgICAgIHRoaXMuY3VzdG9tVmFsdWUgPSB2YWwuZGV0YWlsLnZhbHVlO1xuICAgIC8vICAgICB9KSxcbiAgICAvLyAgICk7XG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIGNvbnNvbGUuZXJyb3IoJ2RhdGVUaW1lUGlja2VyIG5vdCBmb3VuZCEnKTtcbiAgICAvLyB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLTxpb24tcm93Pi0tPlxuPCEtLSAgPGlvbi1jb2w+LS0+XG48IS0tICAgIDxpb24tbGFiZWw+LS0+XG57eyBpdGVtKCk/LmxhYmVsIHx8ICcnIHwgdHJhbnNsYXRlIH19XG48IS0tICAgIDwvaW9uLWxhYmVsPi0tPlxuPCEtLSAgPC9pb24tY29sPi0tPlxuQGlmICh2YWx1ZSB8fCBtaW5WYWx1ZSB8fCBtYXhWYWx1ZSkge1xuICA8IS0tICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gIDwhLS0gICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiIChjbGljayk9XCJjbGVhcigpXCIgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tPC9pb24tcm93Pi0tPlxuPCEtLTxpb24tcm93Pi0tPlxuPCEtLSAgPGlvbi1jb2w+LS0+XG48IS0tICAgIDxpb24taXRlbT4tLT5cbjwhLS0gICAgICA8aW9uLWxhYmVsPi0tPlxue3sgJ2Zyb20nIHwgdHJhbnNsYXRlIH19XG48IS0tICAgICAgPC9pb24tbGFiZWw+LS0+XG48IS0tICAgICAgPGlvbi1pbnB1dC0tPlxuPCEtLSAgICAgICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREIEhIOm1tOnNzXCItLT5cbjwhLS0gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tTWluVmFsdWVcIi0tPlxuPCEtLSAgICAgICAgcGF0dGVybj1cIl5bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfSBbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSRcIi0tPlxuPCEtLSAgICAgID48L2lvbi1pbnB1dD4tLT5cbjwhLS0gICAgPC9pb24taXRlbT4tLT5cbjwhLS0gIDwvaW9uLWNvbD4tLT5cbkBpZiAoY3VzdG9tTWluVmFsdWUpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24tLT5cbiAgPCEtLSAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICA8IS0tICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPj0nKVwiLS0+XG4gIDwhLS0gICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICA8IS0tICAgICAgPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tICA8aW9uLWNvbD4tLT5cbjwhLS0gICAgPGlvbi1pdGVtPi0tPlxuPCEtLSAgICAgIDxpb24tbGFiZWw+LS0+XG57eyAndG8nIHwgdHJhbnNsYXRlIH19XG48IS0tICAgICAgPC9pb24tbGFiZWw+LS0+XG48IS0tICAgICAgPGlvbi1pbnB1dC0tPlxuPCEtLSAgICAgICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREIEhIOm1tOnNzXCItLT5cbjwhLS0gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tTWF4VmFsdWVcIi0tPlxuPCEtLSAgICAgICAgcGF0dGVybj1cIl5bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfSBbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSRcIi0tPlxuPCEtLSAgICAgID48L2lvbi1pbnB1dD4tLT5cbjwhLS0gICAgPC9pb24taXRlbT4tLT5cbjwhLS0gIDwvaW9uLWNvbD4tLT5cbkBpZiAoY3VzdG9tTWF4VmFsdWUpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24tLT5cbiAgPCEtLSAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICA8IS0tICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPD0nKVwiLS0+XG4gIDwhLS0gICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICA8IS0tICAgICAgPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tPC9pb24tcm93Pi0tPlxuIl19","import { Component, signal, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { GuidService } from '@smartsoft001/utils';\nimport { FilterDateComponent } from '../date/date.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterDateWithEditComponent extends FilterDateComponent {\n _subscriptions = new Subscription();\n advanced = signal(false, ...(ngDevMode ? [{ debugName: \"advanced\" }] : []));\n id = GuidService.create();\n // @ViewChild(IonDatetime, { read: IonDatetime, static: false })\n // dateTimePicker: IonDatetime;\n toggleAdvanced() {\n this.advanced.update((val) => !val);\n if (this.advanced()) {\n this.value = null;\n }\n }\n ngOnInit() {\n super.ngOnInit();\n // if (this.dateTimePicker) {\n // this._subscriptions.add(\n // this.dateTimePicker.ionChange.subscribe((val: CustomEvent) => {\n // this.customValue = val.detail.value;\n // }),\n // );\n // } else {\n // console.error('dateTimePicker not found!');\n // }\n }\n ngOnDestroy() {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateWithEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterDateWithEditComponent, isStandalone: true, selector: \"smart-crud-filter-date-with-edit\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-input-->\\n <!-- 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}\\n<!-- </ion-col>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button id=\\\"open-date-input-{{ id }}\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"calendar-outline\\\"></ion-icon>-->\\n <!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n <ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- first-day-of-week=\\\"1\\\"-->\\n <!-- locale=\\\"{{ lang }}\\\"-->\\n <!-- ></ion-datetime>-->\\n </ng-template>\\n <!-- </ion-popover>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n\\n @if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateWithEditComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-date-with-edit', imports: [TranslatePipe, FormsModule], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-input-->\\n <!-- 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}\\n<!-- </ion-col>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button id=\\\"open-date-input-{{ id }}\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"calendar-outline\\\"></ion-icon>-->\\n <!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n <ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- first-day-of-week=\\\"1\\\"-->\\n <!-- locale=\\\"{{ lang }}\\\"-->\\n <!-- ></ion-datetime>-->\\n </ng-template>\\n <!-- </ion-popover>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n\\n @if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS13aXRoLWVkaXQvZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS13aXRoLWVkaXQvZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFpQjdELE1BQU0sT0FBTywyQkFDWCxTQUFRLG1CQUFzQjtJQUd0QixjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU1QyxRQUFRLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDekMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVuQyxnRUFBZ0U7SUFDaEUsK0JBQStCO0lBRS9CLGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQiw2QkFBNkI7UUFDN0IsNkJBQTZCO1FBQzdCLHNFQUFzRTtRQUN0RSw2Q0FBNkM7UUFDN0MsVUFBVTtRQUNWLE9BQU87UUFDUCxXQUFXO1FBQ1gsZ0RBQWdEO1FBQ2hELElBQUk7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7dUdBckNVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLG1IQy9CeEMsMjJIQTZHQSw2SUQxRjJCLFdBQVcsMEJBQTFCLGFBQWE7OzJGQVlaLDJCQUEyQjtrQkFmdkMsU0FBUzsrQkFDRSxrQ0FBa0MsV0FFbkMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5pbXBvcnQgeyBHdWlkU2VydmljZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvdXRpbHMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWRhdGUtd2l0aC1lZGl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtd2l0aC1lZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1RyYW5zbGF0ZVBpcGUsIEZvcm1zTW9kdWxlXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnNxdWFyZS1idXR0b24ge1xuICAgICAgICAgIGhlaWdodDogdmFyKC0tc21hcnQtYnV0dG9uLWhlaWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckRhdGVXaXRoRWRpdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICBleHRlbmRzIEZpbHRlckRhdGVDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGFkdmFuY2VkOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG4gIG92ZXJyaWRlIGlkID0gR3VpZFNlcnZpY2UuY3JlYXRlKCk7XG5cbiAgLy8gQFZpZXdDaGlsZChJb25EYXRldGltZSwgeyByZWFkOiBJb25EYXRldGltZSwgc3RhdGljOiBmYWxzZSB9KVxuICAvLyBkYXRlVGltZVBpY2tlcjogSW9uRGF0ZXRpbWU7XG5cbiAgdG9nZ2xlQWR2YW5jZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZHZhbmNlZC51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XG4gICAgaWYgKHRoaXMuYWR2YW5jZWQoKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIC8vIGlmICh0aGlzLmRhdGVUaW1lUGlja2VyKSB7XG4gICAgLy8gICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAvLyAgICAgdGhpcy5kYXRlVGltZVBpY2tlci5pb25DaGFuZ2Uuc3Vic2NyaWJlKCh2YWw6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5jdXN0b21WYWx1ZSA9IHZhbC5kZXRhaWwudmFsdWU7XG4gICAgLy8gICAgIH0pLFxuICAgIC8vICAgKTtcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgY29uc29sZS5lcnJvcignZGF0ZVRpbWVQaWNrZXIgbm90IGZvdW5kIScpO1xuICAgIC8vIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tPGlvbi1yb3c+LS0+XG48IS0tICA8aW9uLWNvbD4tLT5cbjwhLS0gICAgPGlvbi1sYWJlbD4tLT5cbnt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbjwhLS0gICAgPC9pb24tbGFiZWw+LS0+XG5cbkBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgPCEtLSAgICAgIDxpb24taW5wdXQtLT5cbiAgPCEtLSAgICAgICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREXCItLT5cbiAgPCEtLSAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21WYWx1ZVwiLS0+XG4gIDwhLS0gICAgICAgIFtwYXR0ZXJuXT1cIicoWzEyXVxcXFxkezN9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1cXFxcZHwzWzAxXSkpJ1wiLS0+XG4gIDwhLS0gICAgICA+PC9pb24taW5wdXQ+LS0+XG59XG48IS0tICA8L2lvbi1jb2w+LS0+XG5cbkBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24gaWQ9XCJvcGVuLWRhdGUtaW5wdXQte3sgaWQgfX1cIiBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCI+LS0+XG4gIDwhLS0gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNhbGVuZGFyLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICA8IS0tICAgICAgICA8aW9uLXBvcG92ZXIgdHJpZ2dlcj1cIm9wZW4tZGF0ZS1pbnB1dC17eyBpZCB9fVwiIHNob3ctYmFja2Ryb3A9XCJmYWxzZVwiPi0tPlxuICA8bmctdGVtcGxhdGU+XG4gICAgPCEtLSAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtLT5cbiAgICA8IS0tICAgICAgICAgICAgICBkaXNwbGF5Rm9ybWF0PVwiWVlZWS1NTS1ERFwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgcGlja2VyRm9ybWF0PVwiWVlZWS1NTS1ERFwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21WYWx1ZVwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgcHJlc2VudGF0aW9uPVwiZGF0ZVwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgZmlyc3QtZGF5LW9mLXdlZWs9XCIxXCItLT5cbiAgICA8IS0tICAgICAgICAgICAgICBsb2NhbGU9XCJ7eyBsYW5nIH19XCItLT5cbiAgICA8IS0tICAgICAgICAgICAgPjwvaW9uLWRhdGV0aW1lPi0tPlxuICA8L25nLXRlbXBsYXRlPlxuICA8IS0tICAgICAgICA8L2lvbi1wb3BvdmVyPi0tPlxuICA8IS0tICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbn1cbkBpZiAoYWxsb3dBZHZhbmNlZCkge1xuICA8IS0tICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gIDwhLS0gICAgICA8aW9uLWJ1dHRvbi0tPlxuICA8IS0tICAgICAgICAoY2xpY2spPVwidG9nZ2xlQWR2YW5jZWQoKVwiLS0+XG4gIDwhLS0gICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICA8IS0tICAgICAgICBbZGlzYWJsZWRdPVwibWluVmFsdWUgfHwgbWF4VmFsdWVcIi0tPlxuICA8IS0tICAgICAgPi0tPlxuICBAaWYgKCFhZHZhbmNlZCgpKSB7XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZXR0aW5ncy1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgfSBAZWxzZSB7XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZXR0aW5nc1wiPjwvaW9uLWljb24+LS0+XG4gIH1cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG5AaWYgKHZhbHVlIHx8IG1pblZhbHVlIHx8IG1heFZhbHVlKSB7XG4gIDwhLS0gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj4tLT5cbiAgPCEtLSAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cImNsZWFyKClcIiBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCI+LS0+XG4gIDwhLS0gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICA8IS0tICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbn1cbjwhLS08L2lvbi1yb3c+LS0+XG5cbkBpZiAoKGFkdmFuY2VkKCkgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpICYmIGFsbG93QWR2YW5jZWQpIHtcbiAgPCEtLSAgPGlvbi1yb3c+LS0+XG4gIDwhLS0gICAgPGlvbi1jb2w+LS0+XG4gIDwhLS0gICAgICA8aW9uLWl0ZW0+LS0+XG4gIDwhLS0gICAgICAgIDxpb24tbGFiZWw+LS0+XG4gIHt7ICdmcm9tJyB8IHRyYW5zbGF0ZSB9fVxuICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pbnB1dC0tPlxuICA8IS0tICAgICAgICAgIHBsYWNlaG9sZGVyPVwiWVlZWS1NTS1ERFwiLS0+XG4gIDwhLS0gICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21NaW5WYWx1ZVwiLS0+XG4gIDwhLS0gICAgICAgICAgW3BhdHRlcm5dPVwiJyhbMTJdXFxcXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcXFxkfDNbMDFdKSknXCItLT5cbiAgPCEtLSAgICAgICAgPjwvaW9uLWlucHV0Pi0tPlxuICA8IS0tICAgICAgPC9pb24taXRlbT4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG4gIEBpZiAoY3VzdG9tTWluVmFsdWUpIHtcbiAgICA8IS0tICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj4tLT5cbiAgICA8IS0tICAgICAgICA8aW9uLWJ1dHRvbi0tPlxuICAgIDwhLS0gICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2gobnVsbCwgJz49JylcIi0tPlxuICAgIDwhLS0gICAgICAgICAgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiLS0+XG4gICAgPCEtLSAgICAgICAgPi0tPlxuICAgIDwhLS0gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gICAgPCEtLSAgICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICAgIDwhLS0gICAgICA8L2lvbi1jb2w+LS0+XG4gIH1cbiAgPCEtLSAgICA8aW9uLWNvbD4tLT5cbiAgPCEtLSAgICAgIDxpb24taXRlbT4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1sYWJlbD4tLT5cbiAge3sgJ3RvJyB8IHRyYW5zbGF0ZSB9fVxuICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pbnB1dC0tPlxuICA8IS0tICAgICAgICAgIHBsYWNlaG9sZGVyPVwiWVlZWS1NTS1ERFwiLS0+XG4gIDwhLS0gICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21NYXhWYWx1ZVwiLS0+XG4gIDwhLS0gICAgICAgICAgW3BhdHRlcm5dPVwiJyhbMTJdXFxcXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcXFxkfDNbMDFdKSknXCItLT5cbiAgPCEtLSAgICAgICAgPjwvaW9uLWlucHV0Pi0tPlxuICA8IS0tICAgICAgPC9pb24taXRlbT4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG5cbiAgQGlmIChjdXN0b21NYXhWYWx1ZSkge1xuICAgIDwhLS0gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgPCEtLSAgICAgICAgICBjb2xvcj1cImRhbmdlclwiLS0+XG4gICAgPCEtLSAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPD0nKVwiLS0+XG4gICAgPCEtLSAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICA8IS0tICAgICAgICA+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgICA8IS0tICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgPCEtLSAgICAgIDwvaW9uLWNvbD4tLT5cbiAgfVxuICA8IS0tICA8L2lvbi1yb3c+LS0+XG59XG4iXX0=","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterFlagComponent extends BaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterFlagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterFlagComponent, isStandalone: true, selector: \"smart-crud-filter-flag\", usesInheritance: true, ngImport: i0, template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <div\n class=\"flag-container w-full flex flex-row flex-nowrap justify-between pr-5\"\n >\n <!-- <ion-label class=\"align-middle my-6\" position=\"static\">-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n <!-- <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>-->\n </div>\n <!-- </ion-col>-->\n @if (typeof value === 'boolean') {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterFlagComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-flag', template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <div\n class=\"flag-container w-full flex flex-row flex-nowrap justify-between pr-5\"\n >\n <!-- <ion-label class=\"align-middle my-6\" position=\"static\">-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n <!-- <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>-->\n </div>\n <!-- </ion-col>-->\n @if (typeof value === 'boolean') {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, imports: [TranslatePipe, FormsModule], styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9mbGFnL2ZsYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBOEN2RCxNQUFNLE9BQU8sbUJBRVgsU0FBUSxhQUFnQjt1R0FGYixtQkFBbUI7MkZBQW5CLG1CQUFtQix5R0ExQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQsNkpBQ3dCLFdBQVcsMEJBQTFCLGFBQWE7OzJGQWlCWixtQkFBbUI7a0JBNUMvQixTQUFTOytCQUNFLHdCQUF3QixZQUN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULFdBQ1EsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWZsYWcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gICAgPGlvbi1yb3c+LS0+XG4gICAgPCEtLSAgICAgIDxpb24tY29sPi0tPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmxhZy1jb250YWluZXIgdy1mdWxsIGZsZXggZmxleC1yb3cgZmxleC1ub3dyYXAganVzdGlmeS1iZXR3ZWVuIHByLTVcIlxuICAgID5cbiAgICAgIDwhLS0gICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImFsaWduLW1pZGRsZSBteS02XCIgcG9zaXRpb249XCJzdGF0aWNcIj4tLT5cbiAgICAgIHt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwhLS0gICAgICAgICAgPC9pb24tbGFiZWw+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDxpb24tY2hlY2tib3ggWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIHNsb3Q9XCJlbmRcIj48L2lvbi1jaGVja2JveD4tLT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICAgIEBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgIDwhLS0gICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKG51bGwpXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgICAgPCEtLSAgICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgICA8IS0tICAgICAgICA8L2lvbi1jb2w+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgPC9pb24tcm93Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuZmxhZy1jb250YWluZXIge1xuICAgICAgICAgIGlvbi1sYWJlbCB7XG4gICAgICAgICAgICAvKi0tY29sb3I6IHZhcigtLXNtYXJ0LWNvbG9yLWRhcmspOyovXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zcXVhcmUtYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNtYXJ0LWJ1dHRvbi1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJGbGFnQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LFxuPiBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4ge31cbiJdfQ==","import { Component, signal, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterIntComponent extends BaseComponent {\n _subscriptions = new Subscription();\n advanced = signal(false, ...(ngDevMode ? [{ debugName: \"advanced\" }] : []));\n get allowAdvanced() {\n return this.item()?.type === '=';\n }\n ngOnInit() {\n super.ngOnInit();\n }\n ngOnDestroy() {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n toggleAdvanced() {\n this.advanced.update((val) => !val);\n if (this.advanced())\n this.value = null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterIntComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterIntComponent, isStandalone: true, selector: \"smart-crud-filter-int\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n@if (!advanced()) {\\n <!-- <ion-input [(ngModel)]=\\\"value\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n}\\n<!-- </ion-col>-->\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"minValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (minValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"maxValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterIntComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-int', imports: [TranslatePipe, FormsModule], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n@if (!advanced()) {\\n <!-- <ion-input [(ngModel)]=\\\"value\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n}\\n<!-- </ion-col>-->\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"minValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (minValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"maxValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ludC9pbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvaW50L2ludC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlCdkQsTUFBTSxPQUFPLGtCQUNYLFNBQVEsYUFBZ0I7SUFHaEIsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUMsUUFBUSxHQUE0QixNQUFNLENBQVUsS0FBSyxvREFBQyxDQUFDO0lBRTNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksS0FBSyxHQUFHLENBQUM7SUFDbkMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3pDLENBQUM7dUdBekJVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHdHQzlCL0IsZ2tGQTBFQSw2SUR4RDJCLFdBQVcsMEJBQTFCLGFBQWE7OzJGQVlaLGtCQUFrQjtrQkFmOUIsU0FBUzsrQkFDRSx1QkFBdUIsV0FFeEIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXItaW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlLCBGb3Jtc01vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5zcXVhcmUtYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNtYXJ0LWJ1dHRvbi1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJbnRDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBhZHZhbmNlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGdldCBhbGxvd0FkdmFuY2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLml0ZW0oKT8udHlwZSA9PT0gJz0nO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQWR2YW5jZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZHZhbmNlZC51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XG4gICAgaWYgKHRoaXMuYWR2YW5jZWQoKSkgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cbn1cbiIsIjwhLS08aW9uLXJvdz4tLT5cbjwhLS0gIDxpb24tY29sPi0tPlxuPCEtLSAgICA8aW9uLWxhYmVsPi0tPlxue3sgaXRlbSgpPy5sYWJlbCB8fCAnJyB8IHRyYW5zbGF0ZSB9fVxuPCEtLSAgICA8L2lvbi1sYWJlbD4tLT5cbkBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgPCEtLSAgICAgIDxpb24taW5wdXQgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIHR5cGU9XCJudW1iZXJcIiBzdGVwPVwiMVwiPjwvaW9uLWlucHV0Pi0tPlxufVxuPCEtLSAgPC9pb24tY29sPi0tPlxuQGlmIChhbGxvd0FkdmFuY2VkKSB7XG4gIDwhLS0gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj4tLT5cbiAgPCEtLSAgICAgIDxpb24tYnV0dG9uLS0+XG4gIDwhLS0gICAgICAgIChjbGljayk9XCJ0b2dnbGVBZHZhbmNlZCgpXCItLT5cbiAgPCEtLSAgICAgICAgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiLS0+XG4gIDwhLS0gICAgICAgIFtkaXNhYmxlZF09XCJtaW5WYWx1ZSB8fCBtYXhWYWx1ZVwiLS0+XG4gIDwhLS0gICAgICA+LS0+XG4gIEBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInNldHRpbmdzLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICB9IEBlbHNlIHtcbiAgICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInNldHRpbmdzXCI+PC9pb24taWNvbj4tLT5cbiAgfVxuICA8IS0tICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbn1cbkBpZiAodmFsdWUgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYW5nZXJcIiAoY2xpY2spPVwiY2xlYXIoKVwiIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIj4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gIDwhLS0gICAgICA8L2lvbi1idXR0b24+LS0+XG4gIDwhLS0gICAgPC9pb24tY29sPi0tPlxufVxuPCEtLTwvaW9uLXJvdz4tLT5cbkBpZiAoKGFkdmFuY2VkKCkgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpICYmIGFsbG93QWR2YW5jZWQpIHtcbiAgPCEtLSAgPGlvbi1yb3c+LS0+XG4gIDwhLS0gICAgPGlvbi1jb2w+LS0+XG4gIDwhLS0gICAgICA8aW9uLWl0ZW0+LS0+XG4gIDwhLS0gICAgICAgIDxpb24tbGFiZWw+LS0+XG4gIHt7ICdmcm9tJyB8IHRyYW5zbGF0ZSB9fVxuICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pbnB1dCBbKG5nTW9kZWwpXT1cIm1pblZhbHVlXCIgdHlwZT1cIm51bWJlclwiIHN0ZXA9XCIxXCI+PC9pb24taW5wdXQ+LS0+XG4gIDwhLS0gICAgICA8L2lvbi1pdGVtPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbiAgQGlmIChtaW5WYWx1ZSkge1xuICAgIDwhLS0gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgPCEtLSAgICAgICAgICBjb2xvcj1cImRhbmdlclwiLS0+XG4gICAgPCEtLSAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPj0nKVwiLS0+XG4gICAgPCEtLSAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICA8IS0tICAgICAgICA+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgICA8IS0tICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgPCEtLSAgICAgIDwvaW9uLWNvbD4tLT5cbiAgfVxuICA8IS0tICAgIDxpb24tY29sPi0tPlxuICA8IS0tICAgICAgPGlvbi1pdGVtPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWxhYmVsPi0tPlxuICB7eyAndG8nIHwgdHJhbnNsYXRlIH19XG4gIDwhLS0gICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWlucHV0IFsobmdNb2RlbCldPVwibWF4VmFsdWVcIiB0eXBlPVwibnVtYmVyXCIgc3RlcD1cIjFcIj48L2lvbi1pbnB1dD4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWl0ZW0+LS0+XG4gIDwhLS0gICAgPC9pb24tY29sPi0tPlxuICBAaWYgKG1heFZhbHVlKSB7XG4gICAgPCEtLSAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gICAgPCEtLSAgICAgICAgPGlvbi1idXR0b24tLT5cbiAgICA8IS0tICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCItLT5cbiAgICA8IS0tICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKG51bGwsICc8PScpXCItLT5cbiAgICA8IS0tICAgICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICAgIDwhLS0gICAgICAgID4tLT5cbiAgICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgIDwhLS0gICAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICB9XG4gIDwhLS0gIDwvaW9uLXJvdz4tLT5cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterRadioComponent extends BaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterRadioComponent, isStandalone: true, selector: \"smart-crud-filter-radio\", usesInheritance: true, ngImport: i0, template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-radio-group [(ngModel)]=\"value\">-->\n <!-- <ion-item-divider class=\"font-light text-xl\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value || value === false) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-0 text-lg h-9 w-9 p-0\"-->\n <!-- >-->\n <!-- <ion-icon class=\"mr-6 text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (item of possibilities(); track item) {\n <!-- <ion-item>-->\n <!-- <ion-label>{{ item.text | translate }}</ion-label>-->\n <!-- <ion-radio class=\"mr-10\" [value]=\"item.id\"></ion-radio>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-radio-group>-->\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%;margin-bottom:1.2rem}:host ion-item-divider{//--padding-end: .8rem;//--ion-background-color: linear-gradient(// 90deg,// transparent,// var(--ion-color-light) //)}:host ion-item-divider ion-icon{//--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 .square-button{//--padding-start: .2em;//--padding-end: .2em}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterRadioComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-radio', template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-radio-group [(ngModel)]=\"value\">-->\n <!-- <ion-item-divider class=\"font-light text-xl\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value || value === false) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-0 text-lg h-9 w-9 p-0\"-->\n <!-- >-->\n <!-- <ion-icon class=\"mr-6 text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (item of possibilities(); track item) {\n <!-- <ion-item>-->\n <!-- <ion-label>{{ item.text | translate }}</ion-label>-->\n <!-- <ion-radio class=\"mr-10\" [value]=\"item.id\"></ion-radio>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-radio-group>-->\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, imports: [TranslatePipe, FormsModule], styles: [\":host{width:100%;margin-bottom:1.2rem}:host ion-item-divider{//--padding-end: .8rem;//--ion-background-color: linear-gradient(// 90deg,// transparent,// var(--ion-color-light) //)}:host ion-item-divider ion-icon{//--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 .square-button{//--padding-start: .2em;//--padding-end: .2em}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBaUV2RCxNQUFNLE9BQU8sb0JBRVgsU0FBUSxhQUFnQjt1R0FGYixvQkFBb0I7MkZBQXBCLG9CQUFvQiwwR0E3RHJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQsaW1CQUN3QixXQUFXLDBCQUExQixhQUFhOzsyRkE4Qlosb0JBQW9CO2tCQS9EaEMsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCxXQUNRLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlci1yYWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSAgICA8aW9uLXJvdz4tLT5cbiAgICA8IS0tICAgICAgPGlvbi1jb2w+LS0+XG4gICAgPCEtLSAgICAgICAgPGlvbi1yYWRpby1ncm91cCBbKG5nTW9kZWwpXT1cInZhbHVlXCI+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWl0ZW0tZGl2aWRlciBjbGFzcz1cImZvbnQtbGlnaHQgdGV4dC14bFwiPi0tPlxuICAgIDwhLS0gICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJtci02IHRleHQtMnhsXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImZpbHRlci1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgICA8IS0tICAgICAgICAgICAgPGlvbi1sYWJlbD4tLT5cbiAgICB7eyBpdGVtKCk/LmxhYmVsIHx8ICcnIHwgdHJhbnNsYXRlIH19XG4gICAgPCEtLSAgICAgICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICAgIEBpZiAodmFsdWUgfHwgdmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICA8IS0tICAgICAgICAgICAgICA8aW9uLWJ1dHRvbi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgICBzbG90PVwiZW5kXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsKVwiLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTAgdGV4dC1sZyBoLTkgdy05IHAtMFwiLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICA+LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cIm1yLTYgdGV4dC0yeGwgbS0wIHAtMFwiIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgICAgICAgPC9pb24taXRlbS1kaXZpZGVyPi0tPlxuXG4gICAgQGZvciAoaXRlbSBvZiBwb3NzaWJpbGl0aWVzKCk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgIDwhLS0gICAgICAgICAgICA8aW9uLWl0ZW0+LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgPGlvbi1yYWRpbyBjbGFzcz1cIm1yLTEwXCIgW3ZhbHVlXT1cIml0ZW0uaWRcIj48L2lvbi1yYWRpbz4tLT5cbiAgICAgIDwhLS0gICAgICAgICAgICA8L2lvbi1pdGVtPi0tPlxuICAgIH1cbiAgICA8IS0tICAgICAgICA8L2lvbi1yYWRpby1ncm91cD4tLT5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICAgIDwhLS0gICAgPC9pb24tcm93Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIGlvbi1pdGVtLWRpdmlkZXIge1xuICAgICAgICAgIC8vLS1wYWRkaW5nLWVuZDogMC44cmVtO1xuICAgICAgICAgIC8vLS1pb24tYmFja2dyb3VuZC1jb2xvcjogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIC8vICA5MGRlZyxcbiAgICAgICAgICAvLyAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgLy8gIHZhcigtLWlvbi1jb2xvci1saWdodClcbiAgICAgICAgICAvLyk7XG4gICAgICAgICAgaW9uLWljb24ge1xuICAgICAgICAgICAgLy8tLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlvbi1sYWJlbCB7XG4gICAgICAgICAgICAvLy0tcGFkZGluZzogdmFyKC0tc21hcnQtYnV0dG9uLXBhZGRpbmctbGVmdCkgLyAyXG4gICAgICAgICAgICAvLyAgdmFyKC0tc21hcnQtYnV0dG9uLXBhZGRpbmctdG9wKSAvIDIgdmFyKC0tc21hcnQtYnV0dG9uLXBhZGRpbmctcmlnaHQpIC9cbiAgICAgICAgICAgIC8vICAyIHZhcigtLXNtYXJ0LWJ1dHRvbi1wYWRkaW5nLWJvdHRvbSkgLyAyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgICAvLy0tcGFkZGluZy1zdGFydDogMC4yZW07XG4gICAgICAgICAgICAvLy0tcGFkZGluZy1lbmQ6IDAuMmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclJhZGlvQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LFxuPiBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4ge31cbiJdfQ==","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterTextComponent extends BaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterTextComponent, isStandalone: true, selector: \"smart-crud-filter-text\", usesInheritance: true, ngImport: i0, template: `\n <!-- <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 @if (value) {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterTextComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-text', template: `\n <!-- <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 @if (value) {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, imports: [TranslatePipe, FormsModule], styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci90ZXh0L3RleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBcUN2RCxNQUFNLE9BQU8sbUJBRVgsU0FBUSxhQUFnQjt1R0FGYixtQkFBbUI7MkZBQW5CLG1CQUFtQix5R0FqQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCw2SkFDd0IsV0FBVywwQkFBMUIsYUFBYTs7MkZBWVosbUJBQW1CO2tCQW5DL0IsU0FBUzsrQkFDRSx3QkFBd0IsWUFDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JULFdBQ1EsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLXRleHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gICAgPGlvbi1yb3c+LS0+XG4gICAgPCEtLSAgICAgIDxpb24tY29sPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJmbG9hdGluZ1wiPi0tPlxuICAgIHt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbiAgICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgICA8IS0tICAgICAgICA8aW9uLWlucHV0IFsobmdNb2RlbCldPVwidmFsdWVcIj48L2lvbi1pbnB1dD4tLT5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICAgIEBpZiAodmFsdWUpIHtcbiAgICAgIDwhLS0gICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKG51bGwpXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgICAgPCEtLSAgICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgICA8IS0tICAgICAgICA8L2lvbi1jb2w+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgPC9pb24tcm93Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbWFydC1idXR0b24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyVGV4dENvbXBvbmVudDxcbiAgVCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPixcbj4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+IHt9XG4iXX0=","import { Component, input } from '@angular/core';\nimport { FieldType } from '@smartsoft001/models';\nimport { FilterCheckComponent } from './check/check.component';\nimport { FilterDateComponent } from './date/date.component';\nimport { FilterDateTimeComponent } from './date-time/date-time.component';\nimport { FilterDateWithEditComponent } from './date-with-edit/date-with-edit.component';\nimport { FilterFlagComponent } from './flag/flag.component';\nimport { FilterIntComponent } from './int/int.component';\nimport { FilterRadioComponent } from './radio/radio.component';\nimport { FilterTextComponent } from './text/text.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterComponent {\n FieldType = FieldType;\n item = input(...(ngDevMode ? [undefined, { debugName: \"item\" }] : []));\n filter = input(...(ngDevMode ? [undefined, { debugName: \"filter\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterComponent, isStandalone: true, selector: \"smart-crud-filter\", inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: \"filter\", publicName: \"filter\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<!--<ion-item>-->\\n@switch (item()?.fieldType) {\\n @case (FieldType.date) {\\n <smart-crud-filter-date\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date>\\n }\\n @case (FieldType.dateWithEdit) {\\n <smart-crud-filter-date-with-edit\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-with-edit>\\n }\\n @case (FieldType.dateTime) {\\n <smart-crud-filter-date-time\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-time>\\n }\\n @case (FieldType.radio) {\\n <smart-crud-filter-radio\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-radio>\\n }\\n @case (FieldType.check) {\\n <smart-crud-filter-check\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-check>\\n }\\n @case (FieldType.flag) {\\n <smart-crud-filter-flag\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-flag>\\n }\\n @case (FieldType.int) {\\n <smart-crud-filter-int\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-int>\\n }\\n @default {\\n <smart-crud-filter-text\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-text>\\n }\\n}\\n<!--</ion-item>-->\\n\", dependencies: [{ kind: \"component\", type: FilterTextComponent, selector: \"smart-crud-filter-text\" }, { kind: \"component\", type: FilterIntComponent, selector: \"smart-crud-filter-int\" }, { kind: \"component\", type: FilterFlagComponent, selector: \"smart-crud-filter-flag\" }, { kind: \"component\", type: FilterCheckComponent, selector: \"smart-crud-filter-check\" }, { kind: \"component\", type: FilterRadioComponent, selector: \"smart-crud-filter-radio\" }, { kind: \"component\", type: FilterDateTimeComponent, selector: \"smart-crud-filter-date-time\" }, { kind: \"component\", type: FilterDateWithEditComponent, selector: \"smart-crud-filter-date-with-edit\" }, { kind: \"component\", type: FilterDateComponent, selector: \"smart-crud-filter-date\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter', imports: [\n FilterTextComponent,\n FilterIntComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterRadioComponent,\n FilterDateTimeComponent,\n FilterDateWithEditComponent,\n FilterDateComponent,\n ], template: \"<!--<ion-item>-->\\n@switch (item()?.fieldType) {\\n @case (FieldType.date) {\\n <smart-crud-filter-date\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date>\\n }\\n @case (FieldType.dateWithEdit) {\\n <smart-crud-filter-date-with-edit\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-with-edit>\\n }\\n @case (FieldType.dateTime) {\\n <smart-crud-filter-date-time\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-time>\\n }\\n @case (FieldType.radio) {\\n <smart-crud-filter-radio\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-radio>\\n }\\n @case (FieldType.check) {\\n <smart-crud-filter-check\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-check>\\n }\\n @case (FieldType.flag) {\\n <smart-crud-filter-flag\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-flag>\\n }\\n @case (FieldType.int) {\\n <smart-crud-filter-int\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-int>\\n }\\n @default {\\n <smart-crud-filter-text\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-text>\\n }\\n}\\n<!--</ion-item>-->\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQjVELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFFdEIsSUFBSSxHQUFHLEtBQUssMERBQWdCLENBQUM7SUFDN0IsTUFBTSxHQUFHLEtBQUssNERBQWUsQ0FBQzt1R0FKbkIsZUFBZTsyRkFBZixlQUFlLHlVQzVCNUIsMHdDQW9EQSw0Q0RsQ0ksbUJBQW1CLG1FQUNuQixrQkFBa0Isa0VBQ2xCLG1CQUFtQixtRUFDbkIsb0JBQW9CLG9FQUNwQixvQkFBb0Isb0VBQ3BCLHVCQUF1Qix3RUFDdkIsMkJBQTJCLDZFQUMzQixtQkFBbUI7OzJGQUdWLGVBQWU7a0JBZDNCLFNBQVM7K0JBQ0UsbUJBQW1CLFdBRXBCO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmllbGRUeXBlLCBJTW9kZWxGaWx0ZXIgfSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbHRlckNoZWNrQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay9jaGVjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS10aW1lL2RhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGF0ZVdpdGhFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXdpdGgtZWRpdC9kYXRlLXdpdGgtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vZmxhZy9mbGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJJbnRDb21wb25lbnQgfSBmcm9tICcuL2ludC9pbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlclJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICAgIEZpbHRlckludENvbXBvbmVudCxcbiAgICBGaWx0ZXJGbGFnQ29tcG9uZW50LFxuICAgIEZpbHRlckNoZWNrQ29tcG9uZW50LFxuICAgIEZpbHRlclJhZGlvQ29tcG9uZW50LFxuICAgIEZpbHRlckRhdGVUaW1lQ29tcG9uZW50LFxuICAgIEZpbHRlckRhdGVXaXRoRWRpdENvbXBvbmVudCxcbiAgICBGaWx0ZXJEYXRlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb21wb25lbnQge1xuICBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XG5cbiAgaXRlbSA9IGlucHV0PElNb2RlbEZpbHRlcj4oKTtcbiAgZmlsdGVyID0gaW5wdXQ8SUNydWRGaWx0ZXI+KCk7XG59XG4iLCI8IS0tPGlvbi1pdGVtPi0tPlxuQHN3aXRjaCAoaXRlbSgpPy5maWVsZFR5cGUpIHtcbiAgQGNhc2UgKEZpZWxkVHlwZS5kYXRlKSB7XG4gICAgPHNtYXJ0LWNydWQtZmlsdGVyLWRhdGVcbiAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlcigpXCJcbiAgICA+PC9zbWFydC1jcnVkLWZpbHRlci1kYXRlPlxuICB9XG4gIEBjYXNlIChGaWVsZFR5cGUuZGF0ZVdpdGhFZGl0KSB7XG4gICAgPHNtYXJ0LWNydWQtZmlsdGVyLWRhdGUtd2l0aC1lZGl0XG4gICAgICBbaXRlbV09XCJpdGVtKClcIlxuICAgICAgW2ZpbHRlcl09XCJmaWx0ZXIoKVwiXG4gICAgPjwvc21hcnQtY3J1ZC1maWx0ZXItZGF0ZS13aXRoLWVkaXQ+XG4gIH1cbiAgQGNhc2UgKEZpZWxkVHlwZS5kYXRlVGltZSkge1xuICAgIDxzbWFydC1jcnVkLWZpbHRlci1kYXRlLXRpbWVcbiAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlcigpXCJcbiAgICA+PC9zbWFydC1jcnVkLWZpbHRlci1kYXRlLXRpbWU+XG4gIH1cbiAgQGNhc2UgKEZpZWxkVHlwZS5yYWRpbykge1xuICAgIDxzbWFydC1jcnVkLWZpbHRlci1yYWRpb1xuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyKClcIlxuICAgID48L3NtYXJ0LWNydWQtZmlsdGVyLXJhZGlvPlxuICB9XG4gIEBjYXNlIChGaWVsZFR5cGUuY2hlY2spIHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItY2hlY2tcbiAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlcigpXCJcbiAgICA+PC9zbWFydC1jcnVkLWZpbHRlci1jaGVjaz5cbiAgfVxuICBAY2FzZSAoRmllbGRUeXBlLmZsYWcpIHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItZmxhZ1xuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyKClcIlxuICAgID48L3NtYXJ0LWNydWQtZmlsdGVyLWZsYWc+XG4gIH1cbiAgQGNhc2UgKEZpZWxkVHlwZS5pbnQpIHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItaW50XG4gICAgICBbaXRlbV09XCJpdGVtKClcIlxuICAgICAgW2ZpbHRlcl09XCJmaWx0ZXIoKVwiXG4gICAgPjwvc21hcnQtY3J1ZC1maWx0ZXItaW50PlxuICB9XG4gIEBkZWZhdWx0IHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItdGV4dFxuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyKClcIlxuICAgID48L3NtYXJ0LWNydWQtZmlsdGVyLXRleHQ+XG4gIH1cbn1cbjwhLS08L2lvbi1pdGVtPi0tPlxuIl19","import { Component, ElementRef, inject, input, signal, } from '@angular/core';\nimport { MenuService, StyleService } from '@smartsoft001/angular';\nimport { FieldType, getModelFieldsWithOptions, getModelOptions, } from '@smartsoft001/models';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { CrudConfig } from '../../crud.config';\nimport { FilterComponent } from '../filter';\nimport * as i0 from \"@angular/core\";\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 */\nexport class FiltersComponent {\n menuService = inject(MenuService);\n config = inject((CrudConfig));\n facade = inject((CrudFacade));\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n list;\n filter;\n /**\n * Hide menu used only from MenuService\n */\n hideMenu = input(false, ...(ngDevMode ? [{ debugName: \"hideMenu\" }] : []));\n async onClose() {\n await this.menuService.closeEnd();\n }\n ngOnInit() {\n this.styleService.init(this.elementRef);\n this.list = signal([], ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n const modelFilters = getModelOptions(this.config.type).filters;\n this.list.set([\n ...(modelFilters\n ? modelFilters.map((item) => {\n if (!item.label) {\n item.label = 'MODEL.' + item.key;\n }\n return item;\n })\n : []),\n ...getModelFieldsWithOptions(new this.config.type())\n .filter((item) => item.options?.list?.filter)\n .map((item) => ({\n key: item.key,\n type: item.options.type === FieldType.text ||\n item.options.type === FieldType.longText\n ? '~='\n : '=',\n label: 'MODEL.' + item.key,\n fieldType: item.options.type,\n })),\n ]);\n this.filter = this.facade.filter;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FiltersComponent, isStandalone: true, selector: \"smart-crud-filters\", inputs: { hideMenu: { classPropertyName: \"hideMenu\", publicName: \"hideMenu\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n <!--<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 @for (item of list(); track item) {\n <smart-crud-filter [item]=\"item\" [filter]=\"filter()\"></smart-crud-filter>\n }\n <!-- </ion-list>-->\n <div class=\"h-20\">&nbsp;</div>\n <!--</ion-content>-->\n `, isInline: true, dependencies: [{ kind: \"component\", type: FilterComponent, selector: \"smart-crud-filter\", inputs: [\"item\", \"filter\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-filters',\n template: `\n <!--<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 @for (item of list(); track item) {\n <smart-crud-filter [item]=\"item\" [filter]=\"filter()\"></smart-crud-filter>\n }\n <!-- </ion-list>-->\n <div class=\"h-20\">&nbsp;</div>\n <!--</ion-content>-->\n `,\n imports: [FilterComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQ0wsU0FBUyxFQUNULHlCQUF5QixFQUN6QixlQUFlLEdBR2hCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0RHO0FBeUJILE1BQU0sT0FBTyxnQkFBZ0I7SUFDbkIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUF1QztJQUUzQyxNQUFNLENBQW1DO0lBRXpDOztPQUVHO0lBQ00sUUFBUSxHQUF5QixLQUFLLENBQVUsS0FBSyxvREFBQyxDQUFDO0lBRWhFLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEVBQUUsZ0RBQUMsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDWixHQUFHLENBQUMsWUFBWTtnQkFDZCxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUNuQyxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsQ0FBQztnQkFDSixDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2pELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUEyQixFQUFFLE1BQU0sQ0FBQztpQkFDcEUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixJQUFJLEVBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLElBQUk7b0JBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxRQUFRO29CQUN0QyxDQUFDLENBQUUsSUFBYztvQkFDakIsQ0FBQyxDQUFFLEdBQWE7Z0JBQ3BCLEtBQUssRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUc7Z0JBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7YUFDN0IsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO3VHQWpEVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQiwyTkF0QmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJULDREQUNTLGVBQWU7OzJGQUVkLGdCQUFnQjtrQkF4QjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lbnVTZXJ2aWNlLCBTdHlsZVNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHtcbiAgRmllbGRUeXBlLFxuICBnZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zLFxuICBnZXRNb2RlbE9wdGlvbnMsXG4gIElGaWVsZExpc3RNZXRhZGF0YSxcbiAgSU1vZGVsRmlsdGVyLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZENvbmZpZyB9IGZyb20gJy4uLy4uL2NydWQuY29uZmlnJztcbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcic7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgb25seSB0byB1c2UgaW4gY3J1ZCBtb2R1bGVcbiAqIEByZXF1aXJlcyBDcnVkTW9kdWxlXG4gKiBAZXhhbXBsZVxuICpcbiAqIGh0bWw6IDxzbWFydC1jcnVkLWZpbHRlcnM+PC9zbWFydC1jcnVkLWZpbHRlcnM+XG4gKlxuICogdXNlIG9uIHRoZSBtb2RlbDpcbiAqIEBNb2RlbCh7XG4gICAgdGl0bGVLZXk6ICdib2R5JyxcbiAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAndGVzdE5lZ2F0aW9uJyxcbiAgICAgICAgICAgIGtleTogJ2JvZHknLFxuICAgICAgICAgICAgdHlwZTogJyE9JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdmcm9tRGF0ZScsXG4gICAgICAgICAgICBrZXk6ICdjcmVhdGVEYXRlJyxcbiAgICAgICAgICAgIHR5cGU6ICc8PScsXG4gICAgICAgICAgICBmaWVsZFR5cGU6IEZpZWxkVHlwZS5kYXRlV2l0aEVkaXRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdzZWxlY3QnLFxuICAgICAgICAgICAga2V5OiAndHlwZScsXG4gICAgICAgICAgICB0eXBlOiAnPScsXG4gICAgICAgICAgICBmaWVsZFR5cGU6IEZpZWxkVHlwZS5yYWRpbyxcbiAgICAgICAgICAgIHBvc3NpYmlsaXRpZXMkOiBvZihbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpZDogMSwgdGV4dDogJ1Rlc3QgMSdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IDIsIHRleHQ6ICdUZXN0IDInXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSlcbiAgICAgICAgfVxuICAgIF1cbn0pXG4gKlxuICogdXNlIG9uIHRoZSBmaWVsZCAobGlzdC5maWx0ZXIgcHJvcGVydHkpOlxuICogQEZpZWxkKHtcbiAgICAgICAgY3JlYXRlOiBtb2RpZnlNZXRkYXRhLFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICAgIC4uLm1vZGlmeU1ldGRhdGEsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBGaWVsZFR5cGUubG9uZ1RleHQsXG4gICAgICAgIGRldGFpbHM6IHRydWUsXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgZmlsdGVyOiB0cnVlXG4gICAgICAgIH1cbiAgICB9KVxuIGJvZHk6IHN0cmluZztcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tPGlvbi1oZWFkZXIgW2hpZGRlbl09XCJoaWRlTWVudSgpXCI+LS0+XG4gICAgPCEtLSAgPGlvbi10b29sYmFyPi0tPlxuICAgIDwhLS0gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj4tLT5cbiAgICA8IS0tICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+IDwvaW9uLWljb24+LS0+XG4gICAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgICA8IS0tICAgIDwvaW9uLWJ1dHRvbnM+LS0+XG4gICAgPCEtLSAgICA8aW9uLXRpdGxlPnt7ICdmaWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLXRpdGxlPi0tPlxuICAgIDwhLS0gIDwvaW9uLXRvb2xiYXI+LS0+XG4gICAgPCEtLTwvaW9uLWhlYWRlcj4tLT5cbiAgICA8IS0tPGlvbi1jb250ZW50IHN0eWxlPVwiaGVpZ2h0OiAxMDB2aFwiPi0tPlxuICAgIDwhLS0gIDxpb24tbGlzdD4tLT5cbiAgICBAZm9yIChpdGVtIG9mIGxpc3QoKTsgdHJhY2sgaXRlbSkge1xuICAgICAgPHNtYXJ0LWNydWQtZmlsdGVyIFtpdGVtXT1cIml0ZW1cIiBbZmlsdGVyXT1cImZpbHRlcigpXCI+PC9zbWFydC1jcnVkLWZpbHRlcj5cbiAgICB9XG4gICAgPCEtLSAgPC9pb24tbGlzdD4tLT5cbiAgICA8ZGl2IGNsYXNzPVwiaC0yMFwiPiZuYnNwOzwvZGl2PlxuICAgIDwhLS08L2lvbi1jb250ZW50Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbRmlsdGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0NvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbWVudVNlcnZpY2UgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChDcnVkQ29uZmlnPFQ+KTtcbiAgcHJpdmF0ZSBmYWNhZGUgPSBpbmplY3QoQ3J1ZEZhY2FkZTxUPik7XG4gIHByaXZhdGUgc3R5bGVTZXJ2aWNlID0gaW5qZWN0KFN0eWxlU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBsaXN0ITogV3JpdGFibGVTaWduYWw8QXJyYXk8SU1vZGVsRmlsdGVyPj47XG5cbiAgZmlsdGVyITogU2lnbmFsPElDcnVkRmlsdGVyIHwgdW5kZWZpbmVkPjtcblxuICAvKipcbiAgICogSGlkZSBtZW51IHVzZWQgb25seSBmcm9tIE1lbnVTZXJ2aWNlXG4gICAqL1xuICByZWFkb25seSBoaWRlTWVudTogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgYXN5bmMgb25DbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG4gICAgdGhpcy5saXN0ID0gc2lnbmFsKFtdKTtcblxuICAgIGNvbnN0IG1vZGVsRmlsdGVycyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKS5maWx0ZXJzO1xuXG4gICAgdGhpcy5saXN0LnNldChbXG4gICAgICAuLi4obW9kZWxGaWx0ZXJzXG4gICAgICAgID8gbW9kZWxGaWx0ZXJzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICAgIGl0ZW0ubGFiZWwgPSAnTU9ERUwuJyArIGl0ZW0ua2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgfSlcbiAgICAgICAgOiBbXSksXG4gICAgICAuLi5nZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zKG5ldyB0aGlzLmNvbmZpZy50eXBlKCkpXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IChpdGVtLm9wdGlvbnM/Lmxpc3QgYXMgSUZpZWxkTGlzdE1ldGFkYXRhKT8uZmlsdGVyKVxuICAgICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgICAgdHlwZTpcbiAgICAgICAgICAgIGl0ZW0ub3B0aW9ucy50eXBlID09PSBGaWVsZFR5cGUudGV4dCB8fFxuICAgICAgICAgICAgaXRlbS5vcHRpb25zLnR5cGUgPT09IEZpZWxkVHlwZS5sb25nVGV4dFxuICAgICAgICAgICAgICA/ICgnfj0nIGFzIGNvbnN0KVxuICAgICAgICAgICAgICA6ICgnPScgYXMgY29uc3QpLFxuICAgICAgICAgIGxhYmVsOiAnTU9ERUwuJyArIGl0ZW0ua2V5LFxuICAgICAgICAgIGZpZWxkVHlwZTogaXRlbS5vcHRpb25zLnR5cGUsXG4gICAgICAgIH0pKSxcbiAgICBdKTtcbiAgICB0aGlzLmZpbHRlciA9IHRoaXMuZmFjYWRlLmZpbHRlcjtcbiAgfVxufVxuIl19","import { Component, computed, ElementRef, inject, } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { StyleService } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class FiltersConfigComponent {\n facade = inject((CrudFacade));\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n query;\n onRemoveQuery(item) {\n const filter = this.facade.filter();\n if (filter?.query) {\n const index = filter.query.indexOf(item);\n if (index > -1) {\n filter.query.splice(index, 1);\n }\n }\n this.facade.read(this.facade.filter());\n }\n ngOnInit() {\n this.styleService.init(this.elementRef);\n this.query = computed(() => {\n const filter = this.facade.filter();\n return filter?.query?.filter((i) => !i.hidden) || [];\n }, ...(ngDevMode ? [{ debugName: \"query\" }] : []));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FiltersConfigComponent, isStandalone: true, selector: \"smart-crud-filters-config\", ngImport: i0, template: `\n @let query = this.query();\n @if (query && query?.length) {\n <!-- <ion-toolbar>-->\n @for (item of query; track item) {\n <!-- <ion-chip (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">-->\n <!-- <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ 'MODEL.' + item.key | translate }} {{ item.type }}\n {{ item.value | translate }}\n <!-- </ion-label>-->\n <!-- <ion-icon name=\"close\" color=\"danger\"></ion-icon>-->\n <!-- </ion-chip>-->\n }\n <!-- </ion-toolbar>-->\n }\n `, isInline: true, styles: [\":host ion-label{font-size:var(--small-font-size)}\\n\"], dependencies: [{ kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersConfigComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filters-config', template: `\n @let query = this.query();\n @if (query && query?.length) {\n <!-- <ion-toolbar>-->\n @for (item of query; track item) {\n <!-- <ion-chip (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">-->\n <!-- <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ 'MODEL.' + item.key | translate }} {{ item.type }}\n {{ item.value | translate }}\n <!-- </ion-label>-->\n <!-- <ion-icon name=\"close\" color=\"danger\"></ion-icon>-->\n <!-- </ion-chip>-->\n }\n <!-- </ion-toolbar>-->\n }\n `, imports: [TranslatePipe], styles: [\":host ion-label{font-size:var(--small-font-size)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzLWNvbmZpZy9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFpQ3RELE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWUsQ0FBQSxDQUFDLENBQUM7SUFDMUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhDLEtBQUssQ0FBa0M7SUFFdkMsYUFBYSxDQUFDLElBQTBCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEMsSUFBSSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDZixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsT0FBTyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZELENBQUMsaURBQUMsQ0FBQztJQUNMLENBQUM7dUdBekJVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLHFGQTVCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsd0hBQ1MsYUFBYTs7MkZBV1osc0JBQXNCO2tCQTlCbEMsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsV0FDUSxDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgT25Jbml0LFxuICBTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuXG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSAnLi4vLi4vK3N0YXRlL2NydWQuZmFjYWRlJztcbmltcG9ydCB7IElDcnVkRmlsdGVyUXVlcnlJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXJzLWNvbmZpZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGxldCBxdWVyeSA9IHRoaXMucXVlcnkoKTtcbiAgICBAaWYgKHF1ZXJ5ICYmIHF1ZXJ5Py5sZW5ndGgpIHtcbiAgICAgIDwhLS0gIDxpb24tdG9vbGJhcj4tLT5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgcXVlcnk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgPCEtLSAgICAgIDxpb24tY2hpcCAoY2xpY2spPVwib25SZW1vdmVRdWVyeShpdGVtKVwiIGNvbG9yPVwibWVkaXVtXCIgb3V0bGluZT1cInRydWVcIj4tLT5cbiAgICAgICAgPCEtLSAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJmaWx0ZXItY2lyY2xlLW91dGxpbmVcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPi0tPlxuICAgICAgICA8IS0tICAgICAgICA8aW9uLWxhYmVsPi0tPlxuICAgICAgICB7eyAnTU9ERUwuJyArIGl0ZW0ua2V5IHwgdHJhbnNsYXRlIH19IHt7IGl0ZW0udHlwZSB9fVxuICAgICAgICB7eyBpdGVtLnZhbHVlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwhLS0gICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICAgICAgICA8IS0tICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCIgY29sb3I9XCJkYW5nZXJcIj48L2lvbi1pY29uPi0tPlxuICAgICAgICA8IS0tICAgICAgPC9pb24tY2hpcD4tLT5cbiAgICAgIH1cbiAgICAgIDwhLS0gIDwvaW9uLXRvb2xiYXI+LS0+XG4gICAgfVxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgaW9uLWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNtYWxsLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBmYWNhZGUgPSBpbmplY3QoQ3J1ZEZhY2FkZTxhbnk+KTtcbiAgcHJpdmF0ZSBzdHlsZVNlcnZpY2UgPSBpbmplY3QoU3R5bGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHF1ZXJ5ITogU2lnbmFsPElDcnVkRmlsdGVyUXVlcnlJdGVtW10+O1xuXG4gIG9uUmVtb3ZlUXVlcnkoaXRlbTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICBpZiAoZmlsdGVyPy5xdWVyeSkge1xuICAgICAgY29uc3QgaW5kZXggPSBmaWx0ZXIucXVlcnkuaW5kZXhPZihpdGVtKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGZpbHRlci5xdWVyeS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZhY2FkZS5yZWFkKHRoaXMuZmFjYWRlLmZpbHRlcigpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmluaXQodGhpcy5lbGVtZW50UmVmKTtcblxuICAgIHRoaXMucXVlcnkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICAgIHJldHVybiBmaWx0ZXI/LnF1ZXJ5Py5maWx0ZXIoKGkpID0+ICFpLmhpZGRlbikgfHwgW107XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\n/**\n * @deprecated - please, use IModelPossibilitiesProvider from @smartsoft001/angular\n */\nexport class ICrudModelPossibilitiesProvider {\n}\n/**\n * @deprecated - please, use MODEL_POSSIBILITIES_PROVIDER from @smartsoft001/angular\n */\nexport const CRUD_MODEL_POSSIBILITIES_PROVIDER = new InjectionToken('CRUD_MODEL_POSSIBILITIES_PROVIDER');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcG9zc2liaWxpdGllcy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3Byb3ZpZGVycy9tb2RlbC1wb3NzaWJpbGl0aWVzL21vZGVsLXBvc3NpYmlsaXRpZXMucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQzs7R0FFRztBQUNILE1BQU0sT0FBZ0IsK0JBQStCO0NBSXBEO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FDNUMsSUFBSSxjQUFjLENBQ2hCLG1DQUFtQyxDQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSwgdXNlIElNb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlciBmcm9tIEBzbWFydHNvZnQwMDEvYW5ndWxhclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSUNydWRNb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldDxUPih0eXBlOiBhbnkpOiB7XG4gICAgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTx7IGlkOiBhbnk7IHRleHQ6IHN0cmluZyB9W10+O1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIC0gcGxlYXNlLCB1c2UgTU9ERUxfUE9TU0lCSUxJVElFU19QUk9WSURFUiBmcm9tIEBzbWFydHNvZnQwMDEvYW5ndWxhclxuICovXG5leHBvcnQgY29uc3QgQ1JVRF9NT0RFTF9QT1NTSUJJTElUSUVTX1BST1ZJREVSID1cbiAgbmV3IEluamVjdGlvblRva2VuPElDcnVkTW9kZWxQb3NzaWJpbGl0aWVzUHJvdmlkZXI+KFxuICAgICdDUlVEX01PREVMX1BPU1NJQklMSVRJRVNfUFJPVklERVInLFxuICApO1xuIl19","import { inject, Pipe } from '@angular/core';\nimport { CRUD_MODEL_POSSIBILITIES_PROVIDER } from '../../providers/model-possibilities/model-possibilities.provider';\nimport * as i0 from \"@angular/core\";\nexport class FormOptionsPipe {\n modelPossibilitiesProvider = inject(CRUD_MODEL_POSSIBILITIES_PROVIDER);\n transform(item, mode, type, uniqueProvider, inputComponents) {\n if (!mode || !type)\n return null;\n let possibilities = {};\n if (type && this.modelPossibilitiesProvider) {\n possibilities = this.modelPossibilitiesProvider.get(type);\n }\n if (mode === 'create') {\n return {\n mode: 'create',\n possibilities,\n inputComponents,\n uniqueProvider,\n model: new type(),\n show: true,\n };\n }\n else {\n const model = new type();\n if (item) {\n Object.keys(item).forEach((key) => {\n model[key] = item[key];\n });\n }\n return {\n mode: mode,\n uniqueProvider,\n possibilities: possibilities,\n inputComponents,\n model: model,\n show: true,\n };\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FormOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: FormOptionsPipe, isStandalone: true, name: \"smartFormOptions\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FormOptionsPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'smartFormOptions',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vcHRpb25zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9waXBlcy9mb3JtLW9wdGlvbnMvZm9ybS1vcHRpb25zLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBS2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtFQUFrRSxDQUFDOztBQUtySCxNQUFNLE9BQU8sZUFBZTtJQUdsQiwwQkFBMEIsR0FBRyxNQUFNLENBQ3pDLGlDQUFpQyxDQUNsQyxDQUFDO0lBRUYsU0FBUyxDQUNQLElBQU8sRUFDUCxJQUFZLEVBQ1osSUFBUyxFQUNULGNBQW1FLEVBQ25FLGVBQWtFO1FBRWxFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFXLENBQUM7UUFFdkMsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQzVDLGFBQWEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFFRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPO2dCQUNMLElBQUksRUFBRSxRQUFRO2dCQUNkLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixjQUFjO2dCQUNkLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDakIsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBRXpCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDL0IsS0FBYSxDQUFDLEdBQUcsQ0FBQyxHQUFJLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixjQUFjO2dCQUNkLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixlQUFlO2dCQUNmLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3VHQWpEVSxlQUFlO3FHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSUZvcm1PcHRpb25zLCBJbnB1dEJhc2VDb21wb25lbnQgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBDUlVEX01PREVMX1BPU1NJQklMSVRJRVNfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbW9kZWwtcG9zc2liaWxpdGllcy9tb2RlbC1wb3NzaWJpbGl0aWVzLnByb3ZpZGVyJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc21hcnRGb3JtT3B0aW9ucycsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1PcHRpb25zUGlwZTxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm1cbntcbiAgcHJpdmF0ZSBtb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlciA9IGluamVjdChcbiAgICBDUlVEX01PREVMX1BPU1NJQklMSVRJRVNfUFJPVklERVIsXG4gICk7XG5cbiAgdHJhbnNmb3JtKFxuICAgIGl0ZW06IFQsXG4gICAgbW9kZTogc3RyaW5nLFxuICAgIHR5cGU6IGFueSxcbiAgICB1bmlxdWVQcm92aWRlcj86ICh2YWx1ZXM6IFJlY29yZDxrZXlvZiBULCBhbnk+KSA9PiBQcm9taXNlPGJvb2xlYW4+LFxuICAgIGlucHV0Q29tcG9uZW50cz86IHsgW2tleTogc3RyaW5nXTogVHlwZTxJbnB1dEJhc2VDb21wb25lbnQ8YW55Pj4gfSxcbiAgKTogSUZvcm1PcHRpb25zPFQ+IHtcbiAgICBpZiAoIW1vZGUgfHwgIXR5cGUpIHJldHVybiBudWxsIGFzIGFueTtcblxuICAgIGxldCBwb3NzaWJpbGl0aWVzID0ge307XG5cbiAgICBpZiAodHlwZSAmJiB0aGlzLm1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyKSB7XG4gICAgICBwb3NzaWJpbGl0aWVzID0gdGhpcy5tb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlci5nZXQodHlwZSk7XG4gICAgfVxuXG4gICAgaWYgKG1vZGUgPT09ICdjcmVhdGUnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiAnY3JlYXRlJyxcbiAgICAgICAgcG9zc2liaWxpdGllcyxcbiAgICAgICAgaW5wdXRDb21wb25lbnRzLFxuICAgICAgICB1bmlxdWVQcm92aWRlcixcbiAgICAgICAgbW9kZWw6IG5ldyB0eXBlKCksXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb2RlbCA9IG5ldyB0eXBlKCk7XG5cbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgIChtb2RlbCBhcyBhbnkpW2tleV0gPSAoaXRlbSBhcyBhbnkpW2tleV07XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiBtb2RlLFxuICAgICAgICB1bmlxdWVQcm92aWRlcixcbiAgICAgICAgcG9zc2liaWxpdGllczogcG9zc2liaWxpdGllcyxcbiAgICAgICAgaW5wdXRDb21wb25lbnRzLFxuICAgICAgICBtb2RlbDogbW9kZWwsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { FormOptionsPipe } from './form-options/form-options.pipe';\nimport * as i0 from \"@angular/core\";\nexport class CrudPipesModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule, imports: [FormOptionsPipe], exports: [FormOptionsPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [FormOptionsPipe],\n imports: [FormOptionsPipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQU1uRSxNQUFNLE9BQU8sZUFBZTt1R0FBZixlQUFlO3dHQUFmLGVBQWUsWUFGaEIsZUFBZSxhQURmLGVBQWU7d0dBR2QsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb3JtT3B0aW9uc1BpcGUgfSBmcm9tICcuL2Zvcm0tb3B0aW9ucy9mb3JtLW9wdGlvbnMucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtGb3JtT3B0aW9uc1BpcGVdLFxuICBpbXBvcnRzOiBbRm9ybU9wdGlvbnNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZFBpcGVzTW9kdWxlIHt9XG4iXX0=","import { NgComponentOutlet } from '@angular/common';\nimport { Component, computed, inject } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { DynamicIoDirective } from 'ng-dynamic-component';\nimport { ButtonComponent, FormComponent, MenuService, } from '@smartsoft001/angular';\nimport { getModelFieldsWithOptions, } from '@smartsoft001/models';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { CrudFullConfig } from '../../crud.config';\nimport { FormOptionsPipe } from '../../pipes';\nimport * as i0 from \"@angular/core\";\nexport class MultiselectComponent {\n facade = inject((CrudFacade));\n config = inject((CrudFullConfig));\n menuService = inject(MenuService);\n _list;\n _changes;\n item;\n valid;\n buttonOptions = {\n click: async () => {\n const result = this._list.map((item) => {\n return {\n ...this._changes,\n id: item.id,\n };\n });\n this.facade.updatePartialMany(result);\n await this.menuService.closeEnd();\n },\n confirm: true,\n };\n lock;\n showForm = false;\n list;\n constructor() {\n this.list = computed(() => {\n const list = this.facade.multiSelected() || [];\n this.lock = true;\n const model = new this.config.type();\n const fieldsWithOptions = getModelFieldsWithOptions(model).filter((f) => f.options.update?.multi);\n this.showForm = !!fieldsWithOptions.length;\n fieldsWithOptions.forEach(({ key }) => {\n const uniques = _.uniq(list.map((i) => i[key]));\n if (uniques.length === 1) {\n model[key] = uniques[0];\n }\n });\n this.item = model;\n return list;\n }, ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n }\n async onClose() {\n await this.menuService.closeEnd();\n }\n onPartialChange(changes, list) {\n this.lock = false;\n this._list = list;\n this._changes = changes;\n }\n onValidChange(valid) {\n this.valid = valid;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: MultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: MultiselectComponent, isStandalone: true, selector: \"smart-crud-multiselect\", ngImport: i0, template: \"@let list = this.list();\\n@if (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\\n }}<!--</ion-title>-->\\n <!-- </ion-toolbar>-->\\n <!-- </ion-header>-->\\n\\n @if (config?.list?.components?.multi) {\\n <div>\\n <ng-template\\n [ngComponentOutlet]=\\\"config?.list?.components?.multi\\\"\\n [ndcDynamicInputs]=\\\"{ items: list }\\\"\\n ></ng-template>\\n </div>\\n }\\n\\n @if (showForm && item) {\\n <div>\\n <smart-form\\n [options]=\\\"item | smartFormOptions: 'multiUpdate' : config.type\\\"\\n (valuePartialChange)=\\\"onPartialChange($event, list)\\\"\\n (validChange)=\\\"onValidChange($event)\\\"\\n ></smart-form>\\n\\n <smart-button\\n style=\\\"float: right\\\"\\n [disabled]=\\\"lock || !valid\\\"\\n [options]=\\\"buttonOptions\\\"\\n >\\n {{ 'change' | translate }}\\n </smart-button>\\n </div>\\n }\\n}\\n\", dependencies: [{ kind: \"directive\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"directive\", type: DynamicIoDirective, selector: \"[ndcDynamicInputs],[ndcDynamicOutputs]\", inputs: [\"ndcDynamicInputs\", \"ndcDynamicOutputs\"], exportAs: [\"ndcDynamicIo\"] }, { kind: \"component\", type: FormComponent, selector: \"smart-form\", inputs: [\"options\"], outputs: [\"invokeSubmit\", \"valueChange\", \"valuePartialChange\", \"validChange\"] }, { kind: \"component\", type: ButtonComponent, selector: \"smart-button\", inputs: [\"options\", \"disabled\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }, { kind: \"pipe\", type: FormOptionsPipe, name: \"smartFormOptions\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: MultiselectComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-multiselect', imports: [\n TranslatePipe,\n NgComponentOutlet,\n DynamicIoDirective,\n FormOptionsPipe,\n FormComponent,\n ButtonComponent,\n ], template: \"@let list = this.list();\\n@if (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\\n }}<!--</ion-title>-->\\n <!-- </ion-toolbar>-->\\n <!-- </ion-header>-->\\n\\n @if (config?.list?.components?.multi) {\\n <div>\\n <ng-template\\n [ngComponentOutlet]=\\\"config?.list?.components?.multi\\\"\\n [ndcDynamicInputs]=\\\"{ items: list }\\\"\\n ></ng-template>\\n </div>\\n }\\n\\n @if (showForm && item) {\\n <div>\\n <smart-form\\n [options]=\\\"item | smartFormOptions: 'multiUpdate' : config.type\\\"\\n (valuePartialChange)=\\\"onPartialChange($event, list)\\\"\\n (validChange)=\\\"onValidChange($event)\\\"\\n ></smart-form>\\n\\n <smart-button\\n style=\\\"float: right\\\"\\n [disabled]=\\\"lock || !valid\\\"\\n [options]=\\\"buttonOptions\\\"\\n >\\n {{ 'change' | translate }}\\n </smart-button>\\n </div>\\n }\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aXNlbGVjdC9tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBRWIsV0FBVyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNMLHlCQUF5QixHQUUxQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFjOUMsTUFBTSxPQUFPLG9CQUFvQjtJQUN2QixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFDbEMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVsQyxLQUFLLENBQVk7SUFDakIsUUFBUSxDQUFjO0lBRTlCLElBQUksQ0FBSztJQUNULEtBQUssQ0FBVztJQUNoQixhQUFhLEdBQW1CO1FBQzlCLEtBQUssRUFBRSxLQUFLLElBQUksRUFBRTtZQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNyQyxPQUFPO29CQUNMLEdBQUcsSUFBSSxDQUFDLFFBQVE7b0JBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtpQkFDWixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDO0lBQ0YsSUFBSSxDQUFXO0lBQ2YsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixJQUFJLENBQWU7SUFFbkI7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXJDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUMvRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUE2QixFQUFFLEtBQUssQ0FDdkQsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUUzQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFaEQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN6QixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUVsQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsZ0RBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQW1CLEVBQUUsSUFBYztRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzt1R0FuRVUsb0JBQW9COzJGQUFwQixvQkFBb0Isa0ZDbENqQyw2cUNBeUNBLDRDRGRJLGlCQUFpQiw2VEFDakIsa0JBQWtCLGtLQUVsQixhQUFhLDJKQUNiLGVBQWUscUZBTGYsYUFBYSw2Q0FHYixlQUFlOzsyRkFLTixvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0Usd0JBQXdCLFdBRXpCO3dCQUNQLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEeW5hbWljSW9EaXJlY3RpdmUgfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRm9ybUNvbXBvbmVudCxcbiAgSUJ1dHRvbk9wdGlvbnMsXG4gIE1lbnVTZXJ2aWNlLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyxcbiAgSUZpZWxkRWRpdE1ldGFkYXRhLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtT3B0aW9uc1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICBEeW5hbWljSW9EaXJlY3RpdmUsXG4gICAgRm9ybU9wdGlvbnNQaXBlLFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXNlbGVjdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiB7XG4gIHByaXZhdGUgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuICBwdWJsaWMgY29uZmlnID0gaW5qZWN0KENydWRGdWxsQ29uZmlnPFQ+KTtcbiAgcHJpdmF0ZSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBfbGlzdCE6IEFycmF5PFQ+O1xuICBwcml2YXRlIF9jaGFuZ2VzITogUGFydGlhbDxUPjtcblxuICBpdGVtITogVDtcbiAgdmFsaWQhOiBib29sZWFuO1xuICBidXR0b25PcHRpb25zOiBJQnV0dG9uT3B0aW9ucyA9IHtcbiAgICBjbGljazogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fbGlzdC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLl9jaGFuZ2VzLFxuICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVBhcnRpYWxNYW55KHJlc3VsdCk7XG4gICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgfSxcbiAgICBjb25maXJtOiB0cnVlLFxuICB9O1xuICBsb2NrITogYm9vbGVhbjtcbiAgc2hvd0Zvcm0gPSBmYWxzZTtcblxuICBsaXN0ITogU2lnbmFsPFRbXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5saXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0ZWQoKSB8fCBbXTtcbiAgICAgIHRoaXMubG9jayA9IHRydWU7XG4gICAgICBjb25zdCBtb2RlbCA9IG5ldyB0aGlzLmNvbmZpZy50eXBlKCk7XG5cbiAgICAgIGNvbnN0IGZpZWxkc1dpdGhPcHRpb25zID0gZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyhtb2RlbCkuZmlsdGVyKFxuICAgICAgICAoZikgPT4gKGYub3B0aW9ucy51cGRhdGUgYXMgSUZpZWxkRWRpdE1ldGFkYXRhKT8ubXVsdGksXG4gICAgICApO1xuXG4gICAgICB0aGlzLnNob3dGb3JtID0gISFmaWVsZHNXaXRoT3B0aW9ucy5sZW5ndGg7XG5cbiAgICAgIGZpZWxkc1dpdGhPcHRpb25zLmZvckVhY2goKHsga2V5IH0pID0+IHtcbiAgICAgICAgY29uc3QgdW5pcXVlcyA9IF8udW5pcShsaXN0Lm1hcCgoaSkgPT4gaVtrZXldKSk7XG5cbiAgICAgICAgaWYgKHVuaXF1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgbW9kZWxba2V5XSA9IHVuaXF1ZXNbMF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLml0ZW0gPSBtb2RlbDtcblxuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBvbkNsb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcbiAgfVxuXG4gIG9uUGFydGlhbENoYW5nZShjaGFuZ2VzOiBQYXJ0aWFsPFQ+LCBsaXN0OiBBcnJheTxUPikge1xuICAgIHRoaXMubG9jayA9IGZhbHNlO1xuICAgIHRoaXMuX2xpc3QgPSBsaXN0O1xuICAgIHRoaXMuX2NoYW5nZXMgPSBjaGFuZ2VzO1xuICB9XG5cbiAgb25WYWxpZENoYW5nZSh2YWxpZDogYm9vbGVhbikge1xuICAgIHRoaXMudmFsaWQgPSB2YWxpZDtcbiAgfVxufVxuIiwiQGxldCBsaXN0ID0gdGhpcy5saXN0KCk7XG5AaWYgKGxpc3QpIHtcbiAgPCEtLSAgPGlvbi1oZWFkZXI+LS0+XG4gIDwhLS0gICAgPGlvbi10b29sYmFyPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPi0tPlxuICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+IDwvaW9uLWljb24+LS0+XG4gIDwhLS0gICAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbnM+LS0+XG4gIDwhLS08aW9uLXRpdGxlPi0tPnt7ICdzZWxlY3RlZCcgfCB0cmFuc2xhdGUgfX06IHt7IGxpc3Q/Lmxlbmd0aFxuICB9fTwhLS08L2lvbi10aXRsZT4tLT5cbiAgPCEtLSAgICA8L2lvbi10b29sYmFyPi0tPlxuICA8IS0tICA8L2lvbi1oZWFkZXI+LS0+XG5cbiAgQGlmIChjb25maWc/Lmxpc3Q/LmNvbXBvbmVudHM/Lm11bHRpKSB7XG4gICAgPGRpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRdPVwiY29uZmlnPy5saXN0Py5jb21wb25lbnRzPy5tdWx0aVwiXG4gICAgICAgIFtuZGNEeW5hbWljSW5wdXRzXT1cInsgaXRlbXM6IGxpc3QgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc2hvd0Zvcm0gJiYgaXRlbSkge1xuICAgIDxkaXY+XG4gICAgICA8c21hcnQtZm9ybVxuICAgICAgICBbb3B0aW9uc109XCJpdGVtIHwgc21hcnRGb3JtT3B0aW9uczogJ211bHRpVXBkYXRlJyA6IGNvbmZpZy50eXBlXCJcbiAgICAgICAgKHZhbHVlUGFydGlhbENoYW5nZSk9XCJvblBhcnRpYWxDaGFuZ2UoJGV2ZW50LCBsaXN0KVwiXG4gICAgICAgICh2YWxpZENoYW5nZSk9XCJvblZhbGlkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc21hcnQtZm9ybT5cblxuICAgICAgPHNtYXJ0LWJ1dHRvblxuICAgICAgICBzdHlsZT1cImZsb2F0OiByaWdodFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJsb2NrIHx8ICF2YWxpZFwiXG4gICAgICAgIFtvcHRpb25zXT1cImJ1dHRvbk9wdGlvbnNcIlxuICAgICAgPlxuICAgICAgICB7eyAnY2hhbmdlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zbWFydC1idXR0b24+XG4gICAgPC9kaXY+XG4gIH1cbn1cbiJdfQ==","import { __decorate, __metadata } from \"tslib\";\nimport { inject, Injectable } from '@angular/core';\nimport { debounce } from 'lodash-decorators';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class CrudListGroupService {\n facade = inject((CrudFacade));\n _destroyed = [];\n change(val, item, force = false) {\n if (val || force) {\n item.changed = true;\n const filter = this.facade.filter();\n let current = filter?.query?.find((q) => q.key === item.key && q.type === '=');\n if (!current) {\n current = {\n key: item.key,\n type: '=',\n value: null,\n };\n if (filter?.query) {\n filter.query.push(current);\n }\n }\n current.value = item.value;\n current.hidden = true;\n this.facade.read({\n ...this.facade.filter(),\n offset: 0,\n });\n }\n }\n destroy(groups) {\n this._destroyed = [\n ...(this._destroyed ? this._destroyed : []),\n ...groups.filter((g) => g.changed),\n ];\n this.refresh();\n }\n refresh() {\n const list = this._destroyed;\n this._destroyed = [];\n const filter = this.facade.filter();\n const newQuery = filter?.query?.filter((q) => !list.some((i) => q.key === i.key)) || [];\n this.facade.read({\n ...this.facade.filter(),\n query: newQuery,\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListGroupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListGroupService });\n}\n__decorate([\n debounce(250),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CrudListGroupService.prototype, \"refresh\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListGroupService, decorators: [{\n type: Injectable\n }], propDecorators: { refresh: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ncm91cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvbGlzdC1ncm91cC9saXN0LWdyb3VwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSXRELE1BQU0sT0FBTyxvQkFBb0I7SUFDdkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWEsQ0FBQSxDQUFDLENBQUM7SUFFL0IsVUFBVSxHQUEwQixFQUFFLENBQUM7SUFFL0MsTUFBTSxDQUFDLEdBQVksRUFBRSxJQUFvQixFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3RELElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBRXBCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQy9CLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQzVDLENBQUM7WUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxHQUFHO29CQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDYixJQUFJLEVBQUUsR0FBRztvQkFDVCxLQUFLLEVBQUUsSUFBSTtpQkFDWixDQUFDO2dCQUNGLElBQUksTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUM7WUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDM0IsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFFdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsTUFBTSxFQUFFLENBQUM7YUFDVixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUE2QjtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ25DLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUdPLE9BQU87UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQ1osTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBekRVLG9CQUFvQjsyR0FBcEIsb0JBQW9COztBQTZDdkI7SUFEUCxRQUFRLENBQUMsR0FBRyxDQUFDOzs7O21EQWFiOzJGQXpEVSxvQkFBb0I7a0JBRGhDLFVBQVU7OEJBOENELE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoLWRlY29yYXRvcnMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgSUNydWRMaXN0R3JvdXAgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZExpc3RHcm91cFNlcnZpY2U8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBwcml2YXRlIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcblxuICBwcml2YXRlIF9kZXN0cm95ZWQ6IEFycmF5PElDcnVkTGlzdEdyb3VwPiA9IFtdO1xuXG4gIGNoYW5nZSh2YWw6IGJvb2xlYW4sIGl0ZW06IElDcnVkTGlzdEdyb3VwLCBmb3JjZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHZhbCB8fCBmb3JjZSkge1xuICAgICAgaXRlbS5jaGFuZ2VkID0gdHJ1ZTtcblxuICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5mYWNhZGUuZmlsdGVyKCk7XG4gICAgICBsZXQgY3VycmVudCA9IGZpbHRlcj8ucXVlcnk/LmZpbmQoXG4gICAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSAnPScsXG4gICAgICApO1xuXG4gICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgY3VycmVudCA9IHtcbiAgICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGZpbHRlcj8ucXVlcnkpIHtcbiAgICAgICAgICBmaWx0ZXIucXVlcnkucHVzaChjdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjdXJyZW50LnZhbHVlID0gaXRlbS52YWx1ZTtcbiAgICAgIGN1cnJlbnQuaGlkZGVuID0gdHJ1ZTtcblxuICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgIC4uLnRoaXMuZmFjYWRlLmZpbHRlcigpLFxuICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KGdyb3VwczogQXJyYXk8SUNydWRMaXN0R3JvdXA+KTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveWVkID0gW1xuICAgICAgLi4uKHRoaXMuX2Rlc3Ryb3llZCA/IHRoaXMuX2Rlc3Ryb3llZCA6IFtdKSxcbiAgICAgIC4uLmdyb3Vwcy5maWx0ZXIoKGcpID0+IGcuY2hhbmdlZCksXG4gICAgXTtcblxuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgQGRlYm91bmNlKDI1MClcbiAgcHJpdmF0ZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLl9kZXN0cm95ZWQ7XG4gICAgdGhpcy5fZGVzdHJveWVkID0gW107XG5cbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICBjb25zdCBuZXdRdWVyeSA9XG4gICAgICBmaWx0ZXI/LnF1ZXJ5Py5maWx0ZXIoKHEpID0+ICFsaXN0LnNvbWUoKGkpID0+IHEua2V5ID09PSBpLmtleSkpIHx8IFtdO1xuXG4gICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAuLi50aGlzLmZhY2FkZS5maWx0ZXIoKSxcbiAgICAgIHF1ZXJ5OiBuZXdRdWVyeSxcbiAgICB9KTtcbiAgfVxufVxuIl19","import { NgClass } from '@angular/common';\nimport { Component, ElementRef, inject, input, } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { AccordionBodyComponent, AccordionComponent, AccordionHeaderComponent, BaseComponent, ListComponent, StyleService, } from '@smartsoft001/angular';\nimport { CrudListGroupService } from '../../services/list-group/list-group.service';\nimport * as i0 from \"@angular/core\";\nexport class GroupComponent extends BaseComponent {\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n groupService = inject((CrudListGroupService));\n groups = input(null, ...(ngDevMode ? [{ debugName: \"groups\" }] : []));\n listOptions = input(null, ...(ngDevMode ? [{ debugName: \"listOptions\" }] : []));\n change(val, item, force = false) {\n const groups = this.groups();\n if (groups) {\n groups\n .filter((i) => i.value !== item.value || i.key !== item.key)\n .forEach((i) => {\n i.show = false;\n });\n }\n this.groupService.change(val, item, force);\n item.show = val;\n }\n ngOnInit() {\n this.styleService.init(this.elementRef);\n }\n ngOnDestroy() {\n const groups = this.groups();\n if (groups) {\n this.groupService.destroy(groups);\n }\n super.ngOnDestroy();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: GroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: GroupComponent, isStandalone: true, selector: \"smart-crud-group\", inputs: { groups: { classPropertyName: \"groups\", publicName: \"groups\", isSignal: true, isRequired: false, transformFunction: null }, listOptions: { classPropertyName: \"listOptions\", publicName: \"listOptions\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `\n @for (item of groups(); track item.key) {\n <smart-accordion\n [show]=\"item.show || false\"\n (showChange)=\"change($event, item)\"\n >\n <smart-accordion-header [ngClass]=\"{ 'font-bold': item.show }\"\n >{{ item.text | translate }}\n </smart-accordion-header>\n <smart-accordion-body>\n @if (item.show && !item.children && listOptions()) {\n <smart-list [options]=\"listOptions()!\"></smart-list>\n }\n @if (item.children) {\n <div style=\"margin-left: 50px\">\n <smart-crud-group\n [groups]=\"item.children\"\n [listOptions]=\"listOptions()\"\n ></smart-crud-group>\n </div>\n }\n </smart-accordion-body>\n </smart-accordion>\n }\n <br /><br /><br />\n `, isInline: true, dependencies: [{ kind: \"component\", type: GroupComponent, selector: \"smart-crud-group\", inputs: [\"groups\", \"listOptions\"] }, { kind: \"component\", type: AccordionComponent, selector: \"smart-accordion\", inputs: [\"show\"], outputs: [\"showChange\"] }, { kind: \"component\", type: AccordionHeaderComponent, selector: \"smart-accordion-header\" }, { kind: \"component\", type: AccordionBodyComponent, selector: \"smart-accordion-body\" }, { kind: \"component\", type: ListComponent, selector: \"smart-list\", inputs: [\"options\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: GroupComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-group',\n template: `\n @for (item of groups(); track item.key) {\n <smart-accordion\n [show]=\"item.show || false\"\n (showChange)=\"change($event, item)\"\n >\n <smart-accordion-header [ngClass]=\"{ 'font-bold': item.show }\"\n >{{ item.text | translate }}\n </smart-accordion-header>\n <smart-accordion-body>\n @if (item.show && !item.children && listOptions()) {\n <smart-list [options]=\"listOptions()!\"></smart-list>\n }\n @if (item.children) {\n <div style=\"margin-left: 50px\">\n <smart-crud-group\n [groups]=\"item.children\"\n [listOptions]=\"listOptions()\"\n ></smart-crud-group>\n </div>\n }\n </smart-accordion-body>\n </smart-accordion>\n }\n <br /><br /><br />\n `,\n imports: [\n AccordionComponent,\n AccordionHeaderComponent,\n AccordionBodyComponent,\n ListComponent,\n NgClass,\n TranslatePipe,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixhQUFhLEVBRWIsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHVCQUF1QixDQUFDO0FBSS9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQXVDcEYsTUFBTSxPQUFPLGNBQ1gsU0FBUSxhQUFhO0lBR2IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQSxvQkFBdUIsQ0FBQSxDQUFDLENBQUM7SUFFOUMsTUFBTSxHQUNiLEtBQUssQ0FBK0IsSUFBSSxrREFBQyxDQUFDO0lBQ25DLFdBQVcsR0FDbEIsS0FBSyxDQUF5QixJQUFJLHVEQUFDLENBQUM7SUFFdEMsTUFBTSxDQUFDLEdBQVksRUFBRSxJQUFvQixFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTTtpQkFDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQzNELE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNiLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVRLFdBQVc7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7dUdBdENVLGNBQWM7MkZBQWQsY0FBYyxvWEFuQ2Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQsNERBVVUsY0FBYyxnR0FSdkIsa0JBQWtCLHVHQUNsQix3QkFBd0IsbUVBQ3hCLHNCQUFzQixpRUFDdEIsYUFBYSw0RUFDYixPQUFPLCtFQUNQLGFBQWE7OzJGQUdKLGNBQWM7a0JBckMxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCVDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixPQUFPO3dCQUNQLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXRTaWduYWwsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWNjb3JkaW9uQm9keUNvbXBvbmVudCxcbiAgQWNjb3JkaW9uQ29tcG9uZW50LFxuICBBY2NvcmRpb25IZWFkZXJDb21wb25lbnQsXG4gIEJhc2VDb21wb25lbnQsXG4gIElMaXN0T3B0aW9ucyxcbiAgTGlzdENvbXBvbmVudCxcbiAgU3R5bGVTZXJ2aWNlLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBJQ3J1ZExpc3RHcm91cCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDcnVkTGlzdEdyb3VwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1ncm91cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGZvciAoaXRlbSBvZiBncm91cHMoKTsgdHJhY2sgaXRlbS5rZXkpIHtcbiAgICAgIDxzbWFydC1hY2NvcmRpb25cbiAgICAgICAgW3Nob3ddPVwiaXRlbS5zaG93IHx8IGZhbHNlXCJcbiAgICAgICAgKHNob3dDaGFuZ2UpPVwiY2hhbmdlKCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8c21hcnQtYWNjb3JkaW9uLWhlYWRlciBbbmdDbGFzc109XCJ7ICdmb250LWJvbGQnOiBpdGVtLnNob3cgfVwiXG4gICAgICAgICAgPnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NtYXJ0LWFjY29yZGlvbi1oZWFkZXI+XG4gICAgICAgIDxzbWFydC1hY2NvcmRpb24tYm9keT5cbiAgICAgICAgICBAaWYgKGl0ZW0uc2hvdyAmJiAhaXRlbS5jaGlsZHJlbiAmJiBsaXN0T3B0aW9ucygpKSB7XG4gICAgICAgICAgICA8c21hcnQtbGlzdCBbb3B0aW9uc109XCJsaXN0T3B0aW9ucygpIVwiPjwvc21hcnQtbGlzdD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDUwcHhcIj5cbiAgICAgICAgICAgICAgPHNtYXJ0LWNydWQtZ3JvdXBcbiAgICAgICAgICAgICAgICBbZ3JvdXBzXT1cIml0ZW0uY2hpbGRyZW5cIlxuICAgICAgICAgICAgICAgIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9ucygpXCJcbiAgICAgICAgICAgICAgPjwvc21hcnQtY3J1ZC1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zbWFydC1hY2NvcmRpb24tYm9keT5cbiAgICAgIDwvc21hcnQtYWNjb3JkaW9uPlxuICAgIH1cbiAgICA8YnIgLz48YnIgLz48YnIgLz5cbiAgYCxcbiAgaW1wb3J0czogW1xuICAgIEFjY29yZGlvbkNvbXBvbmVudCxcbiAgICBBY2NvcmRpb25IZWFkZXJDb21wb25lbnQsXG4gICAgQWNjb3JkaW9uQm9keUNvbXBvbmVudCxcbiAgICBMaXN0Q29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBzdHlsZVNlcnZpY2UgPSBpbmplY3QoU3R5bGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGdyb3VwU2VydmljZSA9IGluamVjdChDcnVkTGlzdEdyb3VwU2VydmljZTxUPik7XG5cbiAgcmVhZG9ubHkgZ3JvdXBzOiBJbnB1dFNpZ25hbDxBcnJheTxJQ3J1ZExpc3RHcm91cD4gfCBudWxsPiA9XG4gICAgaW5wdXQ8QXJyYXk8SUNydWRMaXN0R3JvdXA+IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGxpc3RPcHRpb25zOiBJbnB1dFNpZ25hbDxJTGlzdE9wdGlvbnM8VD4gfCBudWxsPiA9XG4gICAgaW5wdXQ8SUxpc3RPcHRpb25zPFQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgY2hhbmdlKHZhbDogYm9vbGVhbiwgaXRlbTogSUNydWRMaXN0R3JvdXAsIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cHMgPSB0aGlzLmdyb3VwcygpO1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgIGdyb3Vwc1xuICAgICAgICAuZmlsdGVyKChpKSA9PiBpLnZhbHVlICE9PSBpdGVtLnZhbHVlIHx8IGkua2V5ICE9PSBpdGVtLmtleSlcbiAgICAgICAgLmZvckVhY2goKGkpID0+IHtcbiAgICAgICAgICBpLnNob3cgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5ncm91cFNlcnZpY2UuY2hhbmdlKHZhbCwgaXRlbSwgZm9yY2UpO1xuXG4gICAgaXRlbS5zaG93ID0gdmFsO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZVNlcnZpY2UuaW5pdCh0aGlzLmVsZW1lbnRSZWYpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgY29uc3QgZ3JvdXBzID0gdGhpcy5ncm91cHMoKTtcbiAgICBpZiAoZ3JvdXBzKSB7XG4gICAgICB0aGlzLmdyb3VwU2VydmljZS5kZXN0cm95KGdyb3Vwcyk7XG4gICAgfVxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==","import { computed, inject, Injectable } from '@angular/core';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class CrudListPaginationFactory {\n facade = inject((CrudFacade));\n async create(options) {\n return {\n mode: options.mode,\n limit: options.limit,\n loadNextPage: () => {\n if (!options.provider.getLinks() || !options.provider.getLinks().next)\n return Promise.resolve(false);\n return new Promise((res) => {\n if (this.facade.loaded()) {\n setTimeout(() => {\n res(options.provider.getLinks() && options.provider.getLinks().next);\n });\n }\n const filter = options.provider.getFilter();\n this.facade.read({\n ...filter,\n offset: (filter.offset || 0) + (filter.limit || 0),\n });\n });\n },\n loadPrevPage: () => {\n if (!options.provider.getLinks() || !options.provider.getLinks().prev)\n return Promise.resolve(false);\n return new Promise((res) => {\n const loaded = this.facade.loaded();\n if (loaded) {\n setTimeout(() => {\n res(options.provider.getLinks() && options.provider.getLinks().prev);\n });\n }\n const filter = options.provider.getFilter();\n this.facade.read({\n ...filter,\n offset: (filter.offset || 0) - (filter.limit || 0),\n });\n });\n },\n page: computed(() => {\n const f = this.facade.filter();\n return f?.limit ? (f.offset || 0) / f.limit + 1 : 0;\n }),\n totalPages: computed(() => {\n const filter = this.facade.filter();\n const totalCount = this.facade.totalCount();\n return filter?.limit && totalCount\n ? Math.ceil(totalCount / filter.limit)\n : 0;\n }),\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPaginationFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPaginationFactory });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPaginationFactory, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmF0aW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9mYWN0b3JpZXMvbGlzdC1wYWdpbmF0aW9uL2xpc3QtcGFnaW5hdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSXRELE1BQU0sT0FBTyx5QkFBeUI7SUFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWEsQ0FBQSxDQUFDLENBQUM7SUFFaEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQU9aO1FBQ0MsT0FBTztZQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUk7b0JBQ25FLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFaEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQzt3QkFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxHQUFHLENBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDaEUsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNmLEdBQUcsTUFBTTt3QkFDVCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7cUJBQ25ELENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSTtvQkFDbkUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVoQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BDLElBQUksTUFBTSxFQUFFLENBQUM7d0JBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxHQUFHLENBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDaEUsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNmLEdBQUcsTUFBTTt3QkFDVCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7cUJBQ25ELENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUM7WUFDRixVQUFVLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDNUMsT0FBTyxNQUFNLEVBQUUsS0FBSyxJQUFJLFVBQVU7b0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO29CQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1IsQ0FBQyxDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7dUdBbkVVLHlCQUF5QjsyR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJTGlzdFBhZ2luYXRpb25PcHRpb25zLCBQYWdpbmF0aW9uTW9kZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeTxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuXG4gIGFzeW5jIGNyZWF0ZShvcHRpb25zOiB7XG4gICAgbW9kZT86IFBhZ2luYXRpb25Nb2RlO1xuICAgIGxpbWl0OiBudW1iZXI7XG4gICAgcHJvdmlkZXI6IHtcbiAgICAgIGdldExpbmtzKCk6IGFueTtcbiAgICAgIGdldEZpbHRlcigpOiBJQ3J1ZEZpbHRlcjtcbiAgICB9O1xuICB9KTogUHJvbWlzZTxJTGlzdFBhZ2luYXRpb25PcHRpb25zPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZGU6IG9wdGlvbnMubW9kZSxcbiAgICAgIGxpbWl0OiBvcHRpb25zLmxpbWl0LFxuICAgICAgbG9hZE5leHRQYWdlOiAoKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5wcm92aWRlci5nZXRMaW5rcygpIHx8ICFvcHRpb25zLnByb3ZpZGVyLmdldExpbmtzKCkubmV4dClcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmZhY2FkZS5sb2FkZWQoKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHJlcyhcbiAgICAgICAgICAgICAgICBvcHRpb25zLnByb3ZpZGVyLmdldExpbmtzKCkgJiYgb3B0aW9ucy5wcm92aWRlci5nZXRMaW5rcygpLm5leHQsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBvcHRpb25zLnByb3ZpZGVyLmdldEZpbHRlcigpO1xuICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgb2Zmc2V0OiAoZmlsdGVyLm9mZnNldCB8fCAwKSArIChmaWx0ZXIubGltaXQgfHwgMCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGxvYWRQcmV2UGFnZTogKCkgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMucHJvdmlkZXIuZ2V0TGlua3MoKSB8fCAhb3B0aW9ucy5wcm92aWRlci5nZXRMaW5rcygpLnByZXYpXG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBsb2FkZWQgPSB0aGlzLmZhY2FkZS5sb2FkZWQoKTtcbiAgICAgICAgICBpZiAobG9hZGVkKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgcmVzKFxuICAgICAgICAgICAgICAgIG9wdGlvbnMucHJvdmlkZXIuZ2V0TGlua3MoKSAmJiBvcHRpb25zLnByb3ZpZGVyLmdldExpbmtzKCkucHJldixcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGZpbHRlciA9IG9wdGlvbnMucHJvdmlkZXIuZ2V0RmlsdGVyKCk7XG4gICAgICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICBvZmZzZXQ6IChmaWx0ZXIub2Zmc2V0IHx8IDApIC0gKGZpbHRlci5saW1pdCB8fCAwKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgcGFnZTogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmID0gdGhpcy5mYWNhZGUuZmlsdGVyKCk7XG4gICAgICAgIHJldHVybiBmPy5saW1pdCA/IChmLm9mZnNldCB8fCAwKSAvIGYubGltaXQgKyAxIDogMDtcbiAgICAgIH0pLFxuICAgICAgdG90YWxQYWdlczogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICAgICAgY29uc3QgdG90YWxDb3VudCA9IHRoaXMuZmFjYWRlLnRvdGFsQ291bnQoKTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcj8ubGltaXQgJiYgdG90YWxDb3VudFxuICAgICAgICAgID8gTWF0aC5jZWlsKHRvdGFsQ291bnQgLyBmaWx0ZXIubGltaXQpXG4gICAgICAgICAgOiAwO1xuICAgICAgfSksXG4gICAgfTtcbiAgfVxufVxuIl19","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CrudConfig } from '../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class CrudService {\n config = inject((CrudConfig));\n http = inject(HttpClient);\n _formatMap = {\n csv: 'text/csv',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n };\n create(item) {\n return firstValueFrom(this.http\n .post(this.config.apiUrl, item, { observe: 'response' })\n .pipe(map((response) => {\n const location = response.headers['Location'];\n if (!location)\n return null;\n const array = location.split('/');\n return array[array.length - 1];\n })));\n }\n createMany(items, options) {\n return firstValueFrom(this.http.post(this.config.apiUrl + '/bulk?mode=' + options.mode, items));\n }\n getById(id) {\n return firstValueFrom(this.http.get(this.config.apiUrl + '/' + id));\n }\n getList(filter = null) {\n return firstValueFrom(this.http.get(this.config.apiUrl + this.getQuery(filter)));\n }\n exportList(filter = null, format) {\n if (!format) {\n format = 'csv';\n }\n if (format === 'xlsx') {\n return firstValueFrom(this.http\n .get(this.config.apiUrl + this.getQuery(filter), {\n headers: {\n 'Content-Type': this._formatMap[format],\n },\n observe: 'response',\n reportProgress: false,\n responseType: 'blob',\n })\n .pipe(map((res) => {\n const downloadLink = document.createElement('a');\n const blob = res.body;\n downloadLink.href = URL.createObjectURL(blob);\n downloadLink.download = 'data.' + format;\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n })));\n }\n return firstValueFrom(this.http\n .get(this.config.apiUrl + this.getQuery(filter), {\n headers: {\n 'Content-Type': this._formatMap[format],\n },\n responseType: 'text',\n })\n .pipe(map((res) => {\n const downloadLink = document.createElement('a');\n const blob = new Blob(['\\ufeff', res]);\n downloadLink.href = URL.createObjectURL(blob);\n downloadLink.download = 'data.' + format;\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n })));\n }\n update(item) {\n return firstValueFrom(this.http.put(this.config.apiUrl + '/' + item.id, item));\n }\n updatePartial(item) {\n return firstValueFrom(this.http.patch(this.config.apiUrl + '/' + item.id, item));\n }\n updatePartialMany(items) {\n const updatePromises = items.map((item) => {\n return this.updatePartial(item);\n });\n return Promise.all(updatePromises);\n }\n delete(id) {\n return firstValueFrom(this.http.delete(this.config.apiUrl + '/' + id));\n }\n getQuery(filter) {\n let query = '';\n if (filter && filter.searchText) {\n query += '&$search=' + filter.searchText;\n }\n if (filter && filter.limit) {\n query += `&limit=${filter.limit}&offset=${filter.offset ? filter.offset : 0}`;\n }\n if (filter && filter.sortBy) {\n query += `&sort=${(filter.sortDesc ? '-' : '') + filter.sortBy}`;\n }\n if (filter && filter.query) {\n filter.query.forEach((q) => {\n if (q.value &&\n typeof q.value === 'string' &&\n q.value.match(/^-?\\d+$/) &&\n q.value[0] !== \"'\" &&\n q.value[0] !== '\"') {\n query += '&' + q.key + q.type + `'${q.value}'`;\n }\n else {\n query += '&' + q.key + q.type + q.value;\n }\n });\n }\n return query ? '?' + query.replace('&', '') : '';\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvY3J1ZC9jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJL0MsTUFBTSxPQUFPLFdBQVc7SUFDWixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFCLFVBQVUsR0FBRztRQUNyQixHQUFHLEVBQUUsVUFBVTtRQUNmLElBQUksRUFBRSxtRUFBbUU7S0FDMUUsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFPO1FBQ1osT0FBTyxjQUFjLENBQ25CLElBQUksQ0FBQyxJQUFJO2FBQ04sSUFBSSxDQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQzthQUM3RCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDZixNQUFNLFFBQVEsR0FBSSxRQUFRLENBQUMsT0FBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzNCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FB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QkFDRCxLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFDakQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQzFDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkQsQ0FBQzt1R0F4S1UsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBDcnVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY3J1ZC5jb25maWcnO1xuaW1wb3J0IHsgSUNydWRDcmVhdGVNYW55T3B0aW9ucywgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZFNlcnZpY2U8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBwcm90ZWN0ZWQgY29uZmlnID0gaW5qZWN0KENydWRDb25maWc8VD4pO1xuICBwcm90ZWN0ZWQgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBwcm90ZWN0ZWQgX2Zvcm1hdE1hcCA9IHtcbiAgICBjc3Y6ICd0ZXh0L2NzdicsXG4gICAgeGxzeDogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgfTtcblxuICBjcmVhdGUoaXRlbTogVCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5wb3N0PHZvaWQ+KHRoaXMuY29uZmlnLmFwaVVybCwgaXRlbSwgeyBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0gKHJlc3BvbnNlLmhlYWRlcnMgYXMgYW55KVsnTG9jYXRpb24nXTtcbiAgICAgICAgICAgIGlmICghbG9jYXRpb24pIHJldHVybiBudWxsO1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBsb2NhdGlvbi5zcGxpdCgnLycpO1xuICAgICAgICAgICAgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBjcmVhdGVNYW55KGl0ZW1zOiBBcnJheTxUPiwgb3B0aW9uczogSUNydWRDcmVhdGVNYW55T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KFxuICAgICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyAnL2J1bGs/bW9kZT0nICsgb3B0aW9ucy5tb2RlLFxuICAgICAgICBpdGVtcyxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuY29uZmlnLmFwaVVybCArICcvJyArIGlkKSk7XG4gIH1cblxuICBnZXRMaXN0PFQ+KFxuICAgIGZpbHRlcjogSUNydWRGaWx0ZXIgfCBudWxsID0gbnVsbCxcbiAgKTogUHJvbWlzZTx7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rczogYW55IH0+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0PHsgZGF0YTogVFtdOyB0b3RhbENvdW50OiBudW1iZXI7IGxpbmtzOiBhbnkgfT4oXG4gICAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0UXVlcnkoZmlsdGVyIGFzIElDcnVkRmlsdGVyKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydExpc3QoXG4gICAgZmlsdGVyOiBJQ3J1ZEZpbHRlciB8IG51bGwgPSBudWxsLFxuICAgIGZvcm1hdDogJ2NzdicgfCAneGxzeCcsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghZm9ybWF0KSB7XG4gICAgICBmb3JtYXQgPSAnY3N2JztcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAneGxzeCcpIHtcbiAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZy5hcGlVcmwgKyB0aGlzLmdldFF1ZXJ5KGZpbHRlciBhcyBJQ3J1ZEZpbHRlciksIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IHRoaXMuX2Zvcm1hdE1hcFtmb3JtYXRdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICAgICAgICByZXBvcnRQcm9ncmVzczogZmFsc2UsXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgICAgICBjb25zdCBibG9iID0gcmVzLmJvZHk7XG5cbiAgICAgICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IgYXMgQmxvYik7XG4gICAgICAgICAgICAgIGRvd25sb2FkTGluay5kb3dubG9hZCA9ICdkYXRhLicgKyBmb3JtYXQ7XG5cbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8c3RyaW5nPihcbiAgICAgICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyB0aGlzLmdldFF1ZXJ5KGZpbHRlciBhcyBJQ3J1ZEZpbHRlciksXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogdGhpcy5fZm9ybWF0TWFwW2Zvcm1hdF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgJ2pzb24nLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbJ1xcdWZlZmYnLCByZXNdKTtcblxuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gJ2RhdGEuJyArIGZvcm1hdDtcblxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkTGluayk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZShpdGVtOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnB1dDx2b2lkPih0aGlzLmNvbmZpZy5hcGlVcmwgKyAnLycgKyBpdGVtLmlkLCBpdGVtKSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUGFydGlhbChpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAucGF0Y2g8dm9pZD4odGhpcy5jb25maWcuYXBpVXJsICsgJy8nICsgaXRlbS5pZCwgaXRlbSksXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVBhcnRpYWxNYW55KGl0ZW1zOiAoUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9KVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cGRhdGVQcm9taXNlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlUGFydGlhbChpdGVtKTtcbiAgICB9KTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwodXBkYXRlUHJvbWlzZXMpO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KHRoaXMuY29uZmlnLmFwaVVybCArICcvJyArIGlkKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFF1ZXJ5KGZpbHRlcjogSUNydWRGaWx0ZXIpOiBzdHJpbmcge1xuICAgIGxldCBxdWVyeSA9ICcnO1xuXG4gICAgaWYgKGZpbHRlciAmJiBmaWx0ZXIuc2VhcmNoVGV4dCkge1xuICAgICAgcXVlcnkgKz0gJyYkc2VhcmNoPScgKyBmaWx0ZXIuc2VhcmNoVGV4dDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyICYmIGZpbHRlci5saW1pdCkge1xuICAgICAgcXVlcnkgKz0gYCZsaW1pdD0ke2ZpbHRlci5saW1pdH0mb2Zmc2V0PSR7XG4gICAgICAgIGZpbHRlci5vZmZzZXQgPyBmaWx0ZXIub2Zmc2V0IDogMFxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlciAmJiBmaWx0ZXIuc29ydEJ5KSB7XG4gICAgICBxdWVyeSArPSBgJnNvcnQ9JHsoZmlsdGVyLnNvcnREZXNjID8gJy0nIDogJycpICsgZmlsdGVyLnNvcnRCeX1gO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgJiYgZmlsdGVyLnF1ZXJ5KSB7XG4gICAgICBmaWx0ZXIucXVlcnkuZm9yRWFjaCgocSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcS52YWx1ZSAmJlxuICAgICAgICAgIHR5cGVvZiBxLnZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgIHEudmFsdWUubWF0Y2goL14tP1xcZCskLykgJiZcbiAgICAgICAgICBxLnZhbHVlWzBdICE9PSBcIidcIiAmJlxuICAgICAgICAgIHEudmFsdWVbMF0gIT09ICdcIidcbiAgICAgICAgKSB7XG4gICAgICAgICAgcXVlcnkgKz0gJyYnICsgcS5rZXkgKyBxLnR5cGUgKyBgJyR7cS52YWx1ZX0nYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBxdWVyeSArPSAnJicgKyBxLmtleSArIHEudHlwZSArIHEudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBxdWVyeSA/ICc/JyArIHF1ZXJ5LnJlcGxhY2UoJyYnLCAnJykgOiAnJztcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DynamicIoModule } from 'ng-dynamic-component';\nimport { SharedModule } from '@smartsoft001/angular';\nimport { ExportComponent } from './export/export.component';\nimport { FilterComponent, FilterDateComponent, FilterDateWithEditComponent, FilterFlagComponent, FilterRadioComponent, FilterTextComponent, FilterCheckComponent, FilterIntComponent, FilterDateTimeComponent, } from './filter';\nimport { CrudPipesModule } from '../pipes';\nimport { FiltersComponent } from './filters/filters.component';\nimport { FiltersConfigComponent } from './filters-config/filters-config.component';\nimport { MultiselectComponent } from './multiselect/multiselect.component';\nimport { CrudFacade } from '../+state/crud.facade';\nimport { GroupComponent } from './group/group.component';\nimport { CrudListPaginationFactory } from '../factories/list-pagination/list-pagination.factory';\nimport { CrudService } from '../services/crud/crud.service';\nimport * as i0 from \"@angular/core\";\nconst COMPONENTS = [\n ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent,\n];\nexport class CrudComponentsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, imports: [ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent, SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n DynamicIoModule], exports: [CrudPipesModule, ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, providers: [CrudService, CrudFacade, CrudListPaginationFactory], imports: [ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent, SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n DynamicIoModule, CrudPipesModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n ...COMPONENTS,\n SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n DynamicIoModule,\n ],\n exports: [CrudPipesModule, ...COMPONENTS],\n providers: [CrudService, CrudFacade, CrudListPaginationFactory],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQix1QkFBdUIsR0FDeEIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFNUQsTUFBTSxVQUFVLEdBQUc7SUFDakIsZUFBZTtJQUNmLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGNBQWM7Q0FDZixDQUFDO0FBY0YsTUFBTSxPQUFPLG9CQUFvQjt1R0FBcEIsb0JBQW9CO3dHQUFwQixvQkFBb0IsWUE1Qi9CLGVBQWU7WUFDZixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixjQUFjLEVBTVosWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWUsYUFFUCxlQUFlLEVBekJ6QixlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsY0FBYzt3R0FlSCxvQkFBb0IsYUFGcEIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixDQUFDLFlBMUIvRCxlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUVuQixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUVuQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGNBQWMsRUFNWixZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZSxFQUVQLGVBQWU7OzJGQUdkLG9CQUFvQjtrQkFaaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxVQUFVO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixDQUFDO2lCQUNoRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljSW9Nb2R1bGUgfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbmltcG9ydCB7IEV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vZXhwb3J0L2V4cG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRmlsdGVyQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQsXG4gIEZpbHRlckZsYWdDb21wb25lbnQsXG4gIEZpbHRlclJhZGlvQ29tcG9uZW50LFxuICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICBGaWx0ZXJDaGVja0NvbXBvbmVudCxcbiAgRmlsdGVySW50Q29tcG9uZW50LFxuICBGaWx0ZXJEYXRlVGltZUNvbXBvbmVudCxcbn0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgQ3J1ZFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXJzLWNvbmZpZy9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL2NydWQuZmFjYWRlJztcbmltcG9ydCB7IEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cC9ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jcnVkL2NydWQuc2VydmljZSc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIEV4cG9ydENvbXBvbmVudCxcbiAgRmlsdGVyQ29tcG9uZW50LFxuICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQsXG4gIEZpbHRlckRhdGVUaW1lQ29tcG9uZW50LFxuICBGaWx0ZXJSYWRpb0NvbXBvbmVudCxcbiAgRmlsdGVyc0NvbXBvbmVudCxcbiAgRmlsdGVyRmxhZ0NvbXBvbmVudCxcbiAgRmlsdGVyQ2hlY2tDb21wb25lbnQsXG4gIEZpbHRlckludENvbXBvbmVudCxcbiAgTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gIEdyb3VwQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC4uLkNPTVBPTkVOVFMsXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIENydWRQaXBlc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHluYW1pY0lvTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQ3J1ZFBpcGVzTW9kdWxlLCAuLi5DT01QT05FTlRTXSxcbiAgcHJvdmlkZXJzOiBbQ3J1ZFNlcnZpY2UsIENydWRGYWNhZGUsIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnldLFxufSlcbmV4cG9ydCBjbGFzcyBDcnVkQ29tcG9uZW50c01vZHVsZSB7fVxuIl19","import { PaginationMode } from '@smartsoft001/angular';\nexport const initialState = {\n loaded: false,\n};\nconst crudReducer = (state, action, entity) => {\n if (!state) {\n state = { ...initialState };\n }\n switch (action.type) {\n case `[${entity}] Create`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Create Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Create Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Create Many`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Create Many Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Create Many Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Export`:\n return {\n ...state,\n loaded: false,\n };\n case `[${entity}] Export Success`:\n return {\n ...state,\n loaded: true,\n };\n case `[${entity}] Export Failure`:\n return {\n ...state,\n loaded: true,\n };\n case `[${entity}] Read`:\n return {\n ...state,\n loaded: false,\n filter: action.filter,\n error: null,\n totalCount: null,\n links: null,\n };\n case `[${entity}] Read Success`: {\n let list = [];\n if (action.filter &&\n action.filter.offset &&\n state.list &&\n action.filter.paginationMode !== PaginationMode.singlePage) {\n state.list.forEach((i) => {\n list.push(i);\n });\n list = [...list, ...action.result.data];\n }\n else {\n list = action.result.data;\n }\n return {\n ...state,\n loaded: true,\n list,\n totalCount: action.result.totalCount,\n links: action.result.links,\n error: null,\n };\n }\n case `[${entity}] Clear`:\n return { ...initialState };\n case `[${entity}] Read Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Select`:\n return {\n ...state,\n loaded: false,\n selected: null,\n error: null,\n };\n case `[${entity}] Select Success`:\n return {\n ...state,\n loaded: true,\n selected: action.item,\n error: null,\n };\n case `[${entity}] Select Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] MultiSelect`:\n return {\n ...state,\n multiSelected: [...action.items],\n };\n case `[${entity}] Unselect`:\n return {\n ...state,\n loaded: true,\n selected: null,\n error: null,\n };\n case `[${entity}] Update`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Update Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Update Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Update partial`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Update partial Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Update partial Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Update partial many`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Update partial many Success`:\n return {\n ...state,\n multiSelected: [],\n loaded: true,\n error: null,\n };\n case `[${entity}] Update partial many Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Delete`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Delete Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Delete Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n};\nexport function getReducer(entity) {\n return (state, action) => {\n return crudReducer(state, action, entity);\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvK3N0YXRlL2NydWQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFnQnZELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBZTtJQUN0QyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUNsQixLQUFpQixFQUNqQixNQUFvQixFQUNwQixNQUFjLEVBQ2QsRUFBRTtJQUNGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLEtBQUssR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLEtBQUssSUFBSSxNQUFNLFVBQVU7WUFDdkIsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1FBRUosS0FBSyxJQUFJLE1BQU0sa0JBQWtCO1lBQy9CLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztRQUVKLEtBQUssSUFBSSxNQUFNLGtCQUFrQjtZQUMvQixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7YUFDcEIsQ0FBQztRQUVKLEtBQUssSUFBSSxNQUFNLGVBQWU7WUFDNUIsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1FBRUosS0FB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QUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZGUgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBJQ3J1ZEZpbHRlciB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBzZWxlY3RlZD86IFQ7XG4gIG11bHRpU2VsZWN0ZWQ/OiBBcnJheTxUPjtcbiAgbGlzdD86IFRbXTtcbiAgdG90YWxDb3VudD86IG51bWJlcjtcbiAgZmlsdGVyPzogSUNydWRGaWx0ZXI7XG4gIGxpbmtzPzogYW55O1xuICBsb2FkZWQ6IGJvb2xlYW47IC8vIGhhcyB0aGUgQXV0aCBsaXN0IGJlZW4gbG9hZGVkXG4gIGVycm9yPzogc3RyaW5nIHwgbnVsbDsgLy8gbGFzdCBub25lIGVycm9yIChpZiBhbnkpXG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXRlPGFueT4gPSB7XG4gIGxvYWRlZDogZmFsc2UsXG59O1xuXG5jb25zdCBjcnVkUmVkdWNlciA9IChcbiAgc3RhdGU6IFN0YXRlPGFueT4sXG4gIGFjdGlvbjogQWN0aW9uICYgYW55LFxuICBlbnRpdHk6IHN0cmluZyxcbikgPT4ge1xuICBpZiAoIXN0YXRlKSB7XG4gICAgc3RhdGUgPSB7IC4uLmluaXRpYWxTdGF0ZSB9O1xuICB9XG5cbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgYFske2VudGl0eX1dIENyZWF0ZWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlIFN1Y2Nlc3NgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlIEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgTWFueWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlIE1hbnkgU3VjY2Vzc2A6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgTWFueSBGYWlsdXJlYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gRXhwb3J0YDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIEV4cG9ydCBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gRXhwb3J0IEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBSZWFkYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICBmaWx0ZXI6IGFjdGlvbi5maWx0ZXIsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICB0b3RhbENvdW50OiBudWxsLFxuICAgICAgICBsaW5rczogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBSZWFkIFN1Y2Nlc3NgOiB7XG4gICAgICAgIGxldCBsaXN0OiBhbnlbXSA9IFtdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIgJiZcbiAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIub2Zmc2V0ICYmXG4gICAgICAgICAgICBzdGF0ZS5saXN0ICYmXG4gICAgICAgICAgICBhY3Rpb24uZmlsdGVyLnBhZ2luYXRpb25Nb2RlICE9PSBQYWdpbmF0aW9uTW9kZS5zaW5nbGVQYWdlXG4gICAgICAgICkge1xuICAgICAgICAgICAgc3RhdGUubGlzdC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxpc3QgPSBbLi4ubGlzdCwgLi4uYWN0aW9uLnJlc3VsdC5kYXRhXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3QgPSBhY3Rpb24ucmVzdWx0LmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgdG90YWxDb3VudDogYWN0aW9uLnJlc3VsdC50b3RhbENvdW50LFxuICAgICAgICAgICAgbGlua3M6IGFjdGlvbi5yZXN1bHQubGlua3MsXG4gICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBDbGVhcmA6XG4gICAgICByZXR1cm4geyAuLi5pbml0aWFsU3RhdGUgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFJlYWQgRmFpbHVyZWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFNlbGVjdGA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFNlbGVjdCBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkOiBhY3Rpb24uaXRlbSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gU2VsZWN0IEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBNdWx0aVNlbGVjdGA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbXVsdGlTZWxlY3RlZDogWy4uLmFjdGlvbi5pdGVtc10sXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVW5zZWxlY3RgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgc2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFVwZGF0ZWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIFN1Y2Nlc3NgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbGA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgU3VjY2Vzc2A6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBGYWlsdXJlYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBtdWx0aVNlbGVjdGVkOiBbXSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55IEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBEZWxldGVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIERlbGV0ZSBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIERlbGV0ZSBGYWlsdXJlYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgICB9O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZHVjZXIoZW50aXR5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIChzdGF0ZTogYW55LCBhY3Rpb246IEFjdGlvbikgPT4ge1xuICAgIHJldHVybiBjcnVkUmVkdWNlcihzdGF0ZSwgYWN0aW9uLCBlbnRpdHkpO1xuICB9O1xufVxuIl19","import 'reflect-metadata';\nimport { Injectable } from '@angular/core';\nimport { ActionsSubject, select, State, Store } from '@ngrx/store';\nimport { first } from 'rxjs/operators';\nimport * as CrudActions from './crud.actions';\nimport { CrudConfig } from '../crud.config';\nimport { getCrudFilter } from './crud.selectors';\nimport { CrudService } from '../services/crud/crud.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngrx/store\";\nimport * as i2 from \"../services/crud/crud.service\";\nimport * as i3 from \"../crud.config\";\nexport class CrudEffects {\n actions$;\n service;\n config;\n store;\n state;\n constructor(actions$, service, config, store, state) {\n this.actions$ = actions$;\n this.service = service;\n this.config = config;\n this.store = store;\n this.state = state;\n }\n init() {\n const metadata = Reflect.getMetadata(this.config.entity, CrudEffects);\n if (metadata)\n return;\n Reflect.defineMetadata(this.config.entity, true, CrudEffects);\n this.actions$.subscribe((action) => {\n switch (action.type) {\n case `[${this.config.entity}] Create`:\n this.service\n .create(action.item)\n .then(() => this.store.dispatch(CrudActions.createSuccess(this.config.entity, action.item)))\n .catch((error) => {\n this.store.dispatch(CrudActions.createFailure(this.config.entity, action.item, error));\n });\n break;\n case `[${this.config.entity}] Create Success`: {\n const createState = this.state.getValue()[this.config.entity];\n this.store.dispatch(CrudActions.read(this.config.entity, createState.filter ? { ...createState.filter, offset: 0 } : null));\n break;\n }\n case `[${this.config.entity}] Create Many`:\n this.service\n .createMany(action.data.items, action.data.options)\n .then(() => this.store.dispatch(CrudActions.createManySuccess(this.config.entity, {\n items: action.data.items,\n options: action.data.options,\n })))\n .catch((error) => {\n this.store.dispatch(CrudActions.createManyFailure(this.config.entity, {\n items: action.data.items,\n options: action.data.options,\n }, error));\n });\n break;\n case `[${this.config.entity}] Create Many Success`: {\n const createManyState = this.state.getValue()[this.config.entity];\n this.store.dispatch(CrudActions.read(this.config.entity, createManyState.filter\n ? { ...createManyState.filter, offset: 0 }\n : null));\n break;\n }\n case `[${this.config.entity}] Read`:\n this.service\n .getList(action.filter)\n .then((result) => this.store.dispatch(CrudActions.readSuccess(this.config.entity, action.filter, result)))\n .catch((error) => {\n this.store.dispatch(CrudActions.readFailure(this.config.entity, action.filter, error));\n });\n break;\n case `[${this.config.entity}] Export`:\n this.service\n .exportList(action.filter, action.format)\n .then(() => this.store.dispatch(CrudActions.exportListSuccess(this.config.entity, action.filter)))\n .catch((error) => {\n this.store.dispatch(CrudActions.exportListFailure(this.config.entity, action.filter, error));\n });\n break;\n case `[${this.config.entity}] Select`:\n this.service\n .getById(action.id)\n .then((result) => this.store.dispatch(CrudActions.selectSuccess(this.config.entity, action.id, result)))\n .catch((error) => {\n this.store.dispatch(CrudActions.selectFailure(this.config.entity, action.id, error));\n });\n break;\n case `[${this.config.entity}] Update`:\n this.service\n .updatePartial(action.item)\n .then(() => this.store.dispatch(CrudActions.updateSuccess(this.config.entity, action.item)))\n .catch((error) => {\n this.store.dispatch(CrudActions.updateFailure(this.config.entity, action.item, error));\n this.store.dispatch(CrudActions.read(this.config.entity));\n });\n break;\n case `[${this.config.entity}] Update Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));\n });\n break;\n case `[${this.config.entity}] Update partial`:\n this.service\n .updatePartial(action.item)\n .then(() => this.store.dispatch(CrudActions.updatePartialSuccess(this.config.entity, action.item)))\n .catch((error) => {\n this.store.dispatch(CrudActions.updatePartialFailure(this.config.entity, action.item, error));\n this.store.dispatch(CrudActions.read(this.config.entity));\n });\n break;\n case `[${this.config.entity}] Update partial Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));\n });\n break;\n case `[${this.config.entity}] Update partial many`:\n this.service\n .updatePartialMany(action.items)\n .then(() => this.store.dispatch(CrudActions.updatePartialManySuccess(this.config.entity, action.items)))\n .catch((error) => {\n this.store.dispatch(CrudActions.updatePartialManyFailure(this.config.entity, action.items, error));\n this.store.dispatch(CrudActions.read(this.config.entity));\n });\n break;\n case `[${this.config.entity}] Update partial many Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n });\n break;\n case `[${this.config.entity}] Delete`:\n this.service\n .delete(action.id)\n .then(() => this.store.dispatch(CrudActions.deleteSuccess(this.config.entity, action.id)))\n .catch((error) => {\n this.store.dispatch(CrudActions.deleteFailure(this.config.entity, action.id, error));\n });\n break;\n case `[${this.config.entity}] Delete Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n });\n break;\n default:\n console.warn(`No effect for action type ${action.type} in entity ${this.config.entity}`);\n break;\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudEffects, deps: [{ token: i1.ActionsSubject }, { token: i2.CrudService }, { token: i3.CrudConfig }, { token: i1.Store }, { token: i1.State }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudEffects });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudEffects, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.ActionsSubject }, { type: i2.CrudService }, { type: i3.CrudConfig }, { type: i1.Store }, { type: i1.State }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvK3N0YXRlL2NydWQuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFVLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkMsT0FBTyxLQUFLLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFHNUQsTUFBTSxPQUFPLFdBQVc7SUFFWjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFYsWUFDVSxRQUF3QixFQUN4QixPQUF1QixFQUN2QixNQUFxQixFQUNyQixLQUFpQixFQUNqQixLQUFpQjtRQUpqQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSTtRQUNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEUsSUFBSSxRQUFRO1lBQUUsT0FBTztRQUVy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OzRCQUNULE1BQU0sRUFBRSxDQUFDO3lCQUNWLENBQUMsQ0FDSCxDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUFDO29CQUNMLE1BQU07Z0JBRVI7b0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FDViw2QkFBNkIsTUFBTSxDQUFDLElBQUksY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUMzRSxDQUFDO29CQUNGLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTFTVSxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbnNTdWJqZWN0LCBzZWxlY3QsIFN0YXRlLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCAqIGFzIENydWRBY3Rpb25zIGZyb20gJy4vY3J1ZC5hY3Rpb25zJztcbmltcG9ydCB7IENydWRDb25maWcgfSBmcm9tICcuLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBnZXRDcnVkRmlsdGVyIH0gZnJvbSAnLi9jcnVkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRFZmZlY3RzPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9uc1N1YmplY3QsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBDcnVkU2VydmljZTxUPixcbiAgICBwcml2YXRlIGNvbmZpZzogQ3J1ZENvbmZpZzxUPixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgc3RhdGU6IFN0YXRlPGFueT4sXG4gICkge31cblxuICBpbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YSh0aGlzLmNvbmZpZy5lbnRpdHksIENydWRFZmZlY3RzKTtcblxuICAgIGlmIChtZXRhZGF0YSkgcmV0dXJuO1xuXG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSh0aGlzLmNvbmZpZy5lbnRpdHksIHRydWUsIENydWRFZmZlY3RzKTtcblxuICAgIHRoaXMuYWN0aW9ucyQuc3Vic2NyaWJlKChhY3Rpb246IEFjdGlvbiAmIGFueSkgPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBDcmVhdGVgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZShhY3Rpb24uaXRlbSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuY3JlYXRlU3VjY2Vzcyh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pdGVtKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5jcmVhdGVGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLml0ZW0sXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gQ3JlYXRlIFN1Y2Nlc3NgOiB7XG4gICAgICAgICAgY29uc3QgY3JlYXRlU3RhdGUgPSB0aGlzLnN0YXRlLmdldFZhbHVlKClbdGhpcy5jb25maWcuZW50aXR5XTtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgQ3J1ZEFjdGlvbnMucmVhZChcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICBjcmVhdGVTdGF0ZS5maWx0ZXIgPyB7IC4uLmNyZWF0ZVN0YXRlLmZpbHRlciwgb2Zmc2V0OiAwIH0gOiBudWxsLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gQ3JlYXRlIE1hbnlgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZU1hbnkoYWN0aW9uLmRhdGEuaXRlbXMsIGFjdGlvbi5kYXRhLm9wdGlvbnMpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmNyZWF0ZU1hbnlTdWNjZXNzKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgaXRlbXM6IGFjdGlvbi5kYXRhLml0ZW1zLFxuICAgICAgICAgICAgICAgICAgb3B0aW9uczogYWN0aW9uLmRhdGEub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5jcmVhdGVNYW55RmFpbHVyZShcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IGFjdGlvbi5kYXRhLml0ZW1zLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBhY3Rpb24uZGF0YS5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBDcmVhdGUgTWFueSBTdWNjZXNzYDoge1xuICAgICAgICAgIGNvbnN0IGNyZWF0ZU1hbnlTdGF0ZSA9IHRoaXMuc3RhdGUuZ2V0VmFsdWUoKVt0aGlzLmNvbmZpZy5lbnRpdHldO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKFxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgIGNyZWF0ZU1hbnlTdGF0ZS5maWx0ZXJcbiAgICAgICAgICAgICAgICA/IHsgLi4uY3JlYXRlTWFueVN0YXRlLmZpbHRlciwgb2Zmc2V0OiAwIH1cbiAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBSZWFkYDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMaXN0KGFjdGlvbi5maWx0ZXIpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0KSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWRTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICAgIHJlc3VsdCBhcyB7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rczogYW55IH0sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkRmFpbHVyZShcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gRXhwb3J0YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5leHBvcnRMaXN0KGFjdGlvbi5maWx0ZXIsIGFjdGlvbi5mb3JtYXQpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmV4cG9ydExpc3RTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmV4cG9ydExpc3RGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBTZWxlY3RgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmdldEJ5SWQoYWN0aW9uLmlkKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3RTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuc2VsZWN0RmFpbHVyZSh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pZCwgZXJyb3IpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gVXBkYXRlYDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVQYXJ0aWFsKGFjdGlvbi5pdGVtKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy51cGRhdGVTdWNjZXNzKHRoaXMuY29uZmlnLmVudGl0eSwgYWN0aW9uLml0ZW0pLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZUZhaWx1cmUoXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIFVwZGF0ZSBTdWNjZXNzYDpcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAucGlwZShzZWxlY3QoZ2V0Q3J1ZEZpbHRlcih0aGlzLmNvbmZpZy5lbnRpdHkpKSwgZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBhY3Rpb24uaXRlbS5pZCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbGA6XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAudXBkYXRlUGFydGlhbChhY3Rpb24uaXRlbSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMudXBkYXRlUGFydGlhbFN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLml0ZW0sXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBTdWNjZXNzYDpcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAucGlwZShzZWxlY3QoZ2V0Q3J1ZEZpbHRlcih0aGlzLmNvbmZpZy5lbnRpdHkpKSwgZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBhY3Rpb24uaXRlbS5pZCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVQYXJ0aWFsTWFueShhY3Rpb24uaXRlbXMpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxNYW55U3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbi5pdGVtcyxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxNYW55RmFpbHVyZShcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbi5pdGVtcyxcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsIG1hbnkgU3VjY2Vzc2A6XG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnBpcGUoc2VsZWN0KGdldENydWRGaWx0ZXIodGhpcy5jb25maWcuZW50aXR5KSksIGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gRGVsZXRlYDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5kZWxldGUoYWN0aW9uLmlkKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5kZWxldGVTdWNjZXNzKHRoaXMuY29uZmlnLmVudGl0eSwgYWN0aW9uLmlkKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5kZWxldGVGYWlsdXJlKHRoaXMuY29uZmlnLmVudGl0eSwgYWN0aW9uLmlkLCBlcnJvciksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBEZWxldGUgU3VjY2Vzc2A6XG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnBpcGUoc2VsZWN0KGdldENydWRGaWx0ZXIodGhpcy5jb25maWcuZW50aXR5KSksIGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgTm8gZWZmZWN0IGZvciBhY3Rpb24gdHlwZSAke2FjdGlvbi50eXBlfSBpbiBlbnRpdHkgJHt0aGlzLmNvbmZpZy5lbnRpdHl9YCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { Directive, inject, input, output, viewChild, viewChildren, } from '@angular/core';\nimport { BaseComponent, FormComponent, } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../../+state/crud.facade';\nimport { CrudFullConfig } from '../../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class CrudItemPageBaseComponent extends BaseComponent {\n config = inject((CrudFullConfig));\n facade = inject((CrudFacade));\n static smartType = 'crud-item-page';\n selected;\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n formComponents = viewChildren(FormComponent, ...(ngDevMode ? [{ debugName: \"formComponents\" }] : []));\n detailsOptions = input(...(ngDevMode ? [undefined, { debugName: \"detailsOptions\" }] : []));\n mode = input(...(ngDevMode ? [undefined, { debugName: \"mode\" }] : []));\n uniqueProvider = input(...(ngDevMode ? [undefined, { debugName: \"uniqueProvider\" }] : []));\n onPartialChange = output();\n onChange = output();\n onValidChange = output();\n constructor() {\n super();\n this.selected = this.facade.selected;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudItemPageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.1.0\", type: CrudItemPageBaseComponent, isStandalone: true, inputs: { detailsOptions: { classPropertyName: \"detailsOptions\", publicName: \"detailsOptions\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, uniqueProvider: { classPropertyName: \"uniqueProvider\", publicName: \"uniqueProvider\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPartialChange: \"onPartialChange\", onChange: \"onChange\", onValidChange: \"onValidChange\" }, viewQueries: [{ propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }, { propertyName: \"formComponents\", predicate: FormComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudItemPageBaseComponent, decorators: [{\n type: Directive\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9pdGVtL2Jhc2UvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxhQUFhLEVBRWIsYUFBYSxHQUVkLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHdEQsTUFBTSxPQUFnQix5QkFFcEIsU0FBUSxhQUFhO0lBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLGNBQWlCLENBQUEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUFhLENBQUEsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sQ0FBQyxTQUFTLEdBQXlCLGdCQUFnQixDQUFDO0lBRTFELFFBQVEsQ0FBWTtJQUVwQixVQUFVLEdBQUcsU0FBUyxDQUFtQixZQUFZLHNEQUFDLENBQUM7SUFFdkQsY0FBYyxHQUFHLFlBQVksQ0FBQyxhQUFhLDBEQUFDLENBQUM7SUFFN0MsY0FBYyxHQUFHLEtBQUssb0VBQXNCLENBQUM7SUFFN0MsSUFBSSxHQUFHLEtBQUssMERBQVUsQ0FBQztJQUV2QixjQUFjLEdBQUcsS0FBSyxvRUFBc0QsQ0FBQztJQUU3RSxlQUFlLEdBQUcsTUFBTSxFQUFjLENBQUM7SUFFdkMsUUFBUSxHQUFHLE1BQU0sRUFBSyxDQUFDO0lBRXZCLGFBQWEsR0FBRyxNQUFNLEVBQVcsQ0FBQztJQUVsQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO3VHQTdCbUIseUJBQXlCOzJGQUF6Qix5QkFBeUIsMHNCQVlmLGFBQWE7OzJGQVp2Qix5QkFBeUI7a0JBRDlDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgU2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIHZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJhc2VDb21wb25lbnQsXG4gIER5bmFtaWNDb21wb25lbnRUeXBlLFxuICBGb3JtQ29tcG9uZW50LFxuICBJRGV0YWlsc09wdGlvbnMsXG59IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jcnVkLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENydWRJdGVtUGFnZUJhc2VDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sXG4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuICBwdWJsaWMgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuXG4gIHN0YXRpYyBzbWFydFR5cGU6IER5bmFtaWNDb21wb25lbnRUeXBlID0gJ2NydWQtaXRlbS1wYWdlJztcblxuICBzZWxlY3RlZDogU2lnbmFsPFQ+O1xuXG4gIGNvbnRlbnRUcGwgPSB2aWV3Q2hpbGQ8Vmlld0NvbnRhaW5lclJlZj4oJ2NvbnRlbnRUcGwnKTtcblxuICBmb3JtQ29tcG9uZW50cyA9IHZpZXdDaGlsZHJlbihGb3JtQ29tcG9uZW50KTtcblxuICBkZXRhaWxzT3B0aW9ucyA9IGlucHV0PElEZXRhaWxzT3B0aW9uczxUPj4oKTtcblxuICBtb2RlID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIHVuaXF1ZVByb3ZpZGVyID0gaW5wdXQ8KHZhbHVlczogUmVjb3JkPGtleW9mIFQsIGFueT4pID0+IFByb21pc2U8Ym9vbGVhbj4+KCk7XG5cbiAgb25QYXJ0aWFsQ2hhbmdlID0gb3V0cHV0PFBhcnRpYWw8VD4+KCk7XG5cbiAgb25DaGFuZ2UgPSBvdXRwdXQ8VD4oKTtcblxuICBvblZhbGlkQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5mYWNhZGUuc2VsZWN0ZWQ7XG4gIH1cbn1cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DetailsComponent, FormComponent } from '@smartsoft001/angular';\nimport { FormOptionsPipe } from '../../../pipes';\nimport { CrudItemPageBaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class ItemStandardComponent extends CrudItemPageBaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemStandardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ItemStandardComponent, isStandalone: true, selector: \"smart-crud-item-standard-page\", usesInheritance: true, ngImport: i0, template: `\n @if (mode() === 'details') {\n @if (detailsOptions()) {\n <smart-details [options]=\"detailsOptions()\"></smart-details>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"editTpl\"></ng-container>\n }\n\n <ng-template #editTpl>\n <smart-form\n [options]=\"\n selected()\n | smartFormOptions\n : mode()\n : config?.type\n : uniqueProvider()\n : config.inputComponents\n \"\n (valuePartialChange)=\"onPartialChange.emit($event)\"\n (valueChange)=\"onChange.emit($event)\"\n (validChange)=\"onValidChange.emit($event)\"\n ></smart-form>\n </ng-template>\n\n <br /><br />\n `, isInline: true, styles: [\"\"], dependencies: [{ kind: \"component\", type: DetailsComponent, selector: \"smart-details\", inputs: [\"options\"] }, { kind: \"component\", type: FormComponent, selector: \"smart-form\", inputs: [\"options\"], outputs: [\"invokeSubmit\", \"valueChange\", \"valuePartialChange\", \"validChange\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: FormOptionsPipe, name: \"smartFormOptions\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemStandardComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-item-standard-page', template: `\n @if (mode() === 'details') {\n @if (detailsOptions()) {\n <smart-details [options]=\"detailsOptions()\"></smart-details>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"editTpl\"></ng-container>\n }\n\n <ng-template #editTpl>\n <smart-form\n [options]=\"\n selected()\n | smartFormOptions\n : mode()\n : config?.type\n : uniqueProvider()\n : config.inputComponents\n \"\n (valuePartialChange)=\"onPartialChange.emit($event)\"\n (valueChange)=\"onChange.emit($event)\"\n (validChange)=\"onValidChange.emit($event)\"\n ></smart-form>\n </ng-template>\n\n <br /><br />\n `, imports: [\n DetailsComponent,\n FormComponent,\n FormOptionsPipe,\n NgTemplateOutlet,\n FormComponent,\n ] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvcGFnZXMvaXRlbS9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXdDbkUsTUFBTSxPQUFPLHFCQUVYLFNBQVEseUJBQTRCO3VHQUZ6QixxQkFBcUI7MkZBQXJCLHFCQUFxQixnSEFwQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVCwwRUFHQyxnQkFBZ0IsK0VBQ2hCLGFBQWEsMkpBRWIsZ0JBQWdCLCtJQURoQixlQUFlOzsyRkFLTixxQkFBcUI7a0JBdENqQyxTQUFTOytCQUNFLCtCQUErQixZQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQsV0FFUTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEZXRhaWxzQ29tcG9uZW50LCBGb3JtQ29tcG9uZW50IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgRm9ybU9wdGlvbnNQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ3J1ZEl0ZW1QYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWl0ZW0tc3RhbmRhcmQtcGFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChtb2RlKCkgPT09ICdkZXRhaWxzJykge1xuICAgICAgQGlmIChkZXRhaWxzT3B0aW9ucygpKSB7XG4gICAgICAgIDxzbWFydC1kZXRhaWxzIFtvcHRpb25zXT1cImRldGFpbHNPcHRpb25zKClcIj48L3NtYXJ0LWRldGFpbHM+XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVkaXRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8bmctdGVtcGxhdGUgI2VkaXRUcGw+XG4gICAgICA8c21hcnQtZm9ybVxuICAgICAgICBbb3B0aW9uc109XCJcbiAgICAgICAgICBzZWxlY3RlZCgpXG4gICAgICAgICAgICB8IHNtYXJ0Rm9ybU9wdGlvbnNcbiAgICAgICAgICAgICAgOiBtb2RlKClcbiAgICAgICAgICAgICAgOiBjb25maWc/LnR5cGVcbiAgICAgICAgICAgICAgOiB1bmlxdWVQcm92aWRlcigpXG4gICAgICAgICAgICAgIDogY29uZmlnLmlucHV0Q29tcG9uZW50c1xuICAgICAgICBcIlxuICAgICAgICAodmFsdWVQYXJ0aWFsQ2hhbmdlKT1cIm9uUGFydGlhbENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbGlkQ2hhbmdlKT1cIm9uVmFsaWRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L3NtYXJ0LWZvcm0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxiciAvPjxiciAvPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zdGFuZGFyZC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRGV0YWlsc0NvbXBvbmVudCxcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIEZvcm1PcHRpb25zUGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEZvcm1Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0ZW1TdGFuZGFyZENvbXBvbmVudDxcbiAgVCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPixcbj4gZXh0ZW5kcyBDcnVkSXRlbVBhZ2VCYXNlQ29tcG9uZW50PFQ+IHt9XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { AuthService } from '@smartsoft001/angular';\nimport { getModelOptions } from '@smartsoft001/models';\nimport { CrudFullConfig } from '../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class PageService {\n authService = inject(AuthService);\n config = inject((CrudFullConfig));\n checkPermissions() {\n const val = this.config;\n const modelOptions = getModelOptions(val.type);\n if (val.add &&\n modelOptions.create &&\n modelOptions.create.permissions &&\n !this.authService.expectPermissions(modelOptions.create.permissions)) {\n val.add = false;\n }\n if (val.edit &&\n modelOptions.update &&\n modelOptions.update.permissions &&\n !this.authService.expectPermissions(modelOptions.update.permissions)) {\n val.edit = false;\n }\n if (val.remove &&\n modelOptions.remove &&\n modelOptions.remove.permissions &&\n !this.authService.expectPermissions(modelOptions.remove.permissions)) {\n val.remove = false;\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvcGFnZS9wYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBR25ELE1BQU0sT0FBTyxXQUFXO0lBQ2QsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFFM0MsZ0JBQWdCO1FBQ2QsTUFBTSxHQUFHLEdBQXNCLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQyxJQUNFLEdBQUcsQ0FBQyxHQUFHO1lBQ1AsWUFBWSxDQUFDLE1BQU07WUFDbkIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNwRSxDQUFDO1lBQ0QsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQ0UsR0FBRyxDQUFDLElBQUk7WUFDUixZQUFZLENBQUMsTUFBTTtZQUNuQixZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDL0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ3BFLENBQUM7WUFDRCxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFDRSxHQUFHLENBQUMsTUFBTTtZQUNWLFlBQVksQ0FBQyxNQUFNO1lBQ25CLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUMvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDcEUsQ0FBQztZQUNELEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO3VHQWxDVSxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgZ2V0TW9kZWxPcHRpb25zIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBDcnVkRnVsbENvbmZpZyB9IGZyb20gJy4uLy4uL2NydWQuY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2VTZXJ2aWNlPFQ+IHtcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KENydWRGdWxsQ29uZmlnPFQ+KTtcblxuICBjaGVja1Blcm1pc3Npb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbDogQ3J1ZEZ1bGxDb25maWc8VD4gPSB0aGlzLmNvbmZpZztcbiAgICBjb25zdCBtb2RlbE9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModmFsLnR5cGUpO1xuXG4gICAgaWYgKFxuICAgICAgdmFsLmFkZCAmJlxuICAgICAgbW9kZWxPcHRpb25zLmNyZWF0ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLmNyZWF0ZS5wZXJtaXNzaW9ucyAmJlxuICAgICAgIXRoaXMuYXV0aFNlcnZpY2UuZXhwZWN0UGVybWlzc2lvbnMobW9kZWxPcHRpb25zLmNyZWF0ZS5wZXJtaXNzaW9ucylcbiAgICApIHtcbiAgICAgIHZhbC5hZGQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB2YWwuZWRpdCAmJlxuICAgICAgbW9kZWxPcHRpb25zLnVwZGF0ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLnVwZGF0ZS5wZXJtaXNzaW9ucyAmJlxuICAgICAgIXRoaXMuYXV0aFNlcnZpY2UuZXhwZWN0UGVybWlzc2lvbnMobW9kZWxPcHRpb25zLnVwZGF0ZS5wZXJtaXNzaW9ucylcbiAgICApIHtcbiAgICAgIHZhbC5lZGl0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdmFsLnJlbW92ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLnJlbW92ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLnJlbW92ZS5wZXJtaXNzaW9ucyAmJlxuICAgICAgIXRoaXMuYXV0aFNlcnZpY2UuZXhwZWN0UGVybWlzc2lvbnMobW9kZWxPcHRpb25zLnJlbW92ZS5wZXJtaXNzaW9ucylcbiAgICApIHtcbiAgICAgIHZhbC5yZW1vdmUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Location, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, effect, ElementRef, inject, signal, viewChild, viewChildren, } from '@angular/core';\nimport { UntypedFormArray, UntypedFormControl, UntypedFormGroup, } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { CreateDynamicComponent, DetailsService, DynamicComponentLoader, DynamicContentDirective, PageComponent, StyleService, ToastService, } from '@smartsoft001/angular';\nimport { getModelOptions } from '@smartsoft001/models';\nimport { SpecificationService } from '@smartsoft001/utils';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { CrudFullConfig } from '../../crud.config';\nimport { ItemStandardComponent } from './standard/standard.component';\nimport { CrudService } from '../../services/crud/crud.service';\nimport { PageService } from '../../services/page/page.service';\nimport * as i0 from \"@angular/core\";\nexport class ItemComponent extends CreateDynamicComponent('crud-item-page') {\n router = inject(Router);\n activeRoute = inject(ActivatedRoute);\n facade = inject((CrudFacade));\n service = inject((CrudService));\n dynamicComponentLoader = inject((DynamicComponentLoader));\n translateService = inject(TranslateService);\n config = inject((CrudFullConfig));\n location = inject(Location);\n cd = inject(ChangeDetectorRef);\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n toastService = inject(ToastService);\n pageService = inject((PageService));\n detailsService = inject(DetailsService);\n _mode;\n pageOptions = signal({\n title: '',\n showBackButton: true,\n hideMenuButton: true,\n }, ...(ngDevMode ? [{ debugName: \"pageOptions\" }] : []));\n detailsOptions;\n id;\n formValue;\n formValid = false;\n item;\n formPartialValue;\n uniqueProvider;\n set mode(val) {\n this._mode = signal(val, ...(ngDevMode ? [{ debugName: \"_mode\" }] : []));\n this.refreshDynamicInstance();\n }\n get mode() {\n return this._mode();\n }\n selected;\n standardComponents = viewChildren(ItemStandardComponent, ...(ngDevMode ? [{ debugName: \"standardComponents\" }] : []));\n // @ViewChild(IonContent, { static: true }) content: IonContent; //TODO: rewrite when rewriting ionic\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n topTpl = viewChild('topTpl', ...(ngDevMode ? [{ debugName: \"topTpl\" }] : []));\n bottomTpl = viewChild('bottomTpl', ...(ngDevMode ? [{ debugName: \"bottomTpl\" }] : []));\n dynamicContents = viewChildren(DynamicContentDirective, ...(ngDevMode ? [{ debugName: \"dynamicContents\" }] : []));\n subscription = new Subscription();\n constructor() {\n super();\n this.selected = this.facade.selected;\n effect(() => {\n this.item = this.facade.selected();\n this.initPageOptions();\n this.cd.detectChanges();\n });\n }\n refreshProperties() {\n this.baseComponentRef.setInput('detailsOptions', this.detailsOptions());\n this.baseComponentRef.setInput('mode', this.mode);\n this.baseComponentRef.setInput('uniqueProvider', this.uniqueProvider());\n this.subscription.add(this.baseInstance.onPartialChange.subscribe((val) => this.onPartialChange(val)));\n this.subscription.add(this.baseInstance.onChange.subscribe((val) => this.onChange(val)));\n this.subscription.add(this.baseInstance.onValidChange.subscribe((val) => this.onValidChange(val)));\n }\n async ngOnInit() {\n this.detailsService.init();\n this.styleService.init(this.elementRef);\n this.pageService.checkPermissions();\n if (this.router.routerState.snapshot.url.split('?')[0].endsWith('/add')) {\n this.mode = 'create';\n await this.generateComponents('add');\n }\n else {\n this.mode = this.config.details ? 'details' : 'update';\n if (this.mode === 'update') {\n await this.generateComponents('edit');\n }\n this.activeRoute.params\n .pipe(this.takeUntilDestroy)\n .subscribe(({ id }) => {\n this.facade.select(id);\n this.id = id;\n });\n this.activeRoute.queryParams\n .pipe(this.takeUntilDestroy)\n .subscribe(({ edit }) => {\n if (edit) {\n this.mode = 'update';\n this.generateComponents('edit');\n }\n });\n }\n this.uniqueProvider.set(async (values) => {\n const filter = {\n query: [],\n };\n Object.keys(values).forEach((key) => {\n filter.query.push({\n key: key,\n value: values[key],\n type: '=',\n });\n });\n if (this.id) {\n filter.query.push({\n key: 'id',\n value: this.id,\n type: '!=',\n });\n }\n const { totalCount } = await this.service.getList(filter);\n return !totalCount;\n });\n if (this.config.details) {\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].top\n ? [this.config.details['components'].top]\n : []),\n ...(this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].bottom\n ? [this.config.details['components'].bottom]\n : []),\n ],\n });\n this.detailsOptions.set({\n type: this.config.type,\n item: this.facade.selected,\n cellPipe: this.config.details\n ? this.config.details.cellPipe\n : undefined,\n componentFactories: {\n top: this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].top\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details['components'].top)?.factory\n : undefined,\n bottom: this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].bottom\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details['components'].bottom)?.factory\n : undefined,\n },\n });\n }\n this.initPageOptions();\n this.refreshDynamicInstance();\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this.subscription.unsubscribe();\n }\n async generateComponents(mode) {\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config[mode] &&\n this.config[mode]['components'] &&\n this.config[mode]['components'].top\n ? [this.config[mode]['components'].top]\n : []),\n ...(this.config[mode] &&\n this.config[mode]['components'] &&\n this.config[mode]['components'].bottom\n ? [this.config[mode]['components'].bottom]\n : []),\n ],\n });\n const topComponentFactory = compiledComponents.find((cc) => cc.component === this.config[mode]['components']?.top)?.factory;\n const bottomComponentFactory = compiledComponents.find((cc) => cc.component === this.config[mode]['components']?.bottom)?.factory;\n if (!this.topTpl()?.get(0) && topComponentFactory) {\n this.topTpl()?.createComponent(topComponentFactory);\n }\n if (!this.bottomTpl()?.get(0) && bottomComponentFactory) {\n this.bottomTpl()?.createComponent(bottomComponentFactory);\n }\n }\n onPartialChange(val) {\n this.formPartialValue = val;\n }\n onChange(val) {\n this.formValue = val;\n }\n onValidChange(val) {\n this.formValid = val;\n }\n initPageOptions() {\n this.pageOptions.set({\n ...this.pageOptions(),\n title: this.getTitle() || '',\n endButtons: this.getButtons(),\n });\n }\n getButtons() {\n const options = getModelOptions(this.config.type);\n switch (this.mode) {\n case 'create':\n return [\n {\n icon: 'add',\n text: 'add',\n handler: () => {\n if (this.checkFirstInvalid()) {\n return;\n }\n this.facade.create(this.formValue);\n this.location.back();\n },\n },\n ];\n case 'update':\n return [\n ...(this.config.details\n ? [\n {\n icon: 'close',\n text: 'cancel',\n handler: () => {\n this.mode = 'details';\n this.initPageOptions();\n this.topTpl()?.clear();\n this.bottomTpl()?.clear();\n },\n disabled$: new BehaviorSubject(false),\n },\n ]\n : []),\n {\n icon: 'save',\n text: 'save',\n handler: () => {\n if (this.checkFirstInvalid()) {\n return;\n }\n this.formPartialValue.id = this.id;\n this.facade.updatePartial(this.formPartialValue);\n if (this.config.details) {\n this.mode = 'details';\n this.initPageOptions();\n }\n else {\n this.location.back();\n }\n },\n },\n ];\n case 'details':\n return this.config.edit &&\n (!options?.update?.enabled ||\n SpecificationService.valid(this.item, options?.update?.enabled))\n ? [\n {\n icon: 'create',\n text: 'edit',\n handler: () => {\n this.mode = 'update';\n this.generateComponents('edit');\n this.initPageOptions();\n },\n disabled$: new BehaviorSubject(false),\n },\n ]\n : [];\n default:\n return undefined;\n }\n }\n getTitle() {\n const options = getModelOptions(this.config.type);\n const prefix = options.titleKey && this.item\n ? this.removeParagraph(this.item[options.titleKey]) + ' - '\n : '';\n switch (this.mode) {\n case 'create':\n return 'add';\n case 'update':\n return prefix + this.translateService.instant('change');\n case 'details':\n return prefix + this.translateService.instant('details');\n default:\n return undefined;\n }\n }\n removeParagraph(val) {\n if (!val || val.indexOf('<p>') !== 0)\n return val;\n const div = document.createElement('div');\n div.innerHTML = val;\n const item = div.querySelectorAll('p').item(0);\n return item.innerHTML;\n }\n checkFirstInvalid() {\n this.cd.detectChanges();\n const form = this.template() === 'default'\n ? this.standardComponents()?.[0]?.formComponents?.[0]?.form\n : this.baseInstance.formComponents()[0].form;\n this.cd.detectChanges();\n if (form.valid)\n return false;\n const invalidFields = [];\n this.getInvalidFields(form, invalidFields, '');\n this.toastService.info({\n title: this.translateService.instant('INPUT.ERRORS.requires'),\n message: invalidFields.slice(0, 3).join('<br/>'),\n });\n return true;\n }\n getInvalidFields(control, invalidFields, baseField, key = null) {\n if (control.valid)\n return;\n const field = key\n ? baseField + ' > ' + this.translateService.instant('MODEL.' + key)\n : baseField;\n if (control.errors?.['customMessage']) {\n invalidFields.push(field + ` (${control.errors['customMessage']})`);\n return;\n }\n if (control instanceof UntypedFormControl) {\n invalidFields.push(field);\n }\n if (control instanceof UntypedFormGroup) {\n Object.keys(control.controls).forEach((groupKey) => {\n this.getInvalidFields(control.controls[groupKey], invalidFields, field, groupKey);\n });\n }\n if (control instanceof UntypedFormArray) {\n control.controls.forEach((c, index) => {\n this.getInvalidFields(c, invalidFields, field + `(${index + 1})`);\n });\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ItemComponent, isStandalone: true, selector: \"smart-crud-item-page\", viewQueries: [{ propertyName: \"standardComponents\", predicate: ItemStandardComponent, descendants: true, isSignal: true }, { propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }, { propertyName: \"topTpl\", first: true, predicate: [\"topTpl\"], descendants: true, isSignal: true }, { propertyName: \"bottomTpl\", first: true, predicate: [\"bottomTpl\"], descendants: true, isSignal: true }, { propertyName: \"dynamicContents\", predicate: DynamicContentDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl class=\"text-xl py-2.5 separator\"></div>\n @if (template() === 'default') {\n <smart-crud-item-standard-page\n [detailsOptions]=\"detailsOptions()\"\n [mode]=\"mode\"\n [uniqueProvider]=\"uniqueProvider()\"\n (onPartialChange)=\"onPartialChange($event)\"\n (onChange)=\"onChange($event)\"\n (onValidChange)=\"onValidChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-item-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n <div #bottomTpl class=\"text-xl py-2.5 separator\"></div>\n </smart-page>\n `, isInline: true, dependencies: [{ kind: \"component\", type: PageComponent, selector: \"smart-page\", inputs: [\"options\"] }, { kind: \"component\", type: ItemStandardComponent, selector: \"smart-crud-item-standard-page\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-item-page',\n imports: [PageComponent, ItemStandardComponent, NgTemplateOutlet],\n template: `\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl class=\"text-xl py-2.5 separator\"></div>\n @if (template() === 'default') {\n <smart-crud-item-standard-page\n [detailsOptions]=\"detailsOptions()\"\n [mode]=\"mode\"\n [uniqueProvider]=\"uniqueProvider()\"\n (onPartialChange)=\"onPartialChange($event)\"\n (onChange)=\"onChange($event)\"\n (onValidChange)=\"onValidChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-item-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n <div #bottomTpl class=\"text-xl py-2.5 separator\"></div>\n </smart-page>\n `,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9pdGVtL2l0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFLTixNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFLdkIsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0Is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SixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO3VHQXJiVSxhQUFhOzJGQUFiLGFBQWEsdUhBZ0RVLHFCQUFxQiw0WUFVckQsdUJBQXVCLHVGQWpGZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULDREQXRCUyxhQUFhLDRFQUFFLHFCQUFxQiwwRUFBRSxnQkFBZ0I7OzJGQXdCckQsYUFBYTtrQkExQnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDO29CQUNqRSxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnksXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVW50eXBlZEZvcm1BcnJheSxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIENyZWF0ZUR5bmFtaWNDb21wb25lbnQsXG4gIERldGFpbHNTZXJ2aWNlLFxuICBEeW5hbWljQ29tcG9uZW50TG9hZGVyLFxuICBEeW5hbWljQ29udGVudERpcmVjdGl2ZSxcbiAgSUNlbGxQaXBlLFxuICBJRGV0YWlsc09wdGlvbnMsXG4gIElJY29uQnV0dG9uT3B0aW9ucyxcbiAgSVBhZ2VPcHRpb25zLFxuICBQYWdlQ29tcG9uZW50LFxuICBTdHlsZVNlcnZpY2UsXG4gIFRvYXN0U2VydmljZSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcbmltcG9ydCB7IGdldE1vZGVsT3B0aW9ucyB9IGZyb20gJ0BzbWFydHNvZnQwMDEvbW9kZWxzJztcbmltcG9ydCB7IFNwZWNpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS91dGlscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBJQ3J1ZEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDcnVkSXRlbVBhZ2VCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1TdGFuZGFyZENvbXBvbmVudCB9IGZyb20gJy4vc3RhbmRhcmQvc3RhbmRhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3J1ZC9jcnVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtaXRlbS1wYWdlJyxcbiAgaW1wb3J0czogW1BhZ2VDb21wb25lbnQsIEl0ZW1TdGFuZGFyZENvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNtYXJ0LXBhZ2UgW29wdGlvbnNdPVwicGFnZU9wdGlvbnMoKVwiPlxuICAgICAgPGRpdiAjdG9wVHBsIGNsYXNzPVwidGV4dC14bCBweS0yLjUgc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICBAaWYgKHRlbXBsYXRlKCkgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICA8c21hcnQtY3J1ZC1pdGVtLXN0YW5kYXJkLXBhZ2VcbiAgICAgICAgICBbZGV0YWlsc09wdGlvbnNdPVwiZGV0YWlsc09wdGlvbnMoKVwiXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgICAgW3VuaXF1ZVByb3ZpZGVyXT1cInVuaXF1ZVByb3ZpZGVyKClcIlxuICAgICAgICAgIChvblBhcnRpYWxDaGFuZ2UpPVwib25QYXJ0aWFsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAob25WYWxpZENoYW5nZSk9XCJvblZhbGlkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc21hcnQtY3J1ZC1pdGVtLXN0YW5kYXJkLXBhZ2U+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUcGw+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1jb250ZW50XCI+PC9kaXY+XG4gICAgICA8ZGl2ICNib3R0b21UcGwgY2xhc3M9XCJ0ZXh0LXhsIHB5LTIuNSBzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8L3NtYXJ0LXBhZ2U+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEl0ZW1Db21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBDcmVhdGVEeW5hbWljQ29tcG9uZW50PENydWRJdGVtUGFnZUJhc2VDb21wb25lbnQ8YW55Pj4oXG4gICAgJ2NydWQtaXRlbS1wYWdlJyxcbiAgKVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgYWN0aXZlUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KENydWRTZXJ2aWNlPFQ+KTtcbiAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50TG9hZGVyID0gaW5qZWN0KER5bmFtaWNDb21wb25lbnRMb2FkZXI8VD4pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuICBwcml2YXRlIGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgc3R5bGVTZXJ2aWNlID0gaW5qZWN0KFN0eWxlU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwYWdlU2VydmljZSA9IGluamVjdChQYWdlU2VydmljZTxUPik7XG4gIHByaXZhdGUgZGV0YWlsc1NlcnZpY2UgPSBpbmplY3QoRGV0YWlsc1NlcnZpY2UpO1xuXG4gIHByaXZhdGUgX21vZGUhOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+O1xuXG4gIHBhZ2VPcHRpb25zOiBXcml0YWJsZVNpZ25hbDxJUGFnZU9wdGlvbnM+ID0gc2lnbmFsKHtcbiAgICB0aXRsZTogJycsXG4gICAgc2hvd0JhY2tCdXR0b246IHRydWUsXG4gICAgaGlkZU1lbnVCdXR0b246IHRydWUsXG4gIH0pO1xuICBkZXRhaWxzT3B0aW9ucyE6IFdyaXRhYmxlU2lnbmFsPElEZXRhaWxzT3B0aW9uczxUPj47XG4gIGlkITogc3RyaW5nO1xuICBmb3JtVmFsdWUhOiBUO1xuICBmb3JtVmFsaWQgPSBmYWxzZTtcbiAgaXRlbSE6IFQ7XG4gIGZvcm1QYXJ0aWFsVmFsdWUhOiBQYXJ0aWFsPFQ+O1xuICB1bmlxdWVQcm92aWRlciE6IFdyaXRhYmxlU2lnbmFsPFxuICAgICh2YWx1ZXM6IFJlY29yZDxrZXlvZiBULCBhbnk+KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gID47XG5cbiAgc2V0IG1vZGUodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9tb2RlID0gc2lnbmFsKHZhbCk7XG4gICAgdGhpcy5yZWZyZXNoRHluYW1pY0luc3RhbmNlKCk7XG4gIH1cbiAgZ2V0IG1vZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZSgpO1xuICB9XG5cbiAgc2VsZWN0ZWQ6IFNpZ25hbDxUPjtcblxuICBzdGFuZGFyZENvbXBvbmVudHMgPSB2aWV3Q2hpbGRyZW4oSXRlbVN0YW5kYXJkQ29tcG9uZW50KTtcbiAgLy8gQFZpZXdDaGlsZChJb25Db250ZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50OiBJb25Db250ZW50OyAvL1RPRE86IHJld3JpdGUgd2hlbiByZXdyaXRpbmcgaW9uaWNcblxuICBvdmVycmlkZSBjb250ZW50VHBsID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdjb250ZW50VHBsJyk7XG5cbiAgdG9wVHBsID0gdmlld0NoaWxkPFZpZXdDb250YWluZXJSZWY+KCd0b3BUcGwnKTtcblxuICBib3R0b21UcGwgPSB2aWV3Q2hpbGQ8Vmlld0NvbnRhaW5lclJlZj4oJ2JvdHRvbVRwbCcpO1xuXG4gIG92ZXJyaWRlIGR5bmFtaWNDb250ZW50cyA9IHZpZXdDaGlsZHJlbjxEeW5hbWljQ29udGVudERpcmVjdGl2ZT4oXG4gICAgRHluYW1pY0NvbnRlbnREaXJlY3RpdmUsXG4gICk7XG5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5mYWNhZGUuc2VsZWN0ZWQ7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtID0gdGhpcy5mYWNhZGUuc2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuaW5pdFBhZ2VPcHRpb25zKCk7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlZnJlc2hQcm9wZXJ0aWVzKCkge1xuICAgIHRoaXMuYmFzZUNvbXBvbmVudFJlZi5zZXRJbnB1dCgnZGV0YWlsc09wdGlvbnMnLCB0aGlzLmRldGFpbHNPcHRpb25zKCkpO1xuICAgIHRoaXMuYmFzZUNvbXBvbmVudFJlZi5zZXRJbnB1dCgnbW9kZScsIHRoaXMubW9kZSk7XG4gICAgdGhpcy5iYXNlQ29tcG9uZW50UmVmLnNldElucHV0KCd1bmlxdWVQcm92aWRlcicsIHRoaXMudW5pcXVlUHJvdmlkZXIoKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5iYXNlSW5zdGFuY2Uub25QYXJ0aWFsQ2hhbmdlLnN1YnNjcmliZSgodmFsKSA9PlxuICAgICAgICB0aGlzLm9uUGFydGlhbENoYW5nZSh2YWwpLFxuICAgICAgKSxcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuYmFzZUluc3RhbmNlLm9uQ2hhbmdlLnN1YnNjcmliZSgodmFsKSA9PiB0aGlzLm9uQ2hhbmdlKHZhbCkpLFxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5iYXNlSW5zdGFuY2Uub25WYWxpZENoYW5nZS5zdWJzY3JpYmUoKHZhbCkgPT5cbiAgICAgICAgdGhpcy5vblZhbGlkQ2hhbmdlKHZhbCksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRldGFpbHNTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG5cbiAgICB0aGlzLnBhZ2VTZXJ2aWNlLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGlmICh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwuc3BsaXQoJz8nKVswXS5lbmRzV2l0aCgnL2FkZCcpKSB7XG4gICAgICB0aGlzLm1vZGUgPSAnY3JlYXRlJztcbiAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVDb21wb25lbnRzKCdhZGQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlID0gdGhpcy5jb25maWcuZGV0YWlscyA/ICdkZXRhaWxzJyA6ICd1cGRhdGUnO1xuXG4gICAgICBpZiAodGhpcy5tb2RlID09PSAndXBkYXRlJykge1xuICAgICAgICBhd2FpdCB0aGlzLmdlbmVyYXRlQ29tcG9uZW50cygnZWRpdCcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZVJvdXRlLnBhcmFtc1xuICAgICAgICAucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgaWQgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuZmFjYWRlLnNlbGVjdChpZCk7XG4gICAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hY3RpdmVSb3V0ZS5xdWVyeVBhcmFtc1xuICAgICAgICAucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgZWRpdCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGVkaXQpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICd1cGRhdGUnO1xuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNvbXBvbmVudHMoJ2VkaXQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudW5pcXVlUHJvdmlkZXIuc2V0KGFzeW5jICh2YWx1ZXMpID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcjogSUNydWRGaWx0ZXIgPSB7XG4gICAgICAgIHF1ZXJ5OiBbXSxcbiAgICAgIH07XG5cbiAgICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGZpbHRlci5xdWVyeSEucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6ICh2YWx1ZXMgYXMgYW55KVtrZXldLFxuICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgZmlsdGVyLnF1ZXJ5IS5wdXNoKHtcbiAgICAgICAgICBrZXk6ICdpZCcsXG4gICAgICAgICAgdmFsdWU6IHRoaXMuaWQsXG4gICAgICAgICAgdHlwZTogJyE9JyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zdCB7IHRvdGFsQ291bnQgfSA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRMaXN0KGZpbHRlcik7XG5cbiAgICAgIHJldHVybiAhdG90YWxDb3VudDtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5kZXRhaWxzKSB7XG4gICAgICBjb25zdCBjb21waWxlZENvbXBvbmVudHM6IHtcbiAgICAgICAgY29tcG9uZW50OiBhbnk7XG4gICAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PjtcbiAgICAgIH1bXSA9IGF3YWl0IHRoaXMuZHluYW1pY0NvbXBvbmVudExvYWRlci5nZXRDb21wb25lbnRzV2l0aEZhY3Rvcmllcyh7XG4gICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS50b3BcbiAgICAgICAgICAgID8gWyh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS50b3BdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS5ib3R0b21cbiAgICAgICAgICAgID8gWyh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS5ib3R0b21dXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRldGFpbHNPcHRpb25zLnNldCh7XG4gICAgICAgIHR5cGU6IHRoaXMuY29uZmlnLnR5cGUsXG4gICAgICAgIGl0ZW06IHRoaXMuZmFjYWRlLnNlbGVjdGVkLFxuICAgICAgICBjZWxsUGlwZTogdGhpcy5jb25maWcuZGV0YWlsc1xuICAgICAgICAgID8gKHRoaXMuY29uZmlnLmRldGFpbHMgYXMgeyBjZWxsUGlwZT86IElDZWxsUGlwZTxUPiB9KS5jZWxsUGlwZVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBjb21wb25lbnRGYWN0b3JpZXM6IHtcbiAgICAgICAgICB0b3A6XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpWydjb21wb25lbnRzJ10gJiZcbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS50b3BcbiAgICAgICAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgICAgICAgIChjYykgPT5cbiAgICAgICAgICAgICAgICAgICAgY2MuY29tcG9uZW50ID09PVxuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpWydjb21wb25lbnRzJ10udG9wLFxuICAgICAgICAgICAgICAgICk/LmZhY3RvcnlcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbHMgYXMgYW55KVsnY29tcG9uZW50cyddICYmXG4gICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpWydjb21wb25lbnRzJ10uYm90dG9tXG4gICAgICAgICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAoY2MpID0+XG4gICAgICAgICAgICAgICAgICAgIGNjLmNvbXBvbmVudCA9PT1cbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbHMgYXMgYW55KVsnY29tcG9uZW50cyddLmJvdHRvbSxcbiAgICAgICAgICAgICAgICApPy5mYWN0b3J5XG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0UGFnZU9wdGlvbnMoKTtcblxuICAgIHRoaXMucmVmcmVzaER5bmFtaWNJbnN0YW5jZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdlbmVyYXRlQ29tcG9uZW50cyhtb2RlOiAnYWRkJyB8ICdlZGl0Jykge1xuICAgIGNvbnN0IGNvbXBpbGVkQ29tcG9uZW50cyA9XG4gICAgICBhd2FpdCB0aGlzLmR5bmFtaWNDb21wb25lbnRMb2FkZXIuZ2V0Q29tcG9uZW50c1dpdGhGYWN0b3JpZXMoe1xuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnW21vZGVdICYmXG4gICAgICAgICAgKHRoaXMuY29uZmlnW21vZGVdIGFzIGFueSlbJ2NvbXBvbmVudHMnXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10udG9wXG4gICAgICAgICAgICA/IFsodGhpcy5jb25maWdbbW9kZV0gYXMgYW55KVsnY29tcG9uZW50cyddLnRvcF1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZ1ttb2RlXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10gJiZcbiAgICAgICAgICAodGhpcy5jb25maWdbbW9kZV0gYXMgYW55KVsnY29tcG9uZW50cyddLmJvdHRvbVxuICAgICAgICAgICAgPyBbKHRoaXMuY29uZmlnW21vZGVdIGFzIGFueSlbJ2NvbXBvbmVudHMnXS5ib3R0b21dXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29tcG9uZW50RmFjdG9yeSA9IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgKGNjKSA9PiBjYy5jb21wb25lbnQgPT09ICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10/LnRvcCxcbiAgICApPy5mYWN0b3J5O1xuXG4gICAgY29uc3QgYm90dG9tQ29tcG9uZW50RmFjdG9yeSA9IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgKGNjKSA9PiBjYy5jb21wb25lbnQgPT09ICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10/LmJvdHRvbSxcbiAgICApPy5mYWN0b3J5O1xuXG4gICAgaWYgKCF0aGlzLnRvcFRwbCgpPy5nZXQoMCkgJiYgdG9wQ29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgdGhpcy50b3BUcGwoKT8uY3JlYXRlQ29tcG9uZW50KHRvcENvbXBvbmVudEZhY3RvcnkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5ib3R0b21UcGwoKT8uZ2V0KDApICYmIGJvdHRvbUNvbXBvbmVudEZhY3RvcnkpIHtcbiAgICAgIHRoaXMuYm90dG9tVHBsKCk/LmNyZWF0ZUNvbXBvbmVudChib3R0b21Db21wb25lbnRGYWN0b3J5KTtcbiAgICB9XG4gIH1cblxuICBvblBhcnRpYWxDaGFuZ2UodmFsOiBQYXJ0aWFsPFQ+KSB7XG4gICAgdGhpcy5mb3JtUGFydGlhbFZhbHVlID0gdmFsO1xuICB9XG5cbiAgb25DaGFuZ2UodmFsOiBUKSB7XG4gICAgdGhpcy5mb3JtVmFsdWUgPSB2YWw7XG4gIH1cblxuICBvblZhbGlkQ2hhbmdlKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuZm9ybVZhbGlkID0gdmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGFnZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlT3B0aW9ucy5zZXQoe1xuICAgICAgLi4udGhpcy5wYWdlT3B0aW9ucygpLFxuICAgICAgdGl0bGU6IHRoaXMuZ2V0VGl0bGUoKSB8fCAnJyxcbiAgICAgIGVuZEJ1dHRvbnM6IHRoaXMuZ2V0QnV0dG9ucygpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25zKCk6IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModGhpcy5jb25maWcudHlwZSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xuICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpY29uOiAnYWRkJyxcbiAgICAgICAgICAgIHRleHQ6ICdhZGQnLFxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5jaGVja0ZpcnN0SW52YWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGhpcy5mYWNhZGUuY3JlYXRlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZy5kZXRhaWxzXG4gICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpY29uOiAnY2xvc2UnLFxuICAgICAgICAgICAgICAgICAgdGV4dDogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICdkZXRhaWxzJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0UGFnZU9wdGlvbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3BUcGwoKT8uY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ib3R0b21UcGwoKT8uY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZCQ6IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGljb246ICdzYXZlJyxcbiAgICAgICAgICAgIHRleHQ6ICdzYXZlJyxcbiAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tGaXJzdEludmFsaWQoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRoaXMuZm9ybVBhcnRpYWxWYWx1ZS5pZCA9IHRoaXMuaWQ7XG4gICAgICAgICAgICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVBhcnRpYWwodGhpcy5mb3JtUGFydGlhbFZhbHVlIGFzIGFueSk7XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRldGFpbHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAnZGV0YWlscyc7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0UGFnZU9wdGlvbnMoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgY2FzZSAnZGV0YWlscyc6XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5lZGl0ICYmXG4gICAgICAgICAgKCFvcHRpb25zPy51cGRhdGU/LmVuYWJsZWQgfHxcbiAgICAgICAgICAgIFNwZWNpZmljYXRpb25TZXJ2aWNlLnZhbGlkKHRoaXMuaXRlbSwgb3B0aW9ucz8udXBkYXRlPy5lbmFibGVkKSlcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGljb246ICdjcmVhdGUnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICdlZGl0JyxcbiAgICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAndXBkYXRlJztcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVDb21wb25lbnRzKCdlZGl0Jyk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmluaXRQYWdlT3B0aW9ucygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQkOiBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtdO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRpdGxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKTtcblxuICAgIGNvbnN0IHByZWZpeCA9XG4gICAgICBvcHRpb25zLnRpdGxlS2V5ICYmIHRoaXMuaXRlbVxuICAgICAgICA/IHRoaXMucmVtb3ZlUGFyYWdyYXBoKCh0aGlzLml0ZW0gYXMgYW55KVtvcHRpb25zLnRpdGxlS2V5XSkgKyAnIC0gJ1xuICAgICAgICA6ICcnO1xuXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgIHJldHVybiAnYWRkJztcbiAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgIHJldHVybiBwcmVmaXggKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY2hhbmdlJyk7XG4gICAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkZXRhaWxzJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGFyYWdyYXBoKHZhbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbCB8fCB2YWwuaW5kZXhPZignPHA+JykgIT09IDApIHJldHVybiB2YWw7XG5cbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXYuaW5uZXJIVE1MID0gdmFsO1xuXG4gICAgY29uc3QgaXRlbSA9IGRpdi5xdWVyeVNlbGVjdG9yQWxsKCdwJykuaXRlbSgwKTtcblxuICAgIHJldHVybiBpdGVtLmlubmVySFRNTDtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGaXJzdEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBjb25zdCBmb3JtID1cbiAgICAgIHRoaXMudGVtcGxhdGUoKSA9PT0gJ2RlZmF1bHQnXG4gICAgICAgID8gKHRoaXMuc3RhbmRhcmRDb21wb25lbnRzKCkgYXMgYW55KT8uWzBdPy5mb3JtQ29tcG9uZW50cz8uWzBdPy5mb3JtXG4gICAgICAgIDogdGhpcy5iYXNlSW5zdGFuY2UuZm9ybUNvbXBvbmVudHMoKVswXS5mb3JtO1xuXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAoZm9ybS52YWxpZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaW52YWxpZEZpZWxkczogc3RyaW5nW10gPSBbXTtcblxuICAgIHRoaXMuZ2V0SW52YWxpZEZpZWxkcyhmb3JtLCBpbnZhbGlkRmllbGRzLCAnJyk7XG5cbiAgICB0aGlzLnRvYXN0U2VydmljZS5pbmZvKHtcbiAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnSU5QVVQuRVJST1JTLnJlcXVpcmVzJyksXG4gICAgICBtZXNzYWdlOiBpbnZhbGlkRmllbGRzLnNsaWNlKDAsIDMpLmpvaW4oJzxici8+JyksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW52YWxpZEZpZWxkcyhcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgaW52YWxpZEZpZWxkczogYW55W10sXG4gICAgYmFzZUZpZWxkOiBzdHJpbmcsXG4gICAga2V5ID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKGNvbnRyb2wudmFsaWQpIHJldHVybjtcblxuICAgIGNvbnN0IGZpZWxkID0ga2V5XG4gICAgICA/IGJhc2VGaWVsZCArICcgPiAnICsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ01PREVMLicgKyBrZXkpXG4gICAgICA6IGJhc2VGaWVsZDtcblxuICAgIGlmIChjb250cm9sLmVycm9ycz8uWydjdXN0b21NZXNzYWdlJ10pIHtcbiAgICAgIGludmFsaWRGaWVsZHMucHVzaChmaWVsZCArIGAgKCR7Y29udHJvbC5lcnJvcnNbJ2N1c3RvbU1lc3NhZ2UnXX0pYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICAgIGludmFsaWRGaWVsZHMucHVzaChmaWVsZCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKChncm91cEtleSkgPT4ge1xuICAgICAgICB0aGlzLmdldEludmFsaWRGaWVsZHMoXG4gICAgICAgICAgY29udHJvbC5jb250cm9sc1tncm91cEtleV0sXG4gICAgICAgICAgaW52YWxpZEZpZWxkcyxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBncm91cEtleSBhcyBhbnksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtQXJyYXkpIHtcbiAgICAgIGNvbnRyb2wuY29udHJvbHMuZm9yRWFjaCgoYywgaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRJbnZhbGlkRmllbGRzKGMsIGludmFsaWRGaWVsZHMsIGZpZWxkICsgYCgke2luZGV4ICsgMX0pYCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, inject, input, viewChild, } from '@angular/core';\nimport { BaseComponent, } from '@smartsoft001/angular';\nimport { CrudFullConfig } from '../../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class CrudListPageBaseComponent extends BaseComponent {\n config = inject((CrudFullConfig));\n static smartType = 'crud-list-page';\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n listOptions = input(...(ngDevMode ? [undefined, { debugName: \"listOptions\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPageBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.1.0\", type: CrudListPageBaseComponent, isStandalone: true, inputs: { listOptions: { classPropertyName: \"listOptions\", publicName: \"listOptions\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPageBaseComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9saXN0L2Jhc2UvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsYUFBYSxHQUdkLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd0RCxNQUFNLE9BQWdCLHlCQUVwQixTQUFRLGFBQWE7SUFDZCxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLFNBQVMsR0FBeUIsZ0JBQWdCLENBQUM7SUFFMUQsVUFBVSxHQUFHLFNBQVMsQ0FBbUIsWUFBWSxzREFBQyxDQUFDO0lBRXZELFdBQVcsR0FBRyxLQUFLLGlFQUEwQixDQUFDO3VHQVQxQix5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgdmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmFzZUNvbXBvbmVudCxcbiAgRHluYW1pY0NvbXBvbmVudFR5cGUsXG4gIElMaXN0T3B0aW9ucyxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jcnVkLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sXG4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuXG4gIHN0YXRpYyBzbWFydFR5cGU6IER5bmFtaWNDb21wb25lbnRUeXBlID0gJ2NydWQtbGlzdC1wYWdlJztcblxuICBjb250ZW50VHBsID0gdmlld0NoaWxkPFZpZXdDb250YWluZXJSZWY+KCdjb250ZW50VHBsJyk7XG5cbiAgbGlzdE9wdGlvbnMgPSBpbnB1dDxJTGlzdE9wdGlvbnM8VD4gfCBudWxsPigpO1xufVxuIl19","import { Component, computed, inject } from '@angular/core';\nimport { ListComponent } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../../+state/crud.facade';\nimport { FiltersConfigComponent, GroupComponent } from '../../../components';\nimport { CrudFullConfig } from '../../../crud.config';\nimport { CrudListGroupService } from '../../../services/list-group/list-group.service';\nimport { CrudListPageBaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class ListStandardComponent extends CrudListPageBaseComponent {\n facade = inject((CrudFacade));\n config = inject((CrudFullConfig));\n isSearch = computed(() => !!this.facade.filter()?.searchText, ...(ngDevMode ? [{ debugName: \"isSearch\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListStandardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ListStandardComponent, isStandalone: true, selector: \"smart-crud-list-standard-page\", providers: [CrudListGroupService], usesInheritance: true, ngImport: i0, template: `\n <smart-crud-filters-config></smart-crud-filters-config>\n @let groups = config.list?.groups;\n @if (listOptions()) {\n <smart-list\n [hidden]=\"groups && !isSearch()\"\n [options]=\"listOptions()!\"\n ></smart-list>\n }\n @if (groups && !isSearch()) {\n <smart-crud-group\n [groups]=\"groups\"\n [listOptions]=\"listOptions() || null\"\n ></smart-crud-group>\n }\n `, isInline: true, dependencies: [{ kind: \"component\", type: FiltersConfigComponent, selector: \"smart-crud-filters-config\" }, { kind: \"component\", type: ListComponent, selector: \"smart-list\", inputs: [\"options\"] }, { kind: \"component\", type: GroupComponent, selector: \"smart-crud-group\", inputs: [\"groups\", \"listOptions\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListStandardComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-list-standard-page',\n template: `\n <smart-crud-filters-config></smart-crud-filters-config>\n @let groups = config.list?.groups;\n @if (listOptions()) {\n <smart-list\n [hidden]=\"groups && !isSearch()\"\n [options]=\"listOptions()!\"\n ></smart-list>\n }\n @if (groups && !isSearch()) {\n <smart-crud-group\n [groups]=\"groups\"\n [listOptions]=\"listOptions() || null\"\n ></smart-crud-group>\n }\n `,\n imports: [FiltersConfigComponent, ListComponent, GroupComponent],\n providers: [CrudListGroupService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvcGFnZXMvbGlzdC9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUF1Qm5FLE1BQU0sT0FBTyxxQkFFWCxTQUFRLHlCQUE0QjtJQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUN2QixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFFNUQsUUFBUSxHQUFvQixRQUFRLENBQ2xDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFVBQVUsb0RBQ3pDLENBQUM7dUdBUlMscUJBQXFCOzJGQUFyQixxQkFBcUIsNEVBRnJCLENBQUMsb0JBQW9CLENBQUMsaURBakJ2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsNERBQ1Msc0JBQXNCLHNFQUFFLGFBQWEsNEVBQUUsY0FBYzs7MkZBR3BELHFCQUFxQjtrQkFyQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO29CQUNoRSxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgQ3J1ZEZhY2FkZSB9IGZyb20gJy4uLy4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQgeyBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50LCBHcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBDcnVkTGlzdEdyb3VwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5zZXJ2aWNlJztcbmltcG9ydCB7IENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1saXN0LXN0YW5kYXJkLXBhZ2UnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzbWFydC1jcnVkLWZpbHRlcnMtY29uZmlnPjwvc21hcnQtY3J1ZC1maWx0ZXJzLWNvbmZpZz5cbiAgICBAbGV0IGdyb3VwcyA9IGNvbmZpZy5saXN0Py5ncm91cHM7XG4gICAgQGlmIChsaXN0T3B0aW9ucygpKSB7XG4gICAgICA8c21hcnQtbGlzdFxuICAgICAgICBbaGlkZGVuXT1cImdyb3VwcyAmJiAhaXNTZWFyY2goKVwiXG4gICAgICAgIFtvcHRpb25zXT1cImxpc3RPcHRpb25zKCkhXCJcbiAgICAgID48L3NtYXJ0LWxpc3Q+XG4gICAgfVxuICAgIEBpZiAoZ3JvdXBzICYmICFpc1NlYXJjaCgpKSB7XG4gICAgICA8c21hcnQtY3J1ZC1ncm91cFxuICAgICAgICBbZ3JvdXBzXT1cImdyb3Vwc1wiXG4gICAgICAgIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9ucygpIHx8IG51bGxcIlxuICAgICAgPjwvc21hcnQtY3J1ZC1ncm91cD5cbiAgICB9XG4gIGAsXG4gIGltcG9ydHM6IFtGaWx0ZXJzQ29uZmlnQ29tcG9uZW50LCBMaXN0Q29tcG9uZW50LCBHcm91cENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0NydWRMaXN0R3JvdXBTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFN0YW5kYXJkQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LFxuPiBleHRlbmRzIENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDcnVkRnVsbENvbmZpZzxUPik7XG5cbiAgaXNTZWFyY2g6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKFxuICAgICgpID0+ICEhdGhpcy5mYWNhZGUuZmlsdGVyKCk/LnNlYXJjaFRleHQsXG4gICk7XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class CrudSearchService {\n _filterSource = new BehaviorSubject({});\n _enabledSource = new BehaviorSubject(false);\n get filter() {\n if (!this._enabledSource.value)\n return {};\n return this._filterSource.value || {};\n }\n get enabled() {\n return this._enabledSource.value;\n }\n enabled$ = this._enabledSource.asObservable();\n filter$ = combineLatest([\n this._filterSource.asObservable(),\n this.enabled$,\n ]).pipe(map(([filter, enabled]) => {\n if (!enabled)\n return {};\n return filter;\n }));\n setFilter(val) {\n this._filterSource.next(val);\n }\n setEnabled(val) {\n this._enabledSource.next(val);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudSearchService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudSearchService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3JDLE1BQU0sT0FBTyxpQkFBaUI7SUFDcEIsYUFBYSxHQUFHLElBQUksZUFBZSxDQUF1QixFQUFFLENBQUMsQ0FBQztJQUM5RCxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFN0QsSUFBSSxNQUFNO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU5QyxPQUFPLEdBQXFDLGFBQWEsQ0FBQztRQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRTtRQUNqQyxJQUFJLENBQUMsUUFBUTtLQUNkLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFRixTQUFTLENBQUMsR0FBeUI7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFZO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7dUdBL0JVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZFNlYXJjaFNlcnZpY2Uge1xuICBwcml2YXRlIF9maWx0ZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8SUNydWRGaWx0ZXI+Pih7fSk7XG4gIHByaXZhdGUgX2VuYWJsZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBnZXQgZmlsdGVyKCk6IFBhcnRpYWw8SUNydWRGaWx0ZXI+IHtcbiAgICBpZiAoIXRoaXMuX2VuYWJsZWRTb3VyY2UudmFsdWUpIHJldHVybiB7fTtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyU291cmNlLnZhbHVlIHx8IHt9O1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWRTb3VyY2UudmFsdWU7XG4gIH1cblxuICBlbmFibGVkJCA9IHRoaXMuX2VuYWJsZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZmlsdGVyJDogT2JzZXJ2YWJsZTxQYXJ0aWFsPElDcnVkRmlsdGVyPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9maWx0ZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCksXG4gICAgdGhpcy5lbmFibGVkJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtmaWx0ZXIsIGVuYWJsZWRdKSA9PiB7XG4gICAgICBpZiAoIWVuYWJsZWQpIHJldHVybiB7fTtcbiAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgfSksXG4gICk7XG5cbiAgc2V0RmlsdGVyKHZhbDogUGFydGlhbDxJQ3J1ZEZpbHRlcj4pOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJTb3VyY2UubmV4dCh2YWwpO1xuICB9XG5cbiAgc2V0RW5hYmxlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9lbmFibGVkU291cmNlLm5leHQodmFsKTtcbiAgfVxufVxuIl19","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, computed, inject, Injector, signal, viewChild, viewChildren, } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { CreateDynamicComponent, DynamicComponentLoader, DynamicContentDirective, HardwareService, ListMode, MenuService, PageComponent, } from '@smartsoft001/angular';\nimport { getModelFieldsWithOptions, getModelOptions, } from '@smartsoft001/models';\nimport { SpecificationService } from '@smartsoft001/utils';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { ExportComponent } from '../../components';\nimport { FiltersComponent } from '../../components';\nimport { MultiselectComponent } from '../../components';\nimport { CrudFullConfig } from '../../crud.config';\nimport { CrudListPaginationFactory } from '../../factories/list-pagination/list-pagination.factory';\nimport { ListStandardComponent } from './standard/standard.component';\nimport { PageService } from '../../services/page/page.service';\nimport { CrudSearchService } from '../../services/search/search.service';\nimport * as i0 from \"@angular/core\";\nexport class ListComponent extends CreateDynamicComponent('crud-list-page') {\n facade = inject((CrudFacade));\n router = inject(Router);\n dynamicComponentLoader = inject((DynamicComponentLoader));\n injector = inject(Injector);\n cd = inject(ChangeDetectorRef);\n menuService = inject(MenuService);\n hardwareService = inject(HardwareService);\n paginationFacade = inject((CrudListPaginationFactory));\n pageService = inject((PageService));\n config = inject((CrudFullConfig));\n searchService = inject(CrudSearchService);\n _cleanMultiSelected$ = new Subject();\n pageOptions = signal(null, ...(ngDevMode ? [{ debugName: \"pageOptions\" }] : []));\n listOptions = signal(null, ...(ngDevMode ? [{ debugName: \"listOptions\" }] : []));\n links = this.facade.links;\n filter = this.facade.filter;\n topTpl = viewChild('topTpl', ...(ngDevMode ? [{ debugName: \"topTpl\" }] : []));\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n dynamicContents = viewChildren(DynamicContentDirective, ...(ngDevMode ? [{ debugName: \"dynamicContents\" }] : []));\n refreshProperties() {\n this.baseComponentRef.setInput('listOptions', this.listOptions());\n }\n async ngOnInit() {\n this.pageService.checkPermissions();\n const options = getModelOptions(this.config.type);\n let newFilter = null;\n if (this.config.list?.resetQuery === 'beforeInit') {\n newFilter = {\n query: this.config.baseQuery ? [...this.config.baseQuery] : [],\n paginationMode: this.config.list.paginationMode,\n limit: this.config.pagination\n ? this.config.pagination.limit\n : undefined,\n offset: this.config.pagination ? 0 : undefined,\n sortBy: this.config.sort\n ? this.config.sort['default']\n : undefined,\n sortDesc: this.config.sort\n ? this.config.sort['defaultDesc']\n : undefined,\n ...this.searchService.filter,\n };\n }\n else if (this.filter()) {\n newFilter = this.filter();\n }\n else {\n newFilter = {\n paginationMode: this.config.list.paginationMode,\n limit: this.searchService.filter?.limit\n ? this.searchService.filter.limit\n : this.config.pagination\n ? this.config.pagination.limit\n : undefined,\n offset: this.searchService.filter?.offset ||\n this.searchService.filter?.offset === 0\n ? this.searchService.filter.offset\n : this.config.pagination\n ? 0\n : undefined,\n sortBy: this.searchService.filter?.sortBy\n ? this.searchService.filter.sortBy\n : this.config.sort\n ? this.config.sort['default']\n : undefined,\n sortDesc: this.searchService.filter?.sortDesc\n ? this.searchService.filter.sortDesc\n : this.config.sort\n ? this.config.sort['defaultDesc']\n : undefined,\n query: this.config.baseQuery ? [...this.config.baseQuery] : [],\n ...this.searchService.filter,\n };\n }\n this.facade.read(newFilter);\n const endButtons = this.getEndButtons();\n this.pageOptions.set({\n title: this.config.title || '',\n search: this.config.search\n ? {\n text: computed(() => this.filter()?.searchText ?? ''),\n set: (txt) => {\n if (txt !== this.filter()?.searchText)\n this.facade.read({\n ...this.filter(),\n searchText: txt,\n offset: 0,\n });\n },\n }\n : undefined,\n endButtons: endButtons,\n });\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.top\n ? [this.config.details.components.top]\n : []),\n ...(this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.bottom\n ? [this.config.details.components.bottom]\n : []),\n ...(this.config.list &&\n typeof this.config.list === 'object' &&\n 'components' in this.config.list &&\n this.config.list.components?.top\n ? [this.config.list.components.top]\n : []),\n ],\n });\n this.listOptions.set({\n provider: {\n getData: (filter) => {\n const global = {\n ...this.filter(),\n ...filter,\n };\n this.facade.read(global);\n },\n onChangeMultiSelected: async (list) => {\n if (list.length && !this.menuService.openedEnd) {\n await this.menuService.openEnd({\n injector: this.injector,\n component: MultiselectComponent,\n });\n }\n else if (!list.length && this.menuService.openedEnd) {\n await this.menuService.closeEnd();\n }\n this.facade.multiSelect(list);\n },\n list: computed(() => this.facade.list() || []),\n loading: this.facade.loading,\n onCleanMultiSelected$: this._cleanMultiSelected$,\n },\n cellPipe: this.config.list ? this.config.list.cellPipe : undefined,\n mode: this.config.list?.mode,\n type: this.config.type,\n details: this.config.details\n ? {\n provider: {\n getData: (id) => {\n this.facade.select(id);\n },\n clearData: () => {\n this.facade.unselect();\n },\n item: this.facade.selected,\n loading: this.facade.loading,\n },\n componentFactories: {\n top: this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.top\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details.components.top)?.factory\n : undefined,\n bottom: this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.bottom\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details.components.bottom)?.factory\n : undefined,\n },\n }\n : undefined,\n item: !!this.config.edit || this.config.details\n ? {\n options: {\n routingPrefix: '/' + this.router.routerState.snapshot.url + '/',\n edit: !!this.config.edit,\n },\n }\n : undefined,\n remove: this.config.remove\n ? {\n provider: {\n invoke: (id) => this.facade.delete(id),\n check: (item) => {\n return options?.remove?.enabled\n ? SpecificationService.valid(item, options?.remove?.enabled)\n : true;\n },\n },\n }\n : undefined,\n pagination: await this.paginationFacade.create({\n mode: this.config.list.paginationMode,\n limit: this.config.pagination.limit,\n provider: {\n getFilter: () => {\n return this.filter() || {};\n },\n getLinks: () => this.links(),\n },\n }),\n sort: this.config.sort,\n });\n this.cd.detectChanges();\n this.initCloseMenu();\n this.initTopComponent(compiledComponents);\n this.refreshDynamicInstance();\n }\n initCloseMenu() {\n this.router.events.pipe(this.takeUntilDestroy).subscribe(async () => {\n await this.clear();\n });\n }\n async clear() {\n await this.menuService.closeEnd();\n this.listOptions.update((val) => ({\n ...val,\n select: undefined,\n }));\n this.facade.multiSelect([]);\n }\n getEndButtons() {\n const fieldsWithOptions = getModelFieldsWithOptions(new this.config.type());\n const modelOptions = getModelOptions(this.config.type);\n const showFilters = fieldsWithOptions.some((x) => x.options?.list?.filter) || modelOptions?.filters?.length;\n const showMultiEdit = this.config.list?.components?.multi ||\n (this.config.edit &&\n fieldsWithOptions.some((x) => x.options?.update?.multi) &&\n !this.hardwareService.isMobile &&\n (!this.config?.list?.mode ||\n this.config?.list?.mode === ListMode.desktop));\n return [\n ...(showMultiEdit\n ? [\n {\n icon: 'checkbox-outline',\n text: 'multi',\n handler: () => {\n this.facade.multiSelect([]);\n this._cleanMultiSelected$.next();\n setTimeout(async () => {\n this.listOptions.update((val) => ({\n ...val,\n select: val?.select === 'multi' ? undefined : 'multi',\n }));\n if (this.menuService.openedEnd)\n await this.menuService.closeEnd();\n this.cd.detectChanges();\n });\n },\n },\n ]\n : []),\n ...(showFilters\n ? [\n {\n icon: 'filter-outline',\n text: 'filters',\n handler: async () => {\n await this.menuService.openEnd({\n injector: this.injector,\n component: FiltersComponent,\n });\n },\n },\n ]\n : []),\n ...(this.config.add\n ? [\n {\n icon: 'add',\n text: 'add',\n handler: () => {\n this.router.navigate([\n '/' + this.router.routerState.snapshot.url + '/add',\n ]);\n },\n },\n ]\n : []),\n ...(this.config.export\n ? [\n {\n text: 'export',\n icon: 'download-outline',\n type: 'popover',\n component: ExportComponent,\n },\n ]\n : []),\n ...(this.config.buttons ? this.config.buttons : []),\n ];\n }\n initTopComponent(compiledComponents) {\n const factory = this.config.list &&\n typeof this.config.list === 'object' &&\n 'components' in this.config.list &&\n this.config.list.components?.top\n ? compiledComponents.find((cc) => cc.component === this.config.list.components.top)?.factory\n : null;\n setTimeout(() => {\n if (factory && !this.topTpl()?.get(0)) {\n this.topTpl()?.createComponent(factory);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ListComponent, isStandalone: true, selector: \"smart-crud-list-page\", viewQueries: [{ propertyName: \"topTpl\", first: true, predicate: [\"topTpl\"], descendants: true, isSignal: true }, { propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }, { propertyName: \"dynamicContents\", predicate: DynamicContentDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n @if (filter() && pageOptions()) {\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl></div>\n\n @if (template() === 'default' && listOptions()) {\n <smart-crud-list-standard-page [listOptions]=\"listOptions()\">\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-list-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n }\n `, isInline: true, dependencies: [{ kind: \"component\", type: PageComponent, selector: \"smart-page\", inputs: [\"options\"] }, { kind: \"component\", type: ListStandardComponent, selector: \"smart-crud-list-standard-page\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-list-page',\n imports: [PageComponent, ListStandardComponent, NgTemplateOutlet],\n template: `\n @if (filter() && pageOptions()) {\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl></div>\n\n @if (template() === 'default' && listOptions()) {\n <smart-crud-list-standard-page [listOptions]=\"listOptions()\">\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-list-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n }\n `,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUlSLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixlQUFlLEVBSWYsUUFBUSxFQUNSLFdBQVcsRUFDWCxhQUFhLEdBQ2QsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGVBQWUsR0FHaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQs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IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICBTaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB2aWV3Q2hpbGQsXG4gIHZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQ3JlYXRlRHluYW1pY0NvbXBvbmVudCxcbiAgRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgRHluYW1pY0NvbnRlbnREaXJlY3RpdmUsXG4gIEhhcmR3YXJlU2VydmljZSxcbiAgSUljb25CdXR0b25PcHRpb25zLFxuICBJTGlzdE9wdGlvbnMsXG4gIElQYWdlT3B0aW9ucyxcbiAgTGlzdE1vZGUsXG4gIE1lbnVTZXJ2aWNlLFxuICBQYWdlQ29tcG9uZW50LFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyxcbiAgZ2V0TW9kZWxPcHRpb25zLFxuICBJRmllbGRFZGl0TWV0YWRhdGEsXG4gIElGaWVsZExpc3RNZXRhZGF0YSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9tb2RlbHMnO1xuaW1wb3J0IHsgU3BlY2lmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL3V0aWxzJztcblxuaW1wb3J0IHsgQ3J1ZEZhY2FkZSB9IGZyb20gJy4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQgeyBFeHBvcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IE11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDcnVkRnVsbENvbmZpZyB9IGZyb20gJy4uLy4uL2NydWQuY29uZmlnJztcbmltcG9ydCB7IENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeSB9IGZyb20gJy4uLy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTGlzdFN0YW5kYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDcnVkU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlYXJjaC9zZWFyY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtbGlzdC1wYWdlJyxcbiAgaW1wb3J0czogW1BhZ2VDb21wb25lbnQsIExpc3RTdGFuZGFyZENvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChmaWx0ZXIoKSAmJiBwYWdlT3B0aW9ucygpKSB7XG4gICAgICA8c21hcnQtcGFnZSBbb3B0aW9uc109XCJwYWdlT3B0aW9ucygpXCI+XG4gICAgICAgIDxkaXYgI3RvcFRwbD48L2Rpdj5cblxuICAgICAgICBAaWYgKHRlbXBsYXRlKCkgPT09ICdkZWZhdWx0JyAmJiBsaXN0T3B0aW9ucygpKSB7XG4gICAgICAgICAgPHNtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9ucygpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3NtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlPlxuICAgICAgICB9XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNvbnRlbnRcIj48L2Rpdj5cbiAgICAgIDwvc21hcnQtcGFnZT5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBDcmVhdGVEeW5hbWljQ29tcG9uZW50PENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8YW55Pj4oXG4gICAgJ2NydWQtbGlzdC1wYWdlJyxcbiAgKVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRMb2FkZXIgPSBpbmplY3QoRHluYW1pY0NvbXBvbmVudExvYWRlcjxUPik7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIGNkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gIHByaXZhdGUgaGFyZHdhcmVTZXJ2aWNlID0gaW5qZWN0KEhhcmR3YXJlU2VydmljZSk7XG4gIHByaXZhdGUgcGFnaW5hdGlvbkZhY2FkZSA9IGluamVjdChDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5PFQ+KTtcbiAgcHJpdmF0ZSBwYWdlU2VydmljZSA9IGluamVjdChQYWdlU2VydmljZTxUPik7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuICBwcml2YXRlIHNlYXJjaFNlcnZpY2UgPSBpbmplY3QoQ3J1ZFNlYXJjaFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2NsZWFuTXVsdGlTZWxlY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHBhZ2VPcHRpb25zID0gc2lnbmFsPElQYWdlT3B0aW9ucyB8IG51bGw+KG51bGwpO1xuICBsaXN0T3B0aW9ucyA9IHNpZ25hbDxJTGlzdE9wdGlvbnM8VD4gfCBudWxsPihudWxsKTtcbiAgbGlua3MgPSB0aGlzLmZhY2FkZS5saW5rcztcblxuICBmaWx0ZXI6IFNpZ25hbDxJQ3J1ZEZpbHRlciB8IHVuZGVmaW5lZD4gPSB0aGlzLmZhY2FkZS5maWx0ZXI7XG5cbiAgdG9wVHBsID0gdmlld0NoaWxkPFZpZXdDb250YWluZXJSZWY+KCd0b3BUcGwnKTtcblxuICBvdmVycmlkZSBjb250ZW50VHBsID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdjb250ZW50VHBsJyk7XG5cbiAgb3ZlcnJpZGUgZHluYW1pY0NvbnRlbnRzID0gdmlld0NoaWxkcmVuPER5bmFtaWNDb250ZW50RGlyZWN0aXZlPihcbiAgICBEeW5hbWljQ29udGVudERpcmVjdGl2ZSxcbiAgKTtcblxuICBvdmVycmlkZSByZWZyZXNoUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2VDb21wb25lbnRSZWYuc2V0SW5wdXQoJ2xpc3RPcHRpb25zJywgdGhpcy5saXN0T3B0aW9ucygpKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucGFnZVNlcnZpY2UuY2hlY2tQZXJtaXNzaW9ucygpO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKTtcblxuICAgIGxldCBuZXdGaWx0ZXIgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmxpc3Q/LnJlc2V0UXVlcnkgPT09ICdiZWZvcmVJbml0Jykge1xuICAgICAgbmV3RmlsdGVyID0ge1xuICAgICAgICBxdWVyeTogdGhpcy5jb25maWcuYmFzZVF1ZXJ5ID8gWy4uLnRoaXMuY29uZmlnLmJhc2VRdWVyeV0gOiBbXSxcbiAgICAgICAgcGFnaW5hdGlvbk1vZGU6IHRoaXMuY29uZmlnLmxpc3QhLnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5jb25maWcucGFnaW5hdGlvblxuICAgICAgICAgID8gdGhpcy5jb25maWcucGFnaW5hdGlvbi5saW1pdFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyAwIDogdW5kZWZpbmVkLFxuICAgICAgICBzb3J0Qnk6IHRoaXMuY29uZmlnLnNvcnRcbiAgICAgICAgICA/ICh0aGlzLmNvbmZpZy5zb3J0IGFzIGFueSlbJ2RlZmF1bHQnXVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5jb25maWcuc29ydFxuICAgICAgICAgID8gKHRoaXMuY29uZmlnLnNvcnQgYXMgYW55KVsnZGVmYXVsdERlc2MnXVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyKCkpIHtcbiAgICAgIG5ld0ZpbHRlciA9IHRoaXMuZmlsdGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0ZpbHRlciA9IHtcbiAgICAgICAgcGFnaW5hdGlvbk1vZGU6IHRoaXMuY29uZmlnLmxpc3QhLnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8ubGltaXRcbiAgICAgICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIubGltaXRcbiAgICAgICAgICA6IHRoaXMuY29uZmlnLnBhZ2luYXRpb25cbiAgICAgICAgICAgID8gdGhpcy5jb25maWcucGFnaW5hdGlvbi5saW1pdFxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG9mZnNldDpcbiAgICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5vZmZzZXQgfHxcbiAgICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5vZmZzZXQgPT09IDBcbiAgICAgICAgICAgID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlci5vZmZzZXRcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcucGFnaW5hdGlvblxuICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHNvcnRCeTogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8uc29ydEJ5XG4gICAgICAgICAgPyB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLnNvcnRCeVxuICAgICAgICAgIDogdGhpcy5jb25maWcuc29ydFxuICAgICAgICAgICAgPyAodGhpcy5jb25maWcuc29ydCBhcyBhbnkpWydkZWZhdWx0J11cbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8uc29ydERlc2NcbiAgICAgICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIuc29ydERlc2NcbiAgICAgICAgICA6IHRoaXMuY29uZmlnLnNvcnRcbiAgICAgICAgICAgID8gKHRoaXMuY29uZmlnLnNvcnQgYXMgYW55KVsnZGVmYXVsdERlc2MnXVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHF1ZXJ5OiB0aGlzLmNvbmZpZy5iYXNlUXVlcnkgPyBbLi4udGhpcy5jb25maWcuYmFzZVF1ZXJ5XSA6IFtdLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmZhY2FkZS5yZWFkKG5ld0ZpbHRlcik7XG5cbiAgICBjb25zdCBlbmRCdXR0b25zID0gdGhpcy5nZXRFbmRCdXR0b25zKCk7XG5cbiAgICB0aGlzLnBhZ2VPcHRpb25zLnNldCh7XG4gICAgICB0aXRsZTogdGhpcy5jb25maWcudGl0bGUgfHwgJycsXG4gICAgICBzZWFyY2g6IHRoaXMuY29uZmlnLnNlYXJjaFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHRleHQ6IGNvbXB1dGVkKCgpID0+IHRoaXMuZmlsdGVyKCk/LnNlYXJjaFRleHQgPz8gJycpLFxuICAgICAgICAgICAgc2V0OiAodHh0KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eHQgIT09IHRoaXMuZmlsdGVyKCk/LnNlYXJjaFRleHQpXG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmZpbHRlcigpLFxuICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogdHh0LFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZW5kQnV0dG9uczogZW5kQnV0dG9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBpbGVkQ29tcG9uZW50cyA9XG4gICAgICBhd2FpdCB0aGlzLmR5bmFtaWNDb21wb25lbnRMb2FkZXIuZ2V0Q29tcG9uZW50c1dpdGhGYWN0b3JpZXMoe1xuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuZGV0YWlscyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMuY29tcG9uZW50cz8udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzLmNvbXBvbmVudHMudG9wXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuZGV0YWlscyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMuY29tcG9uZW50cz8uYm90dG9tXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzLmNvbXBvbmVudHMuYm90dG9tXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcubGlzdCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcubGlzdCAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3QuY29tcG9uZW50cz8udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5saXN0LmNvbXBvbmVudHMudG9wXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgIHRoaXMubGlzdE9wdGlvbnMuc2V0KHtcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIGdldERhdGE6IChmaWx0ZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWwgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcigpLFxuICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5mYWNhZGUucmVhZChnbG9iYWwpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNoYW5nZU11bHRpU2VsZWN0ZWQ6IGFzeW5jIChsaXN0KSA9PiB7XG4gICAgICAgICAgaWYgKGxpc3QubGVuZ3RoICYmICF0aGlzLm1lbnVTZXJ2aWNlLm9wZW5lZEVuZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5vcGVuRW5kKHtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFsaXN0Lmxlbmd0aCAmJiB0aGlzLm1lbnVTZXJ2aWNlLm9wZW5lZEVuZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5jbG9zZUVuZCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0KGxpc3QpO1xuICAgICAgICB9LFxuICAgICAgICBsaXN0OiBjb21wdXRlZCgoKSA9PiB0aGlzLmZhY2FkZS5saXN0KCkgfHwgW10pLFxuICAgICAgICBsb2FkaW5nOiB0aGlzLmZhY2FkZS5sb2FkaW5nLFxuICAgICAgICBvbkNsZWFuTXVsdGlTZWxlY3RlZCQ6IHRoaXMuX2NsZWFuTXVsdGlTZWxlY3RlZCQsXG4gICAgICB9LFxuICAgICAgY2VsbFBpcGU6IHRoaXMuY29uZmlnLmxpc3QgPyB0aGlzLmNvbmZpZy5saXN0LmNlbGxQaXBlIDogdW5kZWZpbmVkLFxuICAgICAgbW9kZTogdGhpcy5jb25maWcubGlzdD8ubW9kZSxcbiAgICAgIHR5cGU6IHRoaXMuY29uZmlnLnR5cGUsXG4gICAgICBkZXRhaWxzOiB0aGlzLmNvbmZpZy5kZXRhaWxzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgZ2V0RGF0YTogKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUuc2VsZWN0KGlkKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY2xlYXJEYXRhOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUudW5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXRlbTogdGhpcy5mYWNhZGUuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuZmFjYWRlLmxvYWRpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yaWVzOiB7XG4gICAgICAgICAgICAgIHRvcDpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuY29uZmlnLmRldGFpbHMgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMnIGluIHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzLmNvbXBvbmVudHM/LnRvcFxuICAgICAgICAgICAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAoY2MpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5jb21wb25lbnQgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpLmNvbXBvbmVudHMudG9wLFxuICAgICAgICAgICAgICAgICAgICApPy5mYWN0b3J5XG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuZGV0YWlscyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMuY29tcG9uZW50cz8uYm90dG9tXG4gICAgICAgICAgICAgICAgICA/IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIChjYykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmNvbXBvbmVudCA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSkuY29tcG9uZW50cy5ib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICk/LmZhY3RvcnlcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaXRlbTpcbiAgICAgICAgISF0aGlzLmNvbmZpZy5lZGl0IHx8IHRoaXMuY29uZmlnLmRldGFpbHNcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHJvdXRpbmdQcmVmaXg6ICcvJyArIHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCArICcvJyxcbiAgICAgICAgICAgICAgICBlZGl0OiAhIXRoaXMuY29uZmlnLmVkaXQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZW1vdmU6IHRoaXMuY29uZmlnLnJlbW92ZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgICAgICAgIGludm9rZTogKGlkKSA9PiB0aGlzLmZhY2FkZS5kZWxldGUoaWQpLFxuICAgICAgICAgICAgICBjaGVjazogKGl0ZW06IFQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9ucz8ucmVtb3ZlPy5lbmFibGVkXG4gICAgICAgICAgICAgICAgICA/IFNwZWNpZmljYXRpb25TZXJ2aWNlLnZhbGlkKGl0ZW0sIG9wdGlvbnM/LnJlbW92ZT8uZW5hYmxlZClcbiAgICAgICAgICAgICAgICAgIDogdHJ1ZTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHBhZ2luYXRpb246IGF3YWl0IHRoaXMucGFnaW5hdGlvbkZhY2FkZS5jcmVhdGUoe1xuICAgICAgICBtb2RlOiB0aGlzLmNvbmZpZy5saXN0IS5wYWdpbmF0aW9uTW9kZSxcbiAgICAgICAgbGltaXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24hLmxpbWl0LFxuICAgICAgICBwcm92aWRlcjoge1xuICAgICAgICAgIGdldEZpbHRlcjogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKCkgfHwgKHt9IGFzIElDcnVkRmlsdGVyKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldExpbmtzOiAoKSA9PiB0aGlzLmxpbmtzKCksXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHNvcnQ6IHRoaXMuY29uZmlnLnNvcnQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMuaW5pdENsb3NlTWVudSgpO1xuICAgIHRoaXMuaW5pdFRvcENvbXBvbmVudChjb21waWxlZENvbXBvbmVudHMpO1xuXG4gICAgdGhpcy5yZWZyZXNoRHluYW1pY0luc3RhbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDbG9zZU1lbnUoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5jbGVhcigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjbGVhcigpIHtcbiAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG5cbiAgICB0aGlzLmxpc3RPcHRpb25zLnVwZGF0ZSgodmFsKSA9PiAoe1xuICAgICAgLi4uKHZhbCBhcyBJTGlzdE9wdGlvbnM8VD4pLFxuICAgICAgc2VsZWN0OiB1bmRlZmluZWQsXG4gICAgfSkpO1xuXG4gICAgdGhpcy5mYWNhZGUubXVsdGlTZWxlY3QoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbmRCdXR0b25zKCk6IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IGZpZWxkc1dpdGhPcHRpb25zID0gZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyhuZXcgdGhpcy5jb25maWcudHlwZSgpKTtcbiAgICBjb25zdCBtb2RlbE9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModGhpcy5jb25maWcudHlwZSk7XG5cbiAgICBjb25zdCBzaG93RmlsdGVycyA9XG4gICAgICBmaWVsZHNXaXRoT3B0aW9ucy5zb21lKFxuICAgICAgICAoeCkgPT4gKHgub3B0aW9ucz8ubGlzdCBhcyBJRmllbGRMaXN0TWV0YWRhdGEpPy5maWx0ZXIsXG4gICAgICApIHx8IG1vZGVsT3B0aW9ucz8uZmlsdGVycz8ubGVuZ3RoO1xuXG4gICAgY29uc3Qgc2hvd011bHRpRWRpdCA9XG4gICAgICB0aGlzLmNvbmZpZy5saXN0Py5jb21wb25lbnRzPy5tdWx0aSB8fFxuICAgICAgKHRoaXMuY29uZmlnLmVkaXQgJiZcbiAgICAgICAgZmllbGRzV2l0aE9wdGlvbnMuc29tZShcbiAgICAgICAgICAoeCkgPT4gKHgub3B0aW9ucz8udXBkYXRlIGFzIElGaWVsZEVkaXRNZXRhZGF0YSk/Lm11bHRpLFxuICAgICAgICApICYmXG4gICAgICAgICF0aGlzLmhhcmR3YXJlU2VydmljZS5pc01vYmlsZSAmJlxuICAgICAgICAoIXRoaXMuY29uZmlnPy5saXN0Py5tb2RlIHx8XG4gICAgICAgICAgdGhpcy5jb25maWc/Lmxpc3Q/Lm1vZGUgPT09IExpc3RNb2RlLmRlc2t0b3ApKTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oc2hvd011bHRpRWRpdFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ2NoZWNrYm94LW91dGxpbmUnLFxuICAgICAgICAgICAgICB0ZXh0OiAnbXVsdGknLFxuICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUubXVsdGlTZWxlY3QoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFuTXVsdGlTZWxlY3RlZCQubmV4dCgpO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxpc3RPcHRpb25zLnVwZGF0ZSgodmFsKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi4odmFsIGFzIElMaXN0T3B0aW9uczxUPiksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdDogdmFsPy5zZWxlY3QgPT09ICdtdWx0aScgPyB1bmRlZmluZWQgOiAnbXVsdGknLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubWVudVNlcnZpY2Uub3BlbmVkRW5kKVxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLihzaG93RmlsdGVyc1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ2ZpbHRlci1vdXRsaW5lJyxcbiAgICAgICAgICAgICAgdGV4dDogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICBoYW5kbGVyOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5vcGVuRW5kKHtcbiAgICAgICAgICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBGaWx0ZXJzQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29uZmlnLmFkZFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ2FkZCcsXG4gICAgICAgICAgICAgIHRleHQ6ICdhZGQnLFxuICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgICAgICAgICAgICAgJy8nICsgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsICsgJy9hZGQnLFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29uZmlnLmV4cG9ydFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogJ2V4cG9ydCcsXG4gICAgICAgICAgICAgIGljb246ICdkb3dubG9hZC1vdXRsaW5lJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3BvcG92ZXInIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IEV4cG9ydENvbXBvbmVudCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLih0aGlzLmNvbmZpZy5idXR0b25zID8gdGhpcy5jb25maWcuYnV0dG9ucyA6IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0VG9wQ29tcG9uZW50KFxuICAgIGNvbXBpbGVkQ29tcG9uZW50czoge1xuICAgICAgY29tcG9uZW50OiBhbnk7XG4gICAgICBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT47XG4gICAgfVtdLFxuICApIHtcbiAgICBjb25zdCBmYWN0b3J5ID1cbiAgICAgIHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy5saXN0ID09PSAnb2JqZWN0JyAmJlxuICAgICAgJ2NvbXBvbmVudHMnIGluIHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgIHRoaXMuY29uZmlnLmxpc3QuY29tcG9uZW50cz8udG9wXG4gICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAoY2MpID0+IGNjLmNvbXBvbmVudCA9PT0gKHRoaXMuY29uZmlnLmxpc3QgYXMgYW55KS5jb21wb25lbnRzLnRvcCxcbiAgICAgICAgICApPy5mYWN0b3J5XG4gICAgICAgIDogbnVsbDtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGZhY3RvcnkgJiYgIXRoaXMudG9wVHBsKCk/LmdldCgwKSkge1xuICAgICAgICB0aGlzLnRvcFRwbCgpPy5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgrxStoreService, SharedModule } from '@smartsoft001/angular';\nimport { getReducer, CrudFacade } from './+state';\nimport { CrudEffects } from './+state/crud.effects';\nimport { CrudComponentsModule } from './components';\nimport { CrudConfig } from './crud.config';\nimport { CrudListPaginationFactory } from './factories/list-pagination/list-pagination.factory';\nimport { ListComponent } from './pages';\nimport { ItemComponent } from './pages';\nimport { ListStandardComponent } from './pages';\nimport { ItemStandardComponent } from './pages';\nimport { CrudPipesModule } from './pipes';\nimport { CrudService } from './services/crud/crud.service';\nimport { CrudListGroupService } from './services/list-group/list-group.service';\nimport { PageService } from './services/page/page.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./crud.config\";\nimport * as i2 from \"./+state/crud.effects\";\nimport * as i3 from \"@angular/router\";\nexport const PAGES = [\n ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent,\n];\nexport class CrudFullModule {\n constructor(config, effects) {\n NgrxStoreService.addReducer(config.entity, config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity));\n effects.init();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, deps: [{ token: i1.CrudConfig }, { token: i2.CrudEffects }], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, imports: [ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent, SharedModule,\n CrudPipesModule, i3.RouterModule, FormsModule,\n CommonModule,\n CrudComponentsModule], exports: [ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent, CrudComponentsModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, providers: [\n CrudService,\n CrudListGroupService,\n PageService,\n CrudFacade,\n CrudEffects,\n CrudListPaginationFactory,\n ], imports: [PAGES, SharedModule,\n CrudPipesModule,\n RouterModule.forChild([\n { path: '', component: ListComponent },\n { path: 'add', component: ItemComponent },\n { path: ':id', component: ItemComponent },\n ]),\n FormsModule,\n CommonModule,\n CrudComponentsModule, CrudComponentsModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n ...PAGES,\n SharedModule,\n CrudPipesModule,\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: [...PAGES, CrudComponentsModule],\n providers: [\n CrudService,\n CrudListGroupService,\n PageService,\n CrudFacade,\n CrudEffects,\n CrudListPaginationFactory,\n ],\n }]\n }], ctorParameters: () => [{ type: i1.CrudConfig }, { type: i2.CrudEffects }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NydWQtZnVsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFFM0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLGFBQWE7SUFDYixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLHFCQUFxQjtDQUN0QixDQUFDO0FBMEJGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQVksTUFBcUIsRUFBRSxPQUF5QjtRQUMxRCxnQkFBZ0IsQ0FBQyxVQUFVLENBQ3pCLE1BQU0sQ0FBQyxNQUFNLEVBQ2IsTUFBTSxDQUFDLGNBQWM7WUFDbkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7WUFDekIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQzlCLENBQUM7UUFDRixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQzt1R0FUVSxjQUFjO3dHQUFkLGNBQWMsWUE5QnpCLGFBQWE7WUFDYixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLHFCQUFxQixFQU1uQixZQUFZO1lBQ1osZUFBZSxtQkFNZixXQUFXO1lBQ1gsWUFBWTtZQUNaLG9CQUFvQixhQWxCdEIsYUFBYTtZQUNiLGFBQWE7WUFDYixxQkFBcUI7WUFDckIscUJBQXFCLEVBaUJELG9CQUFvQjt3R0FVN0IsY0FBYyxhQVRkO1lBQ1QsV0FBVztZQUNYLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsVUFBVTtZQUNWLFdBQVc7WUFDWCx5QkFBeUI7U0FDMUIsWUFwQkksS0FBSyxFQUNSLFlBQVk7WUFDWixlQUFlO1lBQ2YsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDcEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7Z0JBQ3RDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO2dCQUN6QyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTthQUMxQyxDQUFDO1lBQ0YsV0FBVztZQUNYLFlBQVk7WUFDWixvQkFBb0IsRUFFRixvQkFBb0I7OzJGQVU3QixjQUFjO2tCQXhCMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxLQUFLO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTs0QkFDdEMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7NEJBQ3pDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO3lCQUMxQyxDQUFDO3dCQUNGLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLG9CQUFvQixDQUFDO29CQUN6QyxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixXQUFXO3dCQUNYLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTmdyeFN0b3JlU2VydmljZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgZ2V0UmVkdWNlciwgQ3J1ZEZhY2FkZSB9IGZyb20gJy4vK3N0YXRlJztcbmltcG9ydCB7IENydWRFZmZlY3RzIH0gZnJvbSAnLi8rc3RhdGUvY3J1ZC5lZmZlY3RzJztcbmltcG9ydCB7IENydWRDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENydWRDb25maWcgfSBmcm9tICcuL2NydWQuY29uZmlnJztcbmltcG9ydCB7IENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnkgfSBmcm9tICcuL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMnO1xuaW1wb3J0IHsgSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMnO1xuaW1wb3J0IHsgTGlzdFN0YW5kYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcyc7XG5pbXBvcnQgeyBJdGVtU3RhbmRhcmRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzJztcbmltcG9ydCB7IENydWRQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IENydWRMaXN0R3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9saXN0LWdyb3VwL2xpc3QtZ3JvdXAuc2VydmljZSc7XG5pbXBvcnQgeyBQYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGFnZS9wYWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgUEFHRVMgPSBbXG4gIEl0ZW1Db21wb25lbnQsXG4gIExpc3RDb21wb25lbnQsXG4gIExpc3RTdGFuZGFyZENvbXBvbmVudCxcbiAgSXRlbVN0YW5kYXJkQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC4uLlBBR0VTLFxuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBDcnVkUGlwZXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKFtcbiAgICAgIHsgcGF0aDogJycsIGNvbXBvbmVudDogTGlzdENvbXBvbmVudCB9LFxuICAgICAgeyBwYXRoOiAnYWRkJywgY29tcG9uZW50OiBJdGVtQ29tcG9uZW50IH0sXG4gICAgICB7IHBhdGg6ICc6aWQnLCBjb21wb25lbnQ6IEl0ZW1Db21wb25lbnQgfSxcbiAgICBdKSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ3J1ZENvbXBvbmVudHNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5QQUdFUywgQ3J1ZENvbXBvbmVudHNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDcnVkU2VydmljZSxcbiAgICBDcnVkTGlzdEdyb3VwU2VydmljZSxcbiAgICBQYWdlU2VydmljZSxcbiAgICBDcnVkRmFjYWRlLFxuICAgIENydWRFZmZlY3RzLFxuICAgIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENydWRGdWxsTW9kdWxlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBDcnVkQ29uZmlnPFQ+LCBlZmZlY3RzOiBDcnVkRWZmZWN0czxhbnk+KSB7XG4gICAgTmdyeFN0b3JlU2VydmljZS5hZGRSZWR1Y2VyKFxuICAgICAgY29uZmlnLmVudGl0eSxcbiAgICAgIGNvbmZpZy5yZWR1Y2VyRmFjdG9yeVxuICAgICAgICA/IGNvbmZpZy5yZWR1Y2VyRmFjdG9yeSgpXG4gICAgICAgIDogZ2V0UmVkdWNlcihjb25maWcuZW50aXR5KSxcbiAgICApO1xuICAgIGVmZmVjdHMuaW5pdCgpO1xuICB9XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FILE_SERVICE_CONFIG, NgrxStoreService, SharedModule, } from '@smartsoft001/angular';\nimport { getReducer } from './+state';\nimport { CrudEffects } from './+state/crud.effects';\nimport { CrudFacade } from './+state/crud.facade';\nimport { CrudComponentsModule } from './components';\nimport { CrudFullModule } from './crud-full.module';\nimport { CrudConfig, CrudFullConfig } from './crud.config';\nimport { CrudListPaginationFactory } from './factories/list-pagination/list-pagination.factory';\nimport { CrudPipesModule } from './pipes';\nimport { CrudService } from './services/crud/crud.service';\nimport { CrudListGroupService } from './services/list-group/list-group.service';\nimport { PageService } from './services/page/page.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./crud.config\";\nimport * as i2 from \"./+state/crud.effects\";\nexport class CrudCoreModule {\n constructor(config, effects) {\n NgrxStoreService.addReducer(config.entity, config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity));\n effects.init();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, deps: [{ token: i1.CrudConfig }, { token: i2.CrudEffects }], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, imports: [SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule], exports: [CrudComponentsModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, providers: [\n CrudService,\n CrudListGroupService,\n CrudEffects,\n PageService,\n CrudFacade,\n CrudListPaginationFactory,\n ], imports: [SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule, CrudComponentsModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule,\n ],\n exports: [CrudComponentsModule],\n providers: [\n CrudService,\n CrudListGroupService,\n CrudEffects,\n PageService,\n CrudFacade,\n CrudListPaginationFactory,\n ],\n }]\n }], ctorParameters: () => [{ type: i1.CrudConfig }, { type: i2.CrudEffects }] });\nexport class CrudModule {\n static forFeature(options) {\n return {\n ngModule: options.routing ? CrudFullModule : CrudCoreModule,\n providers: [\n { provide: CrudConfig, useValue: options.config },\n { provide: CrudFullConfig, useValue: options.config },\n {\n provide: FILE_SERVICE_CONFIG,\n useValue: { apiUrl: options.config.apiUrl },\n },\n ],\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jcnVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLHVCQUF1QixDQUFDO0FBRy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQW9CM0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBWSxNQUFxQixFQUFFLE9BQXlCO1FBQzFELGdCQUFnQixDQUFDLFVBQVUsQ0FDekIsTUFBTSxDQUFDLE1BQU0sRUFDYixNQUFNLENBQUMsY0FBYztZQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtZQUN6QixDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FDOUIsQ0FBQztRQUNGLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO3VHQVRVLGNBQWM7d0dBQWQsY0FBYyxZQWhCdkIsWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtZQUNaLG9CQUFvQixhQUVaLG9CQUFvQjt3R0FVbkIsY0FBYyxhQVRkO1lBQ1QsV0FBVztZQUNYLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsV0FBVztZQUNYLFVBQVU7WUFDVix5QkFBeUI7U0FDMUIsWUFkQyxZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxZQUFZO1lBQ1osb0JBQW9CLEVBRVosb0JBQW9COzsyRkFVbkIsY0FBYztrQkFsQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVix5QkFBeUI7cUJBQzFCO2lCQUNGOztBQWNELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQ2YsT0FFc0M7UUFFdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWM7WUFDM0QsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDakQsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNyRDtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQXdCO2lCQUNsRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBakJVLFVBQVU7d0dBQVYsVUFBVTt3R0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBGSUxFX1NFUlZJQ0VfQ09ORklHLFxuICBJRmlsZVNlcnZpY2VDb25maWcsXG4gIE5ncnhTdG9yZVNlcnZpY2UsXG4gIFNoYXJlZE1vZHVsZSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgZ2V0UmVkdWNlciB9IGZyb20gJy4vK3N0YXRlJztcbmltcG9ydCB7IENydWRFZmZlY3RzIH0gZnJvbSAnLi8rc3RhdGUvY3J1ZC5lZmZlY3RzJztcbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQgeyBDcnVkQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDcnVkRnVsbE1vZHVsZSB9IGZyb20gJy4vY3J1ZC1mdWxsLm1vZHVsZSc7XG5pbXBvcnQgeyBDcnVkQ29uZmlnLCBDcnVkRnVsbENvbmZpZyB9IGZyb20gJy4vY3J1ZC5jb25maWcnO1xuaW1wb3J0IHsgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yaWVzL2xpc3QtcGFnaW5hdGlvbi9saXN0LXBhZ2luYXRpb24uZmFjdG9yeSc7XG5pbXBvcnQgeyBDcnVkUGlwZXNNb2R1bGUgfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jcnVkL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBDcnVkTGlzdEdyb3VwU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbGlzdC1ncm91cC9saXN0LWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BhZ2UvcGFnZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBDcnVkUGlwZXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENydWRDb21wb25lbnRzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQ3J1ZENvbXBvbmVudHNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDcnVkU2VydmljZSxcbiAgICBDcnVkTGlzdEdyb3VwU2VydmljZSxcbiAgICBDcnVkRWZmZWN0cyxcbiAgICBQYWdlU2VydmljZSxcbiAgICBDcnVkRmFjYWRlLFxuICAgIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENydWRDb3JlTW9kdWxlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBDcnVkQ29uZmlnPFQ+LCBlZmZlY3RzOiBDcnVkRWZmZWN0czxhbnk+KSB7XG4gICAgTmdyeFN0b3JlU2VydmljZS5hZGRSZWR1Y2VyKFxuICAgICAgY29uZmlnLmVudGl0eSxcbiAgICAgIGNvbmZpZy5yZWR1Y2VyRmFjdG9yeVxuICAgICAgICA/IGNvbmZpZy5yZWR1Y2VyRmFjdG9yeSgpXG4gICAgICAgIDogZ2V0UmVkdWNlcihjb25maWcuZW50aXR5KSxcbiAgICApO1xuICAgIGVmZmVjdHMuaW5pdCgpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBDcnVkTW9kdWxlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgc3RhdGljIGZvckZlYXR1cmU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gICAgb3B0aW9uczpcbiAgICAgIHwgSUNydWRNb2R1bGVPcHRpb25zV2l0aFJvdXRuZzxUPlxuICAgICAgfCBJQ3J1ZE1vZHVsZU9wdGlvbnNXaXRob3V0Um91dG5nPFQ+LFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENydWRNb2R1bGU8YW55Pj4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogb3B0aW9ucy5yb3V0aW5nID8gQ3J1ZEZ1bGxNb2R1bGUgOiBDcnVkQ29yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IENydWRDb25maWcsIHVzZVZhbHVlOiBvcHRpb25zLmNvbmZpZyB9LFxuICAgICAgICB7IHByb3ZpZGU6IENydWRGdWxsQ29uZmlnLCB1c2VWYWx1ZTogb3B0aW9ucy5jb25maWcgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEZJTEVfU0VSVklDRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgYXBpVXJsOiBvcHRpb25zLmNvbmZpZy5hcGlVcmwgfSBhcyBJRmlsZVNlcnZpY2VDb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3J1ZE1vZHVsZU9wdGlvbnNXaXRoUm91dG5nPFQ+IHtcbiAgY29uZmlnOiBDcnVkRnVsbENvbmZpZzxUPjtcbiAgc29ja2V0PzogYm9vbGVhbjtcbiAgcm91dGluZzogdHJ1ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3J1ZE1vZHVsZU9wdGlvbnNXaXRob3V0Um91dG5nPFQ+IHtcbiAgY29uZmlnOiBDcnVkQ29uZmlnPFQ+O1xuICBzb2NrZXQ/OiBib29sZWFuO1xuICByb3V0aW5nOiBmYWxzZTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvc21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["select","CrudSelectors.getCrudLoaded","CrudSelectors.getCrudSelected","CrudSelectors.getCrudMultiSelected","CrudSelectors.getCrudList","CrudSelectors.getCrudFilter","CrudSelectors.getCrudTotalCount","CrudSelectors.getCrudLinks","CrudSelectors.getCrudError","CrudActions.create","CrudActions.createMany","CrudActions.read","CrudActions.clear","CrudActions.select","CrudActions.unselect","CrudActions.multiSelect","CrudActions.update","CrudActions.exportList","CrudActions.updatePartial","CrudActions.updatePartialMany","CrudActions.deleteItem","i2.CrudConfig","BaseComponent","ListComponent","CrudActions.createSuccess","CrudActions.createFailure","CrudActions.createManySuccess","CrudActions.createManyFailure","CrudActions.readSuccess","CrudActions.readFailure","CrudActions.exportListSuccess","CrudActions.exportListFailure","CrudActions.selectSuccess","CrudActions.selectFailure","CrudActions.updateSuccess","CrudActions.updateFailure","CrudActions.updatePartialSuccess","CrudActions.updatePartialFailure","CrudActions.updatePartialManySuccess","CrudActions.updatePartialManyFailure","CrudActions.deleteSuccess","CrudActions.deleteFailure","i2.CrudService","i3.CrudConfig","i1.CrudConfig","i2.CrudEffects"],"mappings":"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"}
1
+ {"version":3,"file":"smartsoft001-crud-shell-angular.mjs","sources":["../tmp-esm2022/lib/crud.config.js","../tmp-esm2022/lib/+state/crud.actions.js","../tmp-esm2022/lib/+state/crud.selectors.js","../tmp-esm2022/lib/+state/crud.facade.js","../tmp-esm2022/lib/components/export/export.component.js","../tmp-esm2022/lib/components/filter/base/base.component.js","../tmp-esm2022/lib/components/filter/check/check.component.js","../tmp-esm2022/lib/components/filter/date/date.component.js","../tmp-esm2022/lib/components/filter/date-time/date-time.component.js","../tmp-esm2022/lib/components/filter/date-with-edit/date-with-edit.component.js","../tmp-esm2022/lib/components/filter/flag/flag.component.js","../tmp-esm2022/lib/components/filter/int/int.component.js","../tmp-esm2022/lib/components/filter/radio/radio.component.js","../tmp-esm2022/lib/components/filter/text/text.component.js","../tmp-esm2022/lib/components/filter/filter.component.js","../tmp-esm2022/lib/components/filters/filters.component.js","../tmp-esm2022/lib/components/filters-config/filters-config.component.js","../tmp-esm2022/lib/providers/model-possibilities/model-possibilities.provider.js","../tmp-esm2022/lib/pipes/form-options/form-options.pipe.js","../tmp-esm2022/lib/pipes/pipes.module.js","../tmp-esm2022/lib/components/multiselect/multiselect.component.js","../tmp-esm2022/lib/services/list-group/list-group.service.js","../tmp-esm2022/lib/components/group/group.component.js","../tmp-esm2022/lib/factories/list-pagination/list-pagination.factory.js","../tmp-esm2022/lib/services/crud/crud.service.js","../tmp-esm2022/lib/components/components.module.js","../tmp-esm2022/lib/+state/crud.reducer.js","../tmp-esm2022/lib/+state/crud.effects.js","../tmp-esm2022/lib/pages/item/base/base.component.js","../tmp-esm2022/lib/pages/item/standard/standard.component.js","../tmp-esm2022/lib/services/page/page.service.js","../tmp-esm2022/lib/pages/item/item.component.js","../tmp-esm2022/lib/pages/list/base/base.component.js","../tmp-esm2022/lib/pages/list/standard/standard.component.js","../tmp-esm2022/lib/services/search/search.service.js","../tmp-esm2022/lib/pages/list/list.component.js","../tmp-esm2022/lib/crud-full.module.js","../tmp-esm2022/lib/crud.module.js","../tmp-esm2022/smartsoft001-crud-shell-angular.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class CrudConfig {\n apiUrl;\n entity;\n type;\n reducerFactory;\n baseQuery;\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudConfig });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudConfig, decorators: [{\n type: Injectable\n }] });\nexport class CrudFullConfig extends CrudConfig {\n title;\n details;\n edit;\n add;\n remove;\n search;\n export;\n pagination;\n sort;\n list;\n buttons;\n inputComponents;\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullConfig });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullConfig, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jcnVkLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDOztBQWFqRCxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQVU7SUFDaEIsTUFBTSxDQUFVO0lBQ2hCLElBQUksQ0FBTztJQUNYLGNBQWMsQ0FBYTtJQUMzQixTQUFTLENBQStCO3VHQUw3QixVQUFVOzJHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVU7O0FBVVgsTUFBTSxPQUFPLGNBQWtCLFNBQVEsVUFBYTtJQUNsRCxLQUFLLENBQVU7SUFDZixPQUFPLENBUUQ7SUFDTixJQUFJLENBUUU7SUFDTixHQUFHLENBT0c7SUFDTixNQUFNLENBQVc7SUFDakIsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sQ0FBVztJQUNqQixVQUFVLENBRVI7SUFDRixJQUFJLENBS0U7SUFDTixJQUFJLENBVUY7SUFDRixPQUFPLENBQTZCO0lBQ3BDLGVBQWUsQ0FFYjt1R0F0RFMsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBJSWNvbkJ1dHRvbk9wdGlvbnMsXG4gIElDZWxsUGlwZSxcbiAgSW5wdXRCYXNlQ29tcG9uZW50LFxuICBMaXN0TW9kZSxcbiAgUGFnaW5hdGlvbk1vZGUsXG59IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbmltcG9ydCB7IElDcnVkRmlsdGVyUXVlcnlJdGVtLCBJQ3J1ZExpc3RHcm91cCB9IGZyb20gJy4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRDb25maWc8VD4ge1xuICBhcGlVcmwhOiBzdHJpbmc7XG4gIGVudGl0eSE6IHN0cmluZztcbiAgdHlwZT86IGFueTtcbiAgcmVkdWNlckZhY3Rvcnk/OiAoKSA9PiBhbnk7XG4gIGJhc2VRdWVyeT86IEFycmF5PElDcnVkRmlsdGVyUXVlcnlJdGVtPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRGdWxsQ29uZmlnPFQ+IGV4dGVuZHMgQ3J1ZENvbmZpZzxUPiB7XG4gIHRpdGxlITogc3RyaW5nO1xuICBkZXRhaWxzPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgY2VsbFBpcGU/OiBJQ2VsbFBpcGU8VD47XG4gICAgICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICAgICAgdG9wPzogYW55O1xuICAgICAgICAgIGJvdHRvbT86IGFueTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gIGVkaXQ/OlxuICAgIHwgYm9vbGVhblxuICAgIHwge1xuICAgICAgICBjZWxsUGlwZT86IElDZWxsUGlwZTxUPjtcbiAgICAgICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgICB0b3A/OiBhbnk7XG4gICAgICAgICAgYm90dG9tPzogYW55O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgYWRkPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgICB0b3A/OiBhbnk7XG4gICAgICAgICAgYm90dG9tPzogYW55O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgcmVtb3ZlPzogYm9vbGVhbjtcbiAgc2VhcmNoPzogYm9vbGVhbjtcbiAgZXhwb3J0PzogYm9vbGVhbjtcbiAgcGFnaW5hdGlvbj86IHtcbiAgICBsaW1pdDogbnVtYmVyO1xuICB9O1xuICBzb3J0PzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgZGVmYXVsdD86IHN0cmluZztcbiAgICAgICAgZGVmYXVsdERlc2M/OiBib29sZWFuO1xuICAgICAgfTtcbiAgbGlzdD86IHtcbiAgICBjZWxsUGlwZT86IElDZWxsUGlwZTxUPjtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgdG9wPzogYW55O1xuICAgICAgbXVsdGk/OiBhbnk7XG4gICAgfTtcbiAgICBtb2RlPzogTGlzdE1vZGU7XG4gICAgcGFnaW5hdGlvbk1vZGU/OiBQYWdpbmF0aW9uTW9kZTtcbiAgICByZXNldFF1ZXJ5PzogJ2JlZm9yZUluaXQnO1xuICAgIGdyb3Vwcz86IEFycmF5PElDcnVkTGlzdEdyb3VwPjtcbiAgfTtcbiAgYnV0dG9ucz86IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz47XG4gIGlucHV0Q29tcG9uZW50cz86IHtcbiAgICBba2V5OiBzdHJpbmddOiBUeXBlPElucHV0QmFzZUNvbXBvbmVudDxUPj47XG4gIH07XG59XG4iXX0=","/*\n * Create\n */\nexport const create = function (entity, item) {\n return {\n type: `[${entity}] Create`,\n item,\n };\n};\nexport const createSuccess = function (entity, item) {\n return {\n type: `[${entity}] Create Success`,\n item,\n };\n};\nexport const createFailure = function (entity, item, error) {\n return {\n type: `[${entity}] Create Failure`,\n item,\n error,\n };\n};\n/*\n * Create many\n */\nexport const createMany = function (entity, data) {\n return {\n type: `[${entity}] Create Many`,\n data,\n };\n};\nexport const createManySuccess = function (entity, data) {\n return {\n type: `[${entity}] Create Many Success`,\n data,\n };\n};\nexport const createManyFailure = function (entity, data, error) {\n return {\n type: `[${entity}] Create Many Failure`,\n data,\n error,\n };\n};\n/*\n * Read\n */\nexport const read = function (entity, filter) {\n return {\n type: `[${entity}] Read`,\n filter: filter,\n };\n};\nexport const readSuccess = function (entity, filter, result) {\n return {\n type: `[${entity}] Read Success`,\n result,\n filter,\n };\n};\nexport const readFailure = function (entity, filter, error) {\n return {\n type: `[${entity}] Read Failure`,\n filter,\n error,\n };\n};\n/*\n * Clear\n */\nexport const clear = function (entity) {\n return {\n type: `[${entity}] Clear`,\n };\n};\n/*\n * Export\n */\nexport const exportList = function (entity, filter = null, format) {\n return {\n type: `[${entity}] Export`,\n filter: filter,\n format,\n };\n};\nexport const exportListSuccess = function (entity, filter) {\n return {\n type: `[${entity}] Export Success`,\n filter,\n };\n};\nexport const exportListFailure = function (entity, filter, error) {\n return {\n type: `[${entity}] Export Failure`,\n filter,\n error,\n };\n};\n/*\n * Select\n */\nexport const select = function (entity, id) {\n return {\n type: `[${entity}] Select`,\n id,\n };\n};\nexport const selectSuccess = function (entity, id, item) {\n return {\n type: `[${entity}] Select Success`,\n id,\n item,\n };\n};\nexport const selectFailure = function (entity, id, error) {\n return {\n type: `[${entity}] Select Failure`,\n id,\n error,\n };\n};\nexport const unselect = function (entity) {\n return {\n type: `[${entity}] Unselect`,\n };\n};\n/*\n * MultiSelect\n */\nexport const multiSelect = function (entity, items) {\n return {\n type: `[${entity}] MultiSelect`,\n items,\n };\n};\n/*\n * Update\n */\nexport const update = function (entity, item) {\n return {\n type: `[${entity}] Update`,\n item,\n };\n};\nexport const updateSuccess = function (entity, item) {\n return {\n type: `[${entity}] Update Success`,\n item,\n };\n};\nexport const updateFailure = function (entity, item, error) {\n return {\n type: `[${entity}] Update Failure`,\n item,\n error,\n };\n};\n/*\n * Update partial\n */\nexport const updatePartial = function (entity, item) {\n return {\n type: `[${entity}] Update partial`,\n item,\n };\n};\nexport const updatePartialSuccess = function (entity, item) {\n return {\n type: `[${entity}] Update partial Success`,\n item,\n };\n};\nexport const updatePartialFailure = function (entity, item, error) {\n return {\n type: `[${entity}] Update partial Failure`,\n item,\n error,\n };\n};\n/*\n * Update partial many\n */\nexport const updatePartialMany = function (entity, items) {\n return {\n type: `[${entity}] Update partial many`,\n items,\n };\n};\nexport const updatePartialManySuccess = function (entity, items) {\n return {\n type: `[${entity}] Update partial many Success`,\n items,\n };\n};\nexport const updatePartialManyFailure = function (entity, items, error) {\n return {\n type: `[${entity}] Update partial many Failure`,\n items,\n error,\n };\n};\n/*\n * Delete\n */\nexport const deleteItem = function (entity, id) {\n return {\n type: `[${entity}] Delete`,\n id,\n };\n};\nexport const deleteSuccess = function (entity, id) {\n return {\n type: `[${entity}] Delete Success`,\n id,\n };\n};\nexport const deleteFailure = function (entity, id, error) {\n return {\n type: `[${entity}] Delete Failure`,\n id,\n error,\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvK3N0YXRlL2NydWQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxVQUNwQixNQUFjLEVBQ2QsSUFBTztJQUVQLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxNQUFNLFVBQVU7UUFDMUIsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFDM0IsTUFBYyxFQUNkLElBQU87SUFFUCxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSxrQkFBa0I7UUFDbEMsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFDM0IsTUFBYyxFQUNkLElBQU8sRUFDUCxLQUFVO0lBRVYsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLE1BQU0sa0JBQWtCO1FBQ2xDLElBQUk7UUFDSixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFVBQ3hCLE1BQWMsRUFDZCxJQUFxRDtJQUVyRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSxlQUFlO1FBQy9CLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsVUFDL0IsTUFBYyxFQUNkLElBQXFEO0lBRXJELE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxNQUFNLHVCQUF1QjtRQUN2QyxJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFVBQy9C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QUFpQixHQUFHLFVBQy9CLE1BQWMsRUFDZCxLQUFvQztJQUVwQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSx1QkFBdUI7UUFDdkMsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxVQUN0QyxNQUFjLEVBQ2QsS0FBb0M7SUFFcEMsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLE1BQU0sK0JBQStCO1FBQy9DLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsVUFDdEMsTUFBYyxFQUNkLEtBQW9DLEVBQ3BDLEtBQVU7SUFFVixPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSwrQkFBK0I7UUFDL0MsS0FBSztRQUNMLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsVUFDeEIsTUFBYyxFQUNkLEVBQVU7SUFFVixPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksTUFBTSxVQUFVO1FBQzFCLEVBQUU7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQzNCLE1BQWMsRUFDZCxFQUFVO0lBRVYsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLE1BQU0sa0JBQWtCO1FBQ2xDLEVBQUU7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQzNCLE1BQWMsRUFDZCxFQUFVLEVBQ1YsS0FBVTtJQUVWLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxNQUFNLGtCQUFrQjtRQUNsQyxFQUFFO1FBQ0YsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgSUNydWRDcmVhdGVNYW55T3B0aW9ucywgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG4vKlxuICogQ3JlYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtOiBULFxuKTogQWN0aW9uICYgeyBpdGVtOiBUIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBDcmVhdGVgLFxuICAgIGl0ZW0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU3VjY2VzcyA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFQgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIENyZWF0ZSBTdWNjZXNzYCxcbiAgICBpdGVtLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtOiBULFxuICBlcnJvcjogYW55LFxuKTogQWN0aW9uICYgeyBpdGVtOiBUOyBlcnJvcjogYW55IH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBDcmVhdGUgRmFpbHVyZWAsXG4gICAgaXRlbSxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBDcmVhdGUgbWFueVxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlTWFueSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGRhdGE6IHsgaXRlbXM6IFRbXTsgb3B0aW9uczogSUNydWRDcmVhdGVNYW55T3B0aW9ucyB9LFxuKTogQWN0aW9uICYgeyBkYXRhOiB7IGl0ZW1zOiBUW107IG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMgfSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gQ3JlYXRlIE1hbnlgLFxuICAgIGRhdGEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFueVN1Y2Nlc3MgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBkYXRhOiB7IGl0ZW1zOiBUW107IG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMgfSxcbik6IEFjdGlvbiAmIHsgZGF0YTogeyBpdGVtczogVFtdOyBvcHRpb25zOiBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zIH0gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIENyZWF0ZSBNYW55IFN1Y2Nlc3NgLFxuICAgIGRhdGEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFueUZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBkYXRhOiB7IGl0ZW1zOiBUW107IG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMgfSxcbiAgZXJyb3I6IGFueSxcbik6IEFjdGlvbiAmIHtcbiAgZGF0YTogeyBpdGVtczogVFtdOyBvcHRpb25zOiBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zIH07XG4gIGVycm9yOiBhbnk7XG59IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gQ3JlYXRlIE1hbnkgRmFpbHVyZWAsXG4gICAgZGF0YSxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBSZWFkXG4gKi9cbmV4cG9ydCBjb25zdCByZWFkID0gZnVuY3Rpb24gKFxuICBlbnRpdHk6IHN0cmluZyxcbiAgZmlsdGVyPzogSUNydWRGaWx0ZXIsXG4pOiBBY3Rpb24gJiB7IGZpbHRlcj86IElDcnVkRmlsdGVyIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBSZWFkYCxcbiAgICBmaWx0ZXI6IGZpbHRlcixcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWFkU3VjY2VzcyA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LCBGPihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGZpbHRlcjogRixcbiAgcmVzdWx0OiB7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rczogYW55IH0sXG4pOiBBY3Rpb24gJiB7XG4gIHJlc3VsdDogeyBkYXRhOiBUW107IHRvdGFsQ291bnQ6IG51bWJlcjsgbGlua3M6IGFueSB9O1xuICBmaWx0ZXI6IEY7XG59IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gUmVhZCBTdWNjZXNzYCxcbiAgICByZXN1bHQsXG4gICAgZmlsdGVyLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHJlYWRGYWlsdXJlID0gZnVuY3Rpb24gPEY+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgZmlsdGVyOiBGLFxuICBlcnJvcjogYW55LFxuKTogQWN0aW9uICYgeyBmaWx0ZXI6IEY7IGVycm9yOiBhbnkgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFJlYWQgRmFpbHVyZWAsXG4gICAgZmlsdGVyLFxuICAgIGVycm9yLFxuICB9O1xufTtcblxuLypcbiAqIENsZWFyXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhciA9IGZ1bmN0aW9uIChlbnRpdHk6IHN0cmluZyk6IEFjdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIENsZWFyYCxcbiAgfTtcbn07XG5cbi8qXG4gKiBFeHBvcnRcbiAqL1xuZXhwb3J0IGNvbnN0IGV4cG9ydExpc3QgPSBmdW5jdGlvbiAoXG4gIGVudGl0eTogc3RyaW5nLFxuICBmaWx0ZXI6IElDcnVkRmlsdGVyIHwgbnVsbCA9IG51bGwsXG4gIGZvcm1hdDogYW55LFxuKTogQWN0aW9uICYgeyBmaWx0ZXI6IElDcnVkRmlsdGVyOyBmb3JtYXQ6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gRXhwb3J0YCxcbiAgICBmaWx0ZXI6IGZpbHRlciBhcyBhbnksXG4gICAgZm9ybWF0LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV4cG9ydExpc3RTdWNjZXNzID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sIEY+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgZmlsdGVyOiBGLFxuKTogQWN0aW9uICYgeyBmaWx0ZXI6IEYgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIEV4cG9ydCBTdWNjZXNzYCxcbiAgICBmaWx0ZXIsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXhwb3J0TGlzdEZhaWx1cmUgPSBmdW5jdGlvbiA8Rj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBmaWx0ZXI6IEYsXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGZpbHRlcjogRjsgZXJyb3I6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gRXhwb3J0IEZhaWx1cmVgLFxuICAgIGZpbHRlcixcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBTZWxlY3RcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdCA9IGZ1bmN0aW9uIChcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4pOiBBY3Rpb24gJiB7IGlkOiBzdHJpbmcgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFNlbGVjdGAsXG4gICAgaWQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0U3VjY2VzcyA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LCBGPihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4pOiBBY3Rpb24gJiB7IGlkOiBzdHJpbmc7IGl0ZW06IFQgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFNlbGVjdCBTdWNjZXNzYCxcbiAgICBpZCxcbiAgICBpdGVtLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEZhaWx1cmUgPSBmdW5jdGlvbiA8Rj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICBlcnJvcjogYW55LFxuKTogQWN0aW9uICYgeyBpZDogc3RyaW5nOyBlcnJvcjogYW55IH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBTZWxlY3QgRmFpbHVyZWAsXG4gICAgaWQsXG4gICAgZXJyb3IsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdW5zZWxlY3QgPSBmdW5jdGlvbiAoZW50aXR5OiBzdHJpbmcpOiBBY3Rpb24ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBVbnNlbGVjdGAsXG4gIH07XG59O1xuXG4vKlxuICogTXVsdGlTZWxlY3RcbiAqL1xuZXhwb3J0IGNvbnN0IG11bHRpU2VsZWN0ID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbXM6IEFycmF5PFQ+LFxuKTogQWN0aW9uICYgeyBpdGVtczogQXJyYXk8VD4gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIE11bHRpU2VsZWN0YCxcbiAgICBpdGVtcyxcbiAgfTtcbn07XG5cbi8qXG4gKiBVcGRhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IHVwZGF0ZSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFQgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZWAsXG4gICAgaXRlbSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVTdWNjZXNzID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbTogVCxcbik6IEFjdGlvbiAmIHsgaXRlbTogVCB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIFN1Y2Nlc3NgLFxuICAgIGl0ZW0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRmFpbHVyZSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW06IFQsXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFQ7IGVycm9yOiBhbnkgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZSBGYWlsdXJlYCxcbiAgICBpdGVtLFxuICAgIGVycm9yLFxuICB9O1xufTtcblxuLypcbiAqIFVwZGF0ZSBwYXJ0aWFsXG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbTogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9LFxuKTogQWN0aW9uICYgeyBpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsYCxcbiAgICBpdGVtLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVBhcnRpYWxTdWNjZXNzID0gZnVuY3Rpb24gPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+KFxuICBlbnRpdHk6IHN0cmluZyxcbiAgaXRlbTogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9LFxuKTogQWN0aW9uICYgeyBpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0gfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsIFN1Y2Nlc3NgLFxuICAgIGl0ZW0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUGFydGlhbEZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0sXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGl0ZW06IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfTsgZXJyb3I6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgRmFpbHVyZWAsXG4gICAgaXRlbSxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBVcGRhdGUgcGFydGlhbCBtYW55XG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsTWFueSA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGl0ZW1zOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH1bXSxcbik6IEFjdGlvbiAmIHsgaXRlbXM6IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfVtdIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55YCxcbiAgICBpdGVtcyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsTWFueVN1Y2Nlc3MgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtczogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9W10sXG4pOiBBY3Rpb24gJiB7IGl0ZW1zOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH1bXSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBTdWNjZXNzYCxcbiAgICBpdGVtcyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQYXJ0aWFsTWFueUZhaWx1cmUgPSBmdW5jdGlvbiA8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gIGVudGl0eTogc3RyaW5nLFxuICBpdGVtczogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9W10sXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGl0ZW1zOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH1bXTsgZXJyb3I6IGFueSB9IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBGYWlsdXJlYCxcbiAgICBpdGVtcyxcbiAgICBlcnJvcixcbiAgfTtcbn07XG5cbi8qXG4gKiBEZWxldGVcbiAqL1xuZXhwb3J0IGNvbnN0IGRlbGV0ZUl0ZW0gPSBmdW5jdGlvbiAoXG4gIGVudGl0eTogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuKTogQWN0aW9uICYgeyBpZDogc3RyaW5nIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBEZWxldGVgLFxuICAgIGlkLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVN1Y2Nlc3MgPSBmdW5jdGlvbiAoXG4gIGVudGl0eTogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuKTogQWN0aW9uICYgeyBpZDogc3RyaW5nIH0ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGBbJHtlbnRpdHl9XSBEZWxldGUgU3VjY2Vzc2AsXG4gICAgaWQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRmFpbHVyZSA9IGZ1bmN0aW9uIDxGPihcbiAgZW50aXR5OiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4gIGVycm9yOiBhbnksXG4pOiBBY3Rpb24gJiB7IGlkOiBzdHJpbmc7IGVycm9yOiBhbnkgfSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogYFske2VudGl0eX1dIERlbGV0ZSBGYWlsdXJlYCxcbiAgICBpZCxcbiAgICBlcnJvcixcbiAgfTtcbn07XG4iXX0=","import { createFeatureSelector, createSelector } from '@ngrx/store';\nexport const getCrudState = (entity) => createFeatureSelector(entity);\nexport const getCrudSelected = (entity) => createSelector(getCrudState(entity), (state) => state.selected);\nexport const getCrudMultiSelected = (entity) => createSelector(getCrudState(entity), (state) => state.multiSelected);\nexport const getCrudList = (entity) => createSelector(getCrudState(entity), (state) => state.list);\nexport const getCrudTotalCount = (entity) => createSelector(getCrudState(entity), (state) => state.totalCount);\nexport const getCrudLinks = (entity) => createSelector(getCrudState(entity), (state) => state.links);\nexport const getCrudLoaded = (entity) => createSelector(getCrudState(entity), (state) => state.loaded);\nexport const getCrudFilter = (entity) => createSelector(getCrudState(entity), (state) => state.filter);\nexport const getCrudError = (entity) => createSelector(getCrudState(entity), (state) => state.error);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi8rc3RhdGUvY3J1ZC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM3QyxxQkFBcUIsQ0FBTSxNQUFNLENBQUMsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUNoRCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUNyRCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDNUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDbEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQzdDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM5QyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDOUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQzdDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRDcnVkU3RhdGUgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZUZlYXR1cmVTZWxlY3Rvcjxhbnk+KGVudGl0eSk7XG5cbmV4cG9ydCBjb25zdCBnZXRDcnVkU2VsZWN0ZWQgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGdldENydWRTdGF0ZShlbnRpdHkpLCAoc3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkKTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRNdWx0aVNlbGVjdGVkID0gKGVudGl0eTogc3RyaW5nKSA9PlxuICBjcmVhdGVTZWxlY3RvcihnZXRDcnVkU3RhdGUoZW50aXR5KSwgKHN0YXRlKSA9PiBzdGF0ZS5tdWx0aVNlbGVjdGVkKTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRMaXN0ID0gKGVudGl0eTogc3RyaW5nKSA9PlxuICBjcmVhdGVTZWxlY3RvcihnZXRDcnVkU3RhdGUoZW50aXR5KSwgKHN0YXRlKSA9PiBzdGF0ZS5saXN0KTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRUb3RhbENvdW50ID0gKGVudGl0eTogc3RyaW5nKSA9PlxuICBjcmVhdGVTZWxlY3RvcihnZXRDcnVkU3RhdGUoZW50aXR5KSwgKHN0YXRlKSA9PiBzdGF0ZS50b3RhbENvdW50KTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRMaW5rcyA9IChlbnRpdHk6IHN0cmluZykgPT5cbiAgY3JlYXRlU2VsZWN0b3IoZ2V0Q3J1ZFN0YXRlKGVudGl0eSksIChzdGF0ZSkgPT4gc3RhdGUubGlua3MpO1xuXG5leHBvcnQgY29uc3QgZ2V0Q3J1ZExvYWRlZCA9IChlbnRpdHk6IHN0cmluZykgPT5cbiAgY3JlYXRlU2VsZWN0b3IoZ2V0Q3J1ZFN0YXRlKGVudGl0eSksIChzdGF0ZSkgPT4gc3RhdGUubG9hZGVkKTtcblxuZXhwb3J0IGNvbnN0IGdldENydWRGaWx0ZXIgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGdldENydWRTdGF0ZShlbnRpdHkpLCAoc3RhdGUpID0+IHN0YXRlLmZpbHRlcik7XG5cbmV4cG9ydCBjb25zdCBnZXRDcnVkRXJyb3IgPSAoZW50aXR5OiBzdHJpbmcpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGdldENydWRTdGF0ZShlbnRpdHkpLCAoc3RhdGUpID0+IHN0YXRlLmVycm9yKTtcbiJdfQ==","import { Injectable } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { select, Store } from '@ngrx/store';\nimport { map } from 'rxjs/operators';\nimport { NgrxStoreService } from '@smartsoft001/angular';\nimport { CrudConfig } from '../crud.config';\nimport * as CrudActions from './crud.actions';\nimport * as CrudSelectors from './crud.selectors';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngrx/store\";\nimport * as i2 from \"../crud.config\";\nexport class CrudFacade {\n store;\n config;\n loaded;\n loading;\n selected;\n multiSelected;\n list;\n filter;\n totalCount;\n links;\n error;\n constructor(store, config) {\n this.store = store;\n this.config = config;\n if (NgrxStoreService.store) {\n this.store = NgrxStoreService.store;\n }\n // Initialize all signals in the constructor (injection context)\n this.loaded = toSignal(this.store.pipe(select(CrudSelectors.getCrudLoaded(this.config.entity))));\n this.loading = toSignal(this.store.pipe(select(CrudSelectors.getCrudLoaded(this.config.entity)), map((l) => !l)));\n this.selected = toSignal(this.store.pipe(select(CrudSelectors.getCrudSelected(this.config.entity))));\n this.multiSelected = toSignal(this.store.pipe(select(CrudSelectors.getCrudMultiSelected(this.config.entity))));\n this.list = toSignal(this.store.pipe(select(CrudSelectors.getCrudList(this.config.entity))));\n this.filter = toSignal(this.store.pipe(select(CrudSelectors.getCrudFilter(this.config.entity))));\n this.totalCount = toSignal(this.store.pipe(select(CrudSelectors.getCrudTotalCount(this.config.entity))));\n this.links = toSignal(this.store.pipe(select(CrudSelectors.getCrudLinks(this.config.entity))));\n this.error = toSignal(this.store.pipe(select(CrudSelectors.getCrudError(this.config.entity))));\n }\n create(item) {\n this.store.dispatch(CrudActions.create(this.config.entity, item));\n }\n createMany(items, options) {\n this.store.dispatch(CrudActions.createMany(this.config.entity, { items, options }));\n }\n read(filter = {}) {\n let baseQuery = [];\n if (this.config.baseQuery) {\n baseQuery = this.config.baseQuery;\n }\n const fullFilter = {\n ...(filter ? filter : {}),\n query: filter && filter.query ? filter.query : baseQuery,\n };\n this.store.dispatch(CrudActions.read(this.config.entity, fullFilter));\n }\n clear() {\n this.store.dispatch(CrudActions.clear(this.config.entity));\n }\n select(id) {\n this.store.dispatch(CrudActions.select(this.config.entity, id));\n }\n unselect() {\n this.store.dispatch(CrudActions.unselect(this.config.entity));\n }\n multiSelect(items) {\n this.store.dispatch(CrudActions.multiSelect(this.config.entity, items));\n }\n update(item) {\n this.getStore().dispatch(CrudActions.update(this.config.entity, item));\n }\n export(filter = {}, format) {\n this.getStore().dispatch(CrudActions.exportList(this.config.entity, filter, format));\n }\n updatePartial(item) {\n this.getStore().dispatch(CrudActions.updatePartial(this.config.entity, item));\n }\n updatePartialMany(items) {\n this.getStore().dispatch(CrudActions.updatePartialMany(this.config.entity, items));\n }\n delete(id) {\n this.getStore().dispatch(CrudActions.deleteItem(this.config.entity, id));\n }\n getStore() {\n if (NgrxStoreService.store)\n return NgrxStoreService.store;\n return this.store;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFacade, deps: [{ token: i1.Store }, { token: i2.CrudConfig }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFacade });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFacade, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.Store }, { type: i2.CrudConfig }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi8rc3RhdGUvY3J1ZC5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFRbEQsTUFBTSxPQUFPLFVBQVU7SUFZRjtJQUNUO0lBWkQsTUFBTSxDQUE4QjtJQUNwQyxPQUFPLENBQWtCO0lBQ3pCLFFBQVEsQ0FBd0I7SUFDaEMsYUFBYSxDQUEwQjtJQUN2QyxJQUFJLENBQTBCO0lBQzlCLE1BQU0sQ0FBa0M7SUFDeEMsVUFBVSxDQUE2QjtJQUN2QyxLQUFLLENBQWM7SUFDbkIsS0FBSyxDQUFjO0lBRTVCLFlBQ21CLEtBQWlCLEVBQzFCLE1BQXFCO1FBRFosVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBRTdCLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDdEMsQ0FBQztRQUVELGdFQUFnRTtRQUNoRSxJQUFJLENB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aWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdyeFN0b3JlU2VydmljZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRDb25maWcgfSBmcm9tICcuLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgKiBhcyBDcnVkQWN0aW9ucyBmcm9tICcuL2NydWQuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBDcnVkU2VsZWN0b3JzIGZyb20gJy4vY3J1ZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHtcbiAgSUNydWRDcmVhdGVNYW55T3B0aW9ucyxcbiAgSUNydWRGaWx0ZXIsXG4gIElDcnVkRmlsdGVyUXVlcnlJdGVtLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZEZhY2FkZTxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiB7XG4gIHJlYWRvbmx5IGxvYWRlZDogU2lnbmFsPGJvb2xlYW4gfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBsb2FkaW5nOiBTaWduYWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IHNlbGVjdGVkOiBTaWduYWw8VCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0ZWQ6IFNpZ25hbDxUW10gfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBsaXN0OiBTaWduYWw8VFtdIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZmlsdGVyOiBTaWduYWw8SUNydWRGaWx0ZXIgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSB0b3RhbENvdW50OiBTaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgbGlua3M6IFNpZ25hbDxhbnk+O1xuICByZWFkb25seSBlcnJvcjogU2lnbmFsPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIGNvbmZpZzogQ3J1ZENvbmZpZzxUPixcbiAgKSB7XG4gICAgaWYgKE5ncnhTdG9yZVNlcnZpY2Uuc3RvcmUpIHtcbiAgICAgIHRoaXMuc3RvcmUgPSBOZ3J4U3RvcmVTZXJ2aWNlLnN0b3JlO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgYWxsIHNpZ25hbHMgaW4gdGhlIGNvbnN0cnVjdG9yIChpbmplY3Rpb24gY29udGV4dClcbiAgICB0aGlzLmxvYWRlZCA9IHRvU2lnbmFsPGJvb2xlYW4+KFxuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChDcnVkU2VsZWN0b3JzLmdldENydWRMb2FkZWQodGhpcy5jb25maWcuZW50aXR5KSkpLFxuICAgICk7XG5cbiAgICB0aGlzLmxvYWRpbmcgPSB0b1NpZ25hbDxib29sZWFuPihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZExvYWRlZCh0aGlzLmNvbmZpZy5lbnRpdHkpKSxcbiAgICAgICAgbWFwKChsKSA9PiAhbCksXG4gICAgICApLFxuICAgICkgYXMgU2lnbmFsPGJvb2xlYW4+O1xuXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRvU2lnbmFsPFQ+KFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkU2VsZWN0ZWQodGhpcy5jb25maWcuZW50aXR5KSksXG4gICAgICApLFxuICAgICk7XG5cbiAgICB0aGlzLm11bHRpU2VsZWN0ZWQgPSB0b1NpZ25hbDxUW10+KFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkTXVsdGlTZWxlY3RlZCh0aGlzLmNvbmZpZy5lbnRpdHkpKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMubGlzdCA9IHRvU2lnbmFsPFRbXT4oXG4gICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZExpc3QodGhpcy5jb25maWcuZW50aXR5KSkpLFxuICAgICk7XG5cbiAgICB0aGlzLmZpbHRlciA9IHRvU2lnbmFsPElDcnVkRmlsdGVyPihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkRmlsdGVyKHRoaXMuY29uZmlnLmVudGl0eSkpKSxcbiAgICApO1xuXG4gICAgdGhpcy50b3RhbENvdW50ID0gdG9TaWduYWw8bnVtYmVyPihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZFRvdGFsQ291bnQodGhpcy5jb25maWcuZW50aXR5KSksXG4gICAgICApLFxuICAgICk7XG5cbiAgICB0aGlzLmxpbmtzID0gdG9TaWduYWw8YW55PihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkTGlua3ModGhpcy5jb25maWcuZW50aXR5KSkpLFxuICAgICk7XG5cbiAgICB0aGlzLmVycm9yID0gdG9TaWduYWw8YW55PihcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkRXJyb3IodGhpcy5jb25maWcuZW50aXR5KSkpLFxuICAgICk7XG4gIH1cblxuICBjcmVhdGUoaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMuY3JlYXRlKHRoaXMuY29uZmlnLmVudGl0eSwgaXRlbSkpO1xuICB9XG5cbiAgY3JlYXRlTWFueShpdGVtczogQXJyYXk8VD4sIG9wdGlvbnM6IElDcnVkQ3JlYXRlTWFueU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQ3J1ZEFjdGlvbnMuY3JlYXRlTWFueSh0aGlzLmNvbmZpZy5lbnRpdHksIHsgaXRlbXMsIG9wdGlvbnMgfSksXG4gICAgKTtcbiAgfVxuXG4gIHJlYWQoZmlsdGVyOiBJQ3J1ZEZpbHRlciA9IHt9KTogdm9pZCB7XG4gICAgbGV0IGJhc2VRdWVyeTogSUNydWRGaWx0ZXJRdWVyeUl0ZW1bXSA9IFtdO1xuICAgIGlmICh0aGlzLmNvbmZpZy5iYXNlUXVlcnkpIHtcbiAgICAgIGJhc2VRdWVyeSA9IHRoaXMuY29uZmlnLmJhc2VRdWVyeTtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsRmlsdGVyID0ge1xuICAgICAgLi4uKGZpbHRlciA/IGZpbHRlciA6IHt9KSxcbiAgICAgIHF1ZXJ5OiBmaWx0ZXIgJiYgZmlsdGVyLnF1ZXJ5ID8gZmlsdGVyLnF1ZXJ5IDogYmFzZVF1ZXJ5LFxuICAgIH07XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCBmdWxsRmlsdGVyKSk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLmNsZWFyKHRoaXMuY29uZmlnLmVudGl0eSkpO1xuICB9XG5cbiAgc2VsZWN0KGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnNlbGVjdCh0aGlzLmNvbmZpZy5lbnRpdHksIGlkKSk7XG4gIH1cblxuICB1bnNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnVuc2VsZWN0KHRoaXMuY29uZmlnLmVudGl0eSkpO1xuICB9XG5cbiAgbXVsdGlTZWxlY3QoaXRlbXM6IEFycmF5PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDcnVkQWN0aW9ucy5tdWx0aVNlbGVjdCh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW1zKSk7XG4gIH1cblxuICB1cGRhdGUoaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3RvcmUoKS5kaXNwYXRjaChDcnVkQWN0aW9ucy51cGRhdGUodGhpcy5jb25maWcuZW50aXR5LCBpdGVtKSk7XG4gIH1cblxuICBleHBvcnQoZmlsdGVyOiBJQ3J1ZEZpbHRlciA9IHt9LCBmb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goXG4gICAgICBDcnVkQWN0aW9ucy5leHBvcnRMaXN0KHRoaXMuY29uZmlnLmVudGl0eSwgZmlsdGVyLCBmb3JtYXQpLFxuICAgICk7XG4gIH1cblxuICB1cGRhdGVQYXJ0aWFsKGl0ZW06IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3RvcmUoKS5kaXNwYXRjaChcbiAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWwodGhpcy5jb25maWcuZW50aXR5LCBpdGVtKSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUGFydGlhbE1hbnkoaXRlbXM6IChQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0pW10pIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goXG4gICAgICBDcnVkQWN0aW9ucy51cGRhdGVQYXJ0aWFsTWFueSh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW1zKSxcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMuZGVsZXRlSXRlbSh0aGlzLmNvbmZpZy5lbnRpdHksIGlkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFN0b3JlKCk6IFN0b3JlIHtcbiAgICBpZiAoTmdyeFN0b3JlU2VydmljZS5zdG9yZSkgcmV0dXJuIE5ncnhTdG9yZVNlcnZpY2Uuc3RvcmU7XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yZTtcbiAgfVxufVxuIl19","import { Component, ElementRef, inject } from '@angular/core';\nimport { BaseComponent, ButtonComponent, PopoverService, StyleService, } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class ExportComponent extends BaseComponent {\n facade = inject((CrudFacade));\n popoverService = inject(PopoverService);\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n buttonExportCsvOptions = this.initButtonExportOptions('csv');\n buttonExportXlsxOptions = this.initButtonExportOptions('xlsx');\n ngOnInit() {\n this.styleService.init(this.elementRef);\n }\n initButtonExportOptions(format) {\n return {\n click: () => {\n this.facade.export({\n ...this.facade.filter(),\n offset: undefined,\n limit: undefined,\n }, format);\n const loading = this.facade.loading();\n if (loading)\n return;\n this.popoverService.close().then();\n },\n loading: this.facade.loading,\n expand: 'block',\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ExportComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.0\", type: ExportComponent, isStandalone: true, selector: \"smart-crud-export\", usesInheritance: true, ngImport: i0, template: `\n <div class=\"p-5\">\n <p class=\"my-2.5 mx-0\">\n <smart-button [options]=\"buttonExportCsvOptions\" class=\"w-full block\"\n >CSV</smart-button\n >\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\" class=\"w-full block\"\n >XLSX</smart-button\n >\n </p>\n </div>\n `, isInline: true, dependencies: [{ kind: \"component\", type: ButtonComponent, selector: \"smart-button\", inputs: [\"options\", \"disabled\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ExportComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-export',\n template: `\n <div class=\"p-5\">\n <p class=\"my-2.5 mx-0\">\n <smart-button [options]=\"buttonExportCsvOptions\" class=\"w-full block\"\n >CSV</smart-button\n >\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\" class=\"w-full block\"\n >XLSX</smart-button\n >\n </p>\n </div>\n `,\n imports: [ButtonComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXhwb3J0L2V4cG9ydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUVmLGNBQWMsRUFDZCxZQUFZLEdBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBb0J0RCxNQUFNLE9BQU8sZUFDWCxTQUFRLGFBQWE7SUFHYixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4QyxzQkFBc0IsR0FBbUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLHVCQUF1QixHQUNyQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdkMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBYztRQUM1QyxPQUFPO1lBQ0wsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDaEI7b0JBQ0UsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtvQkFDdkIsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLEtBQUssRUFBRSxTQUFTO2lCQUNqQixFQUNELE1BQU0sQ0FDUCxDQUFDO2dCQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksT0FBTztvQkFBRSxPQUFPO2dCQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JDLENBQUM7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzVCLE1BQU0sRUFBRSxPQUFPO1NBQ2hCLENBQUM7SUFDSixDQUFDO3VHQXBDVSxlQUFlOzJGQUFmLGVBQWUsb0dBaEJoQjs7Ozs7Ozs7Ozs7OztHQWFULDREQUNTLGVBQWU7OzJGQUVkLGVBQWU7a0JBbEIzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJhc2VDb21wb25lbnQsXG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgSUJ1dHRvbk9wdGlvbnMsXG4gIFBvcG92ZXJTZXJ2aWNlLFxuICBTdHlsZVNlcnZpY2UsXG59IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWV4cG9ydCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInAtNVwiPlxuICAgICAgPHAgY2xhc3M9XCJteS0yLjUgbXgtMFwiPlxuICAgICAgICA8c21hcnQtYnV0dG9uIFtvcHRpb25zXT1cImJ1dHRvbkV4cG9ydENzdk9wdGlvbnNcIiBjbGFzcz1cInctZnVsbCBibG9ja1wiXG4gICAgICAgICAgPkNTVjwvc21hcnQtYnV0dG9uXG4gICAgICAgID5cbiAgICAgIDwvcD5cbiAgICAgIDxwPlxuICAgICAgICA8c21hcnQtYnV0dG9uIFtvcHRpb25zXT1cImJ1dHRvbkV4cG9ydFhsc3hPcHRpb25zXCIgY2xhc3M9XCJ3LWZ1bGwgYmxvY2tcIlxuICAgICAgICAgID5YTFNYPC9zbWFydC1idXR0b25cbiAgICAgICAgPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICBgLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0Q29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+XG4gIGV4dGVuZHMgQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBwcml2YXRlIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHJpdmF0ZSBwb3BvdmVyU2VydmljZSA9IGluamVjdChQb3BvdmVyU2VydmljZSk7XG4gIHByaXZhdGUgc3R5bGVTZXJ2aWNlID0gaW5qZWN0KFN0eWxlU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBidXR0b25FeHBvcnRDc3ZPcHRpb25zOiBJQnV0dG9uT3B0aW9ucyA9IHRoaXMuaW5pdEJ1dHRvbkV4cG9ydE9wdGlvbnMoJ2NzdicpO1xuICBidXR0b25FeHBvcnRYbHN4T3B0aW9uczogSUJ1dHRvbk9wdGlvbnMgPVxuICAgIHRoaXMuaW5pdEJ1dHRvbkV4cG9ydE9wdGlvbnMoJ3hsc3gnKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG4gIH1cblxuICBwcml2YXRlIGluaXRCdXR0b25FeHBvcnRPcHRpb25zKGZvcm1hdDogc3RyaW5nKTogSUJ1dHRvbk9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjbGljazogKCkgPT4ge1xuICAgICAgICB0aGlzLmZhY2FkZS5leHBvcnQoXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4udGhpcy5mYWNhZGUuZmlsdGVyKCksXG4gICAgICAgICAgICBvZmZzZXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGxpbWl0OiB1bmRlZmluZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbG9hZGluZyA9IHRoaXMuZmFjYWRlLmxvYWRpbmcoKTtcbiAgICAgICAgaWYgKGxvYWRpbmcpIHJldHVybjtcbiAgICAgICAgdGhpcy5wb3BvdmVyU2VydmljZS5jbG9zZSgpLnRoZW4oKTtcbiAgICAgIH0sXG4gICAgICBsb2FkaW5nOiB0aGlzLmZhY2FkZS5sb2FkaW5nLFxuICAgICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { __decorate, __metadata } from \"tslib\";\nimport { Directive, inject, input, } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Debounce } from 'lodash-decorators';\nimport { FieldType } from '@smartsoft001/models';\nimport { CrudFacade } from '../../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class BaseComponent {\n facade = inject((CrudFacade));\n translateService = inject(TranslateService);\n possibilities;\n item = input(...(ngDevMode ? [undefined, { debugName: \"item\" }] : []));\n filter = input(...(ngDevMode ? [undefined, { debugName: \"filter\" }] : []));\n get value() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return null;\n if (this.isArrayType()) {\n return filter.query\n .filter((q) => q.key === item.key && q.type === item.type)\n .map((q) => q.value);\n }\n const query = filter.query.find((q) => q.key === item.key && q.type === item.type);\n return query?.value;\n }\n set value(val) {\n this.refresh(val);\n }\n get minValue() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return null;\n if (this.isArrayType()) {\n return filter.query\n .filter((q) => q.key === item.key && q.type === '>=')\n .map((q) => q.value);\n }\n const query = filter.query.find((q) => q.key === item.key && q.type === '>=');\n return query?.value;\n }\n set minValue(val) {\n this.refresh(val, '>=');\n }\n get maxValue() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return null;\n if (this.isArrayType()) {\n return filter.query\n .filter((q) => q.key === item.key && q.type === '<=')\n .map((q) => q.value);\n }\n const query = filter.query.find((q) => q.key === item.key && q.type === '<=');\n return query?.value;\n }\n set maxValue(val) {\n this.refresh(val, '<=');\n }\n get lang() {\n return this.translateService.currentLang;\n }\n refresh(val, type = null) {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item)\n return;\n if (!type)\n type = item.type;\n if (!filter.query)\n filter.query = [];\n filter.offset = 0;\n if (this.isArrayType()) {\n this.refreshForArray(val, type);\n return;\n }\n let query = filter.query.find((q) => q.key === item.key && q.type === type);\n if (val === null || val === undefined || val === '') {\n if (query) {\n const index = filter.query.indexOf(query);\n if (index > -1) {\n filter.query.splice(index, 1);\n }\n }\n this.facade.read(filter);\n return;\n }\n if (!query) {\n query = {\n key: item.key,\n type: type,\n value: null,\n };\n filter.query.push(query);\n }\n query.value = val;\n query.label = item.label;\n this.facade.read(filter);\n }\n clear() {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item || !filter.query)\n return;\n filter.query = filter.query.filter((q) => q.key !== item.key);\n filter.offset = 0;\n this.facade.read(filter);\n }\n ngOnInit() {\n this.initPossibilities();\n }\n initPossibilities() {\n const item = this.item();\n if (item?.possibilities) {\n this.possibilities = item.possibilities;\n }\n }\n isArrayType() {\n const item = this.item();\n return item?.fieldType === FieldType.check;\n }\n refreshForArray(vals, type) {\n const filter = this.filter();\n const item = this.item();\n if (!filter || !item)\n return;\n if (!filter.query)\n filter.query = [];\n const queries = filter.query.filter((q) => q.key === item.key && q.type === type);\n queries.forEach((query) => {\n const index = filter.query.indexOf(query);\n if (index > -1) {\n filter.query.splice(index, 1);\n }\n });\n if (vals === null || vals === undefined || !vals.length) {\n this.facade.read(filter);\n return;\n }\n vals.forEach((val) => {\n const query = {\n key: item.key,\n type: type,\n value: val,\n };\n filter.query.push(query);\n });\n this.facade.read(filter);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.0\", type: BaseComponent, isStandalone: true, inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: \"filter\", publicName: \"filter\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\n__decorate([\n Debounce(500),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", void 0)\n], BaseComponent.prototype, \"refresh\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: BaseComponent, decorators: [{\n type: Directive\n }], propDecorators: { refresh: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9iYXNlL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUl6RCxNQUFNLE9BQU8sYUFBYTtJQUNkLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUFhLENBQUEsQ0FBQyxDQUFDO0lBQy9CLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXRELGFBQWEsQ0FBdUM7SUFFM0MsSUFBSSxHQUEwQyxLQUFLLDBEQUFnQixDQUFDO0lBQ3BFLE1BQU0sR0FBeUMsS0FBSyw0REFBZSxDQUFDO0lBRTdFLElBQUksS0FBSztRQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN2QixPQUFPLE1BQU0sQ0FBQyxLQUFLO2lCQUNoQixN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QUMsQ0FBQztZQUMzQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQixNQUFNLEtBQUssR0FBRztnQkFDWixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLElBQTRDO2dCQUNsRCxLQUFLLEVBQUUsR0FBRzthQUNYLENBQUM7WUFFRixNQUFNLENBQUMsS0FBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7dUdBdkxVLGFBQWE7MkZBQWIsYUFBYTs7QUE2RXhCO0lBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7Ozs0Q0E4Q2I7MkZBMUhVLGFBQWE7a0JBRHpCLFNBQVM7OEJBOEVSLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1kZWNvcmF0b3JzJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBJTW9kZWxGaWx0ZXIgfSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgcG9zc2liaWxpdGllcyE6IFNpZ25hbDx7IGlkOiBhbnk7IHRleHQ6IHN0cmluZyB9W10+O1xuXG4gIHJlYWRvbmx5IGl0ZW06IElucHV0U2lnbmFsPElNb2RlbEZpbHRlciB8IHVuZGVmaW5lZD4gPSBpbnB1dDxJTW9kZWxGaWx0ZXI+KCk7XG4gIHJlYWRvbmx5IGZpbHRlcjogSW5wdXRTaWduYWw8SUNydWRGaWx0ZXIgfCB1bmRlZmluZWQ+ID0gaW5wdXQ8SUNydWRGaWx0ZXI+KCk7XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0gfHwgIWZpbHRlci5xdWVyeSkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICByZXR1cm4gZmlsdGVyLnF1ZXJ5XG4gICAgICAgIC5maWx0ZXIoKHEpID0+IHEua2V5ID09PSBpdGVtLmtleSAmJiBxLnR5cGUgPT09IGl0ZW0udHlwZSlcbiAgICAgICAgLm1hcCgocSkgPT4gcS52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBmaWx0ZXIucXVlcnkuZmluZChcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSBpdGVtLnR5cGUsXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnk/LnZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbDogYW55KSB7XG4gICAgdGhpcy5yZWZyZXNoKHZhbCk7XG4gIH1cblxuICBnZXQgbWluVmFsdWUoKTogYW55IHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZpbHRlcigpO1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW0oKTtcbiAgICBpZiAoIWZpbHRlciB8fCAhaXRlbSB8fCAhZmlsdGVyLnF1ZXJ5KSByZXR1cm4gbnVsbDtcblxuICAgIGlmICh0aGlzLmlzQXJyYXlUeXBlKCkpIHtcbiAgICAgIHJldHVybiBmaWx0ZXIucXVlcnlcbiAgICAgICAgLmZpbHRlcigocSkgPT4gcS5rZXkgPT09IGl0ZW0ua2V5ICYmIHEudHlwZSA9PT0gJz49JylcbiAgICAgICAgLm1hcCgocSkgPT4gcS52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBmaWx0ZXIucXVlcnkuZmluZChcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSAnPj0nLFxuICAgICk7XG4gICAgcmV0dXJuIHF1ZXJ5Py52YWx1ZTtcbiAgfVxuXG4gIHNldCBtaW5WYWx1ZSh2YWw6IGFueSkge1xuICAgIHRoaXMucmVmcmVzaCh2YWwsICc+PScpO1xuICB9XG5cbiAgZ2V0IG1heFZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0gfHwgIWZpbHRlci5xdWVyeSkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAodGhpcy5pc0FycmF5VHlwZSgpKSB7XG4gICAgICByZXR1cm4gZmlsdGVyLnF1ZXJ5XG4gICAgICAgIC5maWx0ZXIoKHEpID0+IHEua2V5ID09PSBpdGVtLmtleSAmJiBxLnR5cGUgPT09ICc8PScpXG4gICAgICAgIC5tYXAoKHEpID0+IHEudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gZmlsdGVyLnF1ZXJ5LmZpbmQoXG4gICAgICAocSkgPT4gcS5rZXkgPT09IGl0ZW0ua2V5ICYmIHEudHlwZSA9PT0gJzw9JyxcbiAgICApO1xuICAgIHJldHVybiBxdWVyeT8udmFsdWU7XG4gIH1cblxuICBzZXQgbWF4VmFsdWUodmFsOiBhbnkpIHtcbiAgICB0aGlzLnJlZnJlc2godmFsLCAnPD0nKTtcbiAgfVxuXG4gIGdldCBsYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcbiAgfVxuXG4gIEBEZWJvdW5jZSg1MDApXG4gIHJlZnJlc2godmFsOiBhbnksIHR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0pIHJldHVybjtcblxuICAgIGlmICghdHlwZSkgdHlwZSA9IGl0ZW0udHlwZTtcbiAgICBpZiAoIWZpbHRlci5xdWVyeSkgZmlsdGVyLnF1ZXJ5ID0gW107XG5cbiAgICBmaWx0ZXIub2Zmc2V0ID0gMDtcblxuICAgIGlmICh0aGlzLmlzQXJyYXlUeXBlKCkpIHtcbiAgICAgIHRoaXMucmVmcmVzaEZvckFycmF5KHZhbCBhcyBbXSwgdHlwZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHF1ZXJ5ID0gZmlsdGVyLnF1ZXJ5IS5maW5kKFxuICAgICAgKHEpID0+IHEua2V5ID09PSBpdGVtLmtleSAmJiBxLnR5cGUgPT09IHR5cGUsXG4gICAgKTtcblxuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgfHwgdmFsID09PSAnJykge1xuICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVyLnF1ZXJ5IS5pbmRleE9mKHF1ZXJ5KTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXIucXVlcnkhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5mYWNhZGUucmVhZChmaWx0ZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICB0eXBlOiB0eXBlIGFzICc9JyB8ICchPScgfCAnPj0nIHwgJzw9JyB8ICc8JyB8ICc+JyxcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9O1xuXG4gICAgICBmaWx0ZXIucXVlcnkhLnB1c2gocXVlcnkpO1xuICAgIH1cblxuICAgIHF1ZXJ5LnZhbHVlID0gdmFsO1xuICAgIHF1ZXJ5LmxhYmVsID0gaXRlbS5sYWJlbDtcblxuICAgIHRoaXMuZmFjYWRlLnJlYWQoZmlsdGVyKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyKCk7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbSgpO1xuICAgIGlmICghZmlsdGVyIHx8ICFpdGVtIHx8ICFmaWx0ZXIucXVlcnkpIHJldHVybjtcblxuICAgIGZpbHRlci5xdWVyeSA9IGZpbHRlci5xdWVyeS5maWx0ZXIoKHEpID0+IHEua2V5ICE9PSBpdGVtLmtleSk7XG4gICAgZmlsdGVyLm9mZnNldCA9IDA7XG4gICAgdGhpcy5mYWNhZGUucmVhZChmaWx0ZXIpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0UG9zc2liaWxpdGllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UG9zc2liaWxpdGllcygpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKGl0ZW0/LnBvc3NpYmlsaXRpZXMpIHtcbiAgICAgIHRoaXMucG9zc2liaWxpdGllcyA9IGl0ZW0ucG9zc2liaWxpdGllcztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQXJyYXlUeXBlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW0oKTtcbiAgICByZXR1cm4gaXRlbT8uZmllbGRUeXBlID09PSBGaWVsZFR5cGUuY2hlY2s7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hGb3JBcnJheSh2YWxzOiBbXSwgdHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgaWYgKCFmaWx0ZXIgfHwgIWl0ZW0pIHJldHVybjtcbiAgICBpZiAoIWZpbHRlci5xdWVyeSkgZmlsdGVyLnF1ZXJ5ID0gW107XG5cbiAgICBjb25zdCBxdWVyaWVzID0gZmlsdGVyLnF1ZXJ5LmZpbHRlcihcbiAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSB0eXBlLFxuICAgICk7XG5cbiAgICBxdWVyaWVzLmZvckVhY2goKHF1ZXJ5KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlci5xdWVyeSEuaW5kZXhPZihxdWVyeSk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBmaWx0ZXIucXVlcnkhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodmFscyA9PT0gbnVsbCB8fCB2YWxzID09PSB1bmRlZmluZWQgfHwgIXZhbHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZhY2FkZS5yZWFkKGZpbHRlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFscy5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICB0eXBlOiB0eXBlIGFzICc9JyB8ICchPScgfCAnPj0nIHwgJzw9JyB8ICc8JyB8ICc+JyxcbiAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgIH07XG5cbiAgICAgIGZpbHRlci5xdWVyeSEucHVzaChxdWVyeSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5yZWFkKGZpbHRlcik7XG4gIH1cbn1cbiJdfQ==","import { Component, computed } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterCheckComponent extends BaseComponent {\n list;\n ngAfterContentInit() {\n this.list = computed(() => {\n const possibilities = this.possibilities();\n return possibilities.map((pos) => ({\n value: pos,\n isCheck: this.value.some((r) => r === pos.id),\n }));\n }, ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n }\n onCheckChange(checked, entry) {\n if (checked && !this.value.some((r) => r === entry.value.id)) {\n this.value = [...this.value, entry.value.id];\n }\n if (!checked && this.value.some((r) => r === entry.value.id)) {\n this.value = this.value.filter((r) => r !== entry.value.id);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterCheckComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterCheckComponent, isStandalone: true, selector: \"smart-crud-filter-check\", usesInheritance: true, ngImport: i0, template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-item-divider class=\"text-xl font-light\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value?.length) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh([])\"-->\n <!-- class=\"square-button m-0 p-0 text-lg h-9 w-9\"-->\n <!-- >-->\n <!-- <ion-icon class=\"text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (entry of list(); track entry) {\n <!-- <ion-item>-->\n <!--<ion-label>-->{{ entry.value.text | translate\n }}<!--</ion-label>-->\n <!-- <ion-checkbox-->\n <!-- slot=\"end\"-->\n <!-- [checked]=\"entry.isCheck\"-->\n <!-- (ionChange)=\"onCheckChange($event.detail.checked, entry)\"-->\n <!-- ></ion-checkbox>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%;margin-bottom:1.2rem}\\n\"], dependencies: [{ kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterCheckComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-check', template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-item-divider class=\"text-xl font-light\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value?.length) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh([])\"-->\n <!-- class=\"square-button m-0 p-0 text-lg h-9 w-9\"-->\n <!-- >-->\n <!-- <ion-icon class=\"text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (entry of list(); track entry) {\n <!-- <ion-item>-->\n <!--<ion-label>-->{{ entry.value.text | translate\n }}<!--</ion-label>-->\n <!-- <ion-checkbox-->\n <!-- slot=\"end\"-->\n <!-- [checked]=\"entry.isCheck\"-->\n <!-- (ionChange)=\"onCheckChange($event.detail.checked, entry)\"-->\n <!-- ></ion-checkbox>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, imports: [TranslatePipe], styles: [\":host{width:100%;margin-bottom:1.2rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvY2hlY2svY2hlY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXlDdkQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsYUFBZ0I7SUFHeEIsSUFBSSxDQUE4QztJQUVsRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLEtBQUssRUFBRSxHQUFHO2dCQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7YUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLGdEQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWdCLEVBQUUsS0FBdUM7UUFDckUsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7dUdBeEJVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDBHQXJDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCw2R0FDUyxhQUFhOzsyRkFHWixvQkFBb0I7a0JBdkNoQyxTQUFTOytCQUNFLHlCQUF5QixZQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNULFdBQ1EsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIGNvbXB1dGVkLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWNoZWNrJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tICAgIDxpb24tcm93Pi0tPlxuICAgIDwhLS0gICAgICA8aW9uLWNvbD4tLT5cbiAgICA8IS0tICAgICAgICA8aW9uLWl0ZW0tZGl2aWRlciBjbGFzcz1cInRleHQteGwgZm9udC1saWdodFwiPi0tPlxuICAgIDwhLS0gICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwibXItNiB0ZXh0LTJ4bFwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJmaWx0ZXItb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWxhYmVsPi0tPlxuICAgIHt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbiAgICA8IS0tICAgICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICAgIEBpZiAodmFsdWU/Lmxlbmd0aCkge1xuICAgICAgPCEtLSAgICAgICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICBzbG90PVwiZW5kXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKFtdKVwiLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0wIHAtMCB0ZXh0LWxnIGgtOSB3LTlcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgID4tLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cInRleHQtMnhsIG0tMCBwLTBcIiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgICB9XG4gICAgPCEtLSAgICAgICAgPC9pb24taXRlbS1kaXZpZGVyPi0tPlxuXG4gICAgQGZvciAoZW50cnkgb2YgbGlzdCgpOyB0cmFjayBlbnRyeSkge1xuICAgICAgPCEtLSAgICAgICAgICA8aW9uLWl0ZW0+LS0+XG4gICAgICA8IS0tPGlvbi1sYWJlbD4tLT57eyBlbnRyeS52YWx1ZS50ZXh0IHwgdHJhbnNsYXRlXG4gICAgICB9fTwhLS08L2lvbi1sYWJlbD4tLT5cbiAgICAgIDwhLS0gICAgICAgICAgICA8aW9uLWNoZWNrYm94LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICBzbG90PVwiZW5kXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgIFtjaGVja2VkXT1cImVudHJ5LmlzQ2hlY2tcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJvbkNoZWNrQ2hhbmdlKCRldmVudC5kZXRhaWwuY2hlY2tlZCwgZW50cnkpXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICA+PC9pb24tY2hlY2tib3g+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDwvaW9uLWl0ZW0+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgICA8L2lvbi1jb2w+LS0+XG4gICAgPCEtLSAgICA8L2lvbi1yb3c+LS0+XG4gIGAsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlXSxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2suY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQ2hlY2tDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBsaXN0ITogU2lnbmFsPHsgdmFsdWU6IGFueTsgaXNDaGVjazogYm9vbGVhbiB9W10+O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3QgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBwb3NzaWJpbGl0aWVzID0gdGhpcy5wb3NzaWJpbGl0aWVzKCk7XG4gICAgICByZXR1cm4gcG9zc2liaWxpdGllcy5tYXAoKHBvcykgPT4gKHtcbiAgICAgICAgdmFsdWU6IHBvcyxcbiAgICAgICAgaXNDaGVjazogdGhpcy52YWx1ZS5zb21lKChyOiBhbnkpID0+IHIgPT09IHBvcy5pZCksXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkNoZWNrQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4sIGVudHJ5OiB7IHZhbHVlOiBhbnk7IGlzQ2hlY2s6IGJvb2xlYW4gfSkge1xuICAgIGlmIChjaGVja2VkICYmICF0aGlzLnZhbHVlLnNvbWUoKHI6IGFueSkgPT4gciA9PT0gZW50cnkudmFsdWUuaWQpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIGVudHJ5LnZhbHVlLmlkXTtcbiAgICB9XG5cbiAgICBpZiAoIWNoZWNrZWQgJiYgdGhpcy52YWx1ZS5zb21lKChyOiBhbnkpID0+IHIgPT09IGVudHJ5LnZhbHVlLmlkKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKChyOiBhbnkpID0+IHIgIT09IGVudHJ5LnZhbHVlLmlkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport moment from 'moment';\nimport { GuidService } from '@smartsoft001/utils';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterDateComponent extends BaseComponent {\n id = GuidService.create();\n get allowAdvanced() {\n const item = this.item();\n return item?.type === '=';\n }\n set customValue(val) {\n const momentDate = moment(val);\n this.value =\n val?.length >= 10 && momentDate.isValid()\n ? momentDate.format('YYYY-MM-DD')\n : val;\n }\n get customValue() {\n return this.value;\n }\n set customMinValue(val) {\n const momentDate = moment(val);\n this.minValue =\n val?.length >= 10 && momentDate.isValid()\n ? momentDate.format('YYYY-MM-DD')\n : val;\n }\n get customMinValue() {\n return this.minValue;\n }\n set customMaxValue(val) {\n const momentDate = moment(val);\n this.maxValue =\n val?.length >= 10 && momentDate.isValid()\n ? momentDate.format('YYYY-MM-DD')\n : val;\n }\n get customMaxValue() {\n return this.maxValue;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterDateComponent, isStandalone: true, selector: \"smart-crud-filter-date\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-item button=\\\"true\\\" id=\\\"open-date-input-{{ id }}\\\" color=\\\"primary\\\">-->\\n<!-- <ion-text>-->\\n{{ customValue ? customValue : ('select' | translate) }}\\n<!-- </ion-text>-->\\n<!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n<ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- ></ion-datetime>-->\\n</ng-template>\\n<!-- </ion-popover>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n\\n@if (value) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"refresh(null)\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-date', imports: [FormsModule, TranslatePipe], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-item button=\\\"true\\\" id=\\\"open-date-input-{{ id }}\\\" color=\\\"primary\\\">-->\\n<!-- <ion-text>-->\\n{{ customValue ? customValue : ('select' | translate) }}\\n<!-- </ion-text>-->\\n<!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n<ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- ></ion-datetime>-->\\n</ng-template>\\n<!-- </ion-popover>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n\\n@if (value) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"refresh(null)\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFpQnZELE1BQU0sT0FBTyxtQkFFWCxTQUFRLGFBQWdCO0lBQ3hCLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFMUIsSUFBSSxhQUFhO1FBQ2YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxFQUFFLElBQUksS0FBSyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEdBQUc7UUFDakIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLO1lBQ1AsR0FBYyxFQUFFLE1BQU0sSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtnQkFDbkQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUNqQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsR0FBRztRQUNwQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVE7WUFDVixHQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsR0FBRztRQUNwQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVE7WUFDVixHQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO3VHQTVDVSxtQkFBbUI7MkZBQW5CLG1CQUFtQix5R0N6QmhDLDRrQ0E4QkEsNklEakJZLFdBQVcsMEJBQUUsYUFBYTs7MkZBWXpCLG1CQUFtQjtrQkFmL0IsU0FBUzsrQkFDRSx3QkFBd0IsV0FFekIsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHsgR3VpZFNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL3V0aWxzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlci1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbWFydC1idXR0b24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZUNvbXBvbmVudDxcbiAgVCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPixcbj4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+IHtcbiAgaWQgPSBHdWlkU2VydmljZS5jcmVhdGUoKTtcblxuICBnZXQgYWxsb3dBZHZhbmNlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgcmV0dXJuIGl0ZW0/LnR5cGUgPT09ICc9JztcbiAgfVxuXG4gIHNldCBjdXN0b21WYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy52YWx1ZSA9XG4gICAgICAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKVxuICAgICAgICA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjdXN0b21NaW5WYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy5taW5WYWx1ZSA9XG4gICAgICAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKVxuICAgICAgICA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tTWluVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5taW5WYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXN0b21NYXhWYWx1ZSh2YWwpIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHZhbCk7XG4gICAgdGhpcy5tYXhWYWx1ZSA9XG4gICAgICAodmFsIGFzIHN0cmluZyk/Lmxlbmd0aCA+PSAxMCAmJiBtb21lbnREYXRlLmlzVmFsaWQoKVxuICAgICAgICA/IG1vbWVudERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgOiB2YWw7XG4gIH1cblxuICBnZXQgY3VzdG9tTWF4VmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5tYXhWYWx1ZTtcbiAgfVxufVxuIiwiPCEtLTxpb24tcm93Pi0tPlxuPCEtLSAgPGlvbi1jb2w+LS0+XG48IS0tICAgIDxpb24tbGFiZWw+LS0+XG57eyBpdGVtKCk/LmxhYmVsIHx8ICcnIHwgdHJhbnNsYXRlIH19XG48IS0tICAgIDwvaW9uLWxhYmVsPi0tPlxuPCEtLSAgICA8aW9uLWl0ZW0gYnV0dG9uPVwidHJ1ZVwiIGlkPVwib3Blbi1kYXRlLWlucHV0LXt7IGlkIH19XCIgY29sb3I9XCJwcmltYXJ5XCI+LS0+XG48IS0tICAgICAgPGlvbi10ZXh0Pi0tPlxue3sgY3VzdG9tVmFsdWUgPyBjdXN0b21WYWx1ZSA6ICgnc2VsZWN0JyB8IHRyYW5zbGF0ZSkgfX1cbjwhLS0gICAgICA8L2lvbi10ZXh0Pi0tPlxuPCEtLSAgICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwib3Blbi1kYXRlLWlucHV0LXt7IGlkIH19XCIgc2hvdy1iYWNrZHJvcD1cImZhbHNlXCI+LS0+XG48bmctdGVtcGxhdGU+XG4gIDwhLS0gICAgICAgICAgPGlvbi1kYXRldGltZS0tPlxuICA8IS0tICAgICAgICAgICAgZGlzcGxheUZvcm1hdD1cIllZWVktTU0tRERcIi0tPlxuICA8IS0tICAgICAgICAgICAgcGlja2VyRm9ybWF0PVwiWVlZWS1NTS1ERFwiLS0+XG4gIDwhLS0gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1c3RvbVZhbHVlXCItLT5cbiAgPCEtLSAgICAgICAgICAgIHByZXNlbnRhdGlvbj1cImRhdGVcIi0tPlxuICA8IS0tICAgICAgICAgID48L2lvbi1kYXRldGltZT4tLT5cbjwvbmctdGVtcGxhdGU+XG48IS0tICAgICAgPC9pb24tcG9wb3Zlcj4tLT5cbjwhLS0gICAgPC9pb24taXRlbT4tLT5cbjwhLS0gIDwvaW9uLWNvbD4tLT5cblxuQGlmICh2YWx1ZSkge1xuICA8IS0tICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gIDwhLS0gICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiIChjbGljayk9XCJyZWZyZXNoKG51bGwpXCIgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tPC9pb24tcm93Pi0tPlxuIl19","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { GuidService } from '@smartsoft001/utils';\nimport { FilterDateComponent } from '../date/date.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterDateTimeComponent extends FilterDateComponent {\n _subscriptions = new Subscription();\n id = GuidService.create();\n // @ViewChild(IonDatetime, { read: IonDatetime, static: false })\n // dateTimePicker: IonDatetime;\n ngOnInit() {\n super.ngOnInit();\n // if (this.dateTimePicker) {\n // this._subscriptions.add(\n // this.dateTimePicker.ionChange.subscribe((val: CustomEvent) => {\n // this.customValue = val.detail.value;\n // }),\n // );\n // } else {\n // console.error('dateTimePicker not found!');\n // }\n }\n ngOnDestroy() {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterDateTimeComponent, isStandalone: true, selector: \"smart-crud-filter-date-time\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- </ion-col>-->\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'from' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'to' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateTimeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-date-time', imports: [TranslatePipe, FormsModule], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n<!-- </ion-col>-->\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'from' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!-- <ion-col>-->\\n<!-- <ion-item>-->\\n<!-- <ion-label>-->\\n{{ 'to' | translate }}\\n<!-- </ion-label>-->\\n<!-- <ion-input-->\\n<!-- placeholder=\\\"YYYY-MM-DD HH:mm:ss\\\"-->\\n<!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n<!-- pattern=\\\"^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$\\\"-->\\n<!-- ></ion-input>-->\\n<!-- </ion-item>-->\\n<!-- </ion-col>-->\\n@if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS10aW1lL2RhdGUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlCN0QsTUFBTSxPQUFPLHVCQUNYLFNBQVEsbUJBQXNCO0lBR3RCLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRW5DLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbkMsZ0VBQWdFO0lBQ2hFLCtCQUErQjtJQUV0QixRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0Isc0VBQXNFO1FBQ3RFLDZDQUE2QztRQUM3QyxVQUFVO1FBQ1YsT0FBTztRQUNQLFdBQVc7UUFDWCxnREFBZ0Q7UUFDaEQsSUFBSTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzt1R0E3QlUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsOEdDekJwQyw4aEVBOERBLDZJRGpEMkIsV0FBVywwQkFBMUIsYUFBYTs7MkZBWVosdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNFLDZCQUE2QixXQUU5QixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5pbXBvcnQgeyBHdWlkU2VydmljZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvdXRpbHMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWRhdGUtdGltZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbWFydC1idXR0b24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZVRpbWVDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBGaWx0ZXJEYXRlQ29tcG9uZW50PFQ+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBvdmVycmlkZSBpZCA9IEd1aWRTZXJ2aWNlLmNyZWF0ZSgpO1xuXG4gIC8vIEBWaWV3Q2hpbGQoSW9uRGF0ZXRpbWUsIHsgcmVhZDogSW9uRGF0ZXRpbWUsIHN0YXRpYzogZmFsc2UgfSlcbiAgLy8gZGF0ZVRpbWVQaWNrZXI6IElvbkRhdGV0aW1lO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBpZiAodGhpcy5kYXRlVGltZVBpY2tlcikge1xuICAgIC8vICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgLy8gICAgIHRoaXMuZGF0ZVRpbWVQaWNrZXIuaW9uQ2hhbmdlLnN1YnNjcmliZSgodmFsOiBDdXN0b21FdmVudCkgPT4ge1xuICAgIC8vICAgICAgIHRoaXMuY3VzdG9tVmFsdWUgPSB2YWwuZGV0YWlsLnZhbHVlO1xuICAgIC8vICAgICB9KSxcbiAgICAvLyAgICk7XG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIGNvbnNvbGUuZXJyb3IoJ2RhdGVUaW1lUGlja2VyIG5vdCBmb3VuZCEnKTtcbiAgICAvLyB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLTxpb24tcm93Pi0tPlxuPCEtLSAgPGlvbi1jb2w+LS0+XG48IS0tICAgIDxpb24tbGFiZWw+LS0+XG57eyBpdGVtKCk/LmxhYmVsIHx8ICcnIHwgdHJhbnNsYXRlIH19XG48IS0tICAgIDwvaW9uLWxhYmVsPi0tPlxuPCEtLSAgPC9pb24tY29sPi0tPlxuQGlmICh2YWx1ZSB8fCBtaW5WYWx1ZSB8fCBtYXhWYWx1ZSkge1xuICA8IS0tICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gIDwhLS0gICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiIChjbGljayk9XCJjbGVhcigpXCIgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tPC9pb24tcm93Pi0tPlxuPCEtLTxpb24tcm93Pi0tPlxuPCEtLSAgPGlvbi1jb2w+LS0+XG48IS0tICAgIDxpb24taXRlbT4tLT5cbjwhLS0gICAgICA8aW9uLWxhYmVsPi0tPlxue3sgJ2Zyb20nIHwgdHJhbnNsYXRlIH19XG48IS0tICAgICAgPC9pb24tbGFiZWw+LS0+XG48IS0tICAgICAgPGlvbi1pbnB1dC0tPlxuPCEtLSAgICAgICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREIEhIOm1tOnNzXCItLT5cbjwhLS0gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tTWluVmFsdWVcIi0tPlxuPCEtLSAgICAgICAgcGF0dGVybj1cIl5bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfSBbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSRcIi0tPlxuPCEtLSAgICAgID48L2lvbi1pbnB1dD4tLT5cbjwhLS0gICAgPC9pb24taXRlbT4tLT5cbjwhLS0gIDwvaW9uLWNvbD4tLT5cbkBpZiAoY3VzdG9tTWluVmFsdWUpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24tLT5cbiAgPCEtLSAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICA8IS0tICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPj0nKVwiLS0+XG4gIDwhLS0gICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICA8IS0tICAgICAgPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tICA8aW9uLWNvbD4tLT5cbjwhLS0gICAgPGlvbi1pdGVtPi0tPlxuPCEtLSAgICAgIDxpb24tbGFiZWw+LS0+XG57eyAndG8nIHwgdHJhbnNsYXRlIH19XG48IS0tICAgICAgPC9pb24tbGFiZWw+LS0+XG48IS0tICAgICAgPGlvbi1pbnB1dC0tPlxuPCEtLSAgICAgICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREIEhIOm1tOnNzXCItLT5cbjwhLS0gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tTWF4VmFsdWVcIi0tPlxuPCEtLSAgICAgICAgcGF0dGVybj1cIl5bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfSBbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSRcIi0tPlxuPCEtLSAgICAgID48L2lvbi1pbnB1dD4tLT5cbjwhLS0gICAgPC9pb24taXRlbT4tLT5cbjwhLS0gIDwvaW9uLWNvbD4tLT5cbkBpZiAoY3VzdG9tTWF4VmFsdWUpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24tLT5cbiAgPCEtLSAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICA8IS0tICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPD0nKVwiLS0+XG4gIDwhLS0gICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICA8IS0tICAgICAgPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG48IS0tPC9pb24tcm93Pi0tPlxuIl19","import { Component, signal, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { GuidService } from '@smartsoft001/utils';\nimport { FilterDateComponent } from '../date/date.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterDateWithEditComponent extends FilterDateComponent {\n _subscriptions = new Subscription();\n advanced = signal(false, ...(ngDevMode ? [{ debugName: \"advanced\" }] : []));\n id = GuidService.create();\n // @ViewChild(IonDatetime, { read: IonDatetime, static: false })\n // dateTimePicker: IonDatetime;\n toggleAdvanced() {\n this.advanced.update((val) => !val);\n if (this.advanced()) {\n this.value = null;\n }\n }\n ngOnInit() {\n super.ngOnInit();\n // if (this.dateTimePicker) {\n // this._subscriptions.add(\n // this.dateTimePicker.ionChange.subscribe((val: CustomEvent) => {\n // this.customValue = val.detail.value;\n // }),\n // );\n // } else {\n // console.error('dateTimePicker not found!');\n // }\n }\n ngOnDestroy() {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateWithEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterDateWithEditComponent, isStandalone: true, selector: \"smart-crud-filter-date-with-edit\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-input-->\\n <!-- 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}\\n<!-- </ion-col>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button id=\\\"open-date-input-{{ id }}\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"calendar-outline\\\"></ion-icon>-->\\n <!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n <ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- first-day-of-week=\\\"1\\\"-->\\n <!-- locale=\\\"{{ lang }}\\\"-->\\n <!-- ></ion-datetime>-->\\n </ng-template>\\n <!-- </ion-popover>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n\\n @if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterDateWithEditComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-date-with-edit', imports: [TranslatePipe, FormsModule], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-input-->\\n <!-- 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}\\n<!-- </ion-col>-->\\n\\n@if (!advanced()) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button id=\\\"open-date-input-{{ id }}\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"calendar-outline\\\"></ion-icon>-->\\n <!-- <ion-popover trigger=\\\"open-date-input-{{ id }}\\\" show-backdrop=\\\"false\\\">-->\\n <ng-template>\\n <!-- <ion-datetime-->\\n <!-- displayFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- pickerFormat=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customValue\\\"-->\\n <!-- presentation=\\\"date\\\"-->\\n <!-- first-day-of-week=\\\"1\\\"-->\\n <!-- locale=\\\"{{ lang }}\\\"-->\\n <!-- ></ion-datetime>-->\\n </ng-template>\\n <!-- </ion-popover>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMinValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (customMinValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input-->\\n <!-- placeholder=\\\"YYYY-MM-DD\\\"-->\\n <!-- [(ngModel)]=\\\"customMaxValue\\\"-->\\n <!-- [pattern]=\\\"'([12]\\\\\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\\\\\d|3[01]))'\\\"-->\\n <!-- ></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n\\n @if (customMaxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS13aXRoLWVkaXQvZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZS13aXRoLWVkaXQvZGF0ZS13aXRoLWVkaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFpQjdELE1BQU0sT0FBTywyQkFDWCxTQUFRLG1CQUFzQjtJQUd0QixjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU1QyxRQUFRLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDekMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVuQyxnRUFBZ0U7SUFDaEUsK0JBQStCO0lBRS9CLGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQiw2QkFBNkI7UUFDN0IsNkJBQTZCO1FBQzdCLHNFQUFzRTtRQUN0RSw2Q0FBNkM7UUFDN0MsVUFBVTtRQUNWLE9BQU87UUFDUCxXQUFXO1FBQ1gsZ0RBQWdEO1FBQ2hELElBQUk7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7dUdBckNVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLG1IQy9CeEMsMjJIQTZHQSw2SUQxRjJCLFdBQVcsMEJBQTFCLGFBQWE7OzJGQVlaLDJCQUEyQjtrQkFmdkMsU0FBUzsrQkFDRSxrQ0FBa0MsV0FFbkMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5pbXBvcnQgeyBHdWlkU2VydmljZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvdXRpbHMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWRhdGUtd2l0aC1lZGl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtd2l0aC1lZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1RyYW5zbGF0ZVBpcGUsIEZvcm1zTW9kdWxlXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnNxdWFyZS1idXR0b24ge1xuICAgICAgICAgIGhlaWdodDogdmFyKC0tc21hcnQtYnV0dG9uLWhlaWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckRhdGVXaXRoRWRpdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICBleHRlbmRzIEZpbHRlckRhdGVDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGFkdmFuY2VkOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG4gIG92ZXJyaWRlIGlkID0gR3VpZFNlcnZpY2UuY3JlYXRlKCk7XG5cbiAgLy8gQFZpZXdDaGlsZChJb25EYXRldGltZSwgeyByZWFkOiBJb25EYXRldGltZSwgc3RhdGljOiBmYWxzZSB9KVxuICAvLyBkYXRlVGltZVBpY2tlcjogSW9uRGF0ZXRpbWU7XG5cbiAgdG9nZ2xlQWR2YW5jZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZHZhbmNlZC51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XG4gICAgaWYgKHRoaXMuYWR2YW5jZWQoKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIC8vIGlmICh0aGlzLmRhdGVUaW1lUGlja2VyKSB7XG4gICAgLy8gICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAvLyAgICAgdGhpcy5kYXRlVGltZVBpY2tlci5pb25DaGFuZ2Uuc3Vic2NyaWJlKCh2YWw6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5jdXN0b21WYWx1ZSA9IHZhbC5kZXRhaWwudmFsdWU7XG4gICAgLy8gICAgIH0pLFxuICAgIC8vICAgKTtcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgY29uc29sZS5lcnJvcignZGF0ZVRpbWVQaWNrZXIgbm90IGZvdW5kIScpO1xuICAgIC8vIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tPGlvbi1yb3c+LS0+XG48IS0tICA8aW9uLWNvbD4tLT5cbjwhLS0gICAgPGlvbi1sYWJlbD4tLT5cbnt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbjwhLS0gICAgPC9pb24tbGFiZWw+LS0+XG5cbkBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgPCEtLSAgICAgIDxpb24taW5wdXQtLT5cbiAgPCEtLSAgICAgICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREXCItLT5cbiAgPCEtLSAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21WYWx1ZVwiLS0+XG4gIDwhLS0gICAgICAgIFtwYXR0ZXJuXT1cIicoWzEyXVxcXFxkezN9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1cXFxcZHwzWzAxXSkpJ1wiLS0+XG4gIDwhLS0gICAgICA+PC9pb24taW5wdXQ+LS0+XG59XG48IS0tICA8L2lvbi1jb2w+LS0+XG5cbkBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24gaWQ9XCJvcGVuLWRhdGUtaW5wdXQte3sgaWQgfX1cIiBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCI+LS0+XG4gIDwhLS0gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNhbGVuZGFyLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICA8IS0tICAgICAgICA8aW9uLXBvcG92ZXIgdHJpZ2dlcj1cIm9wZW4tZGF0ZS1pbnB1dC17eyBpZCB9fVwiIHNob3ctYmFja2Ryb3A9XCJmYWxzZVwiPi0tPlxuICA8bmctdGVtcGxhdGU+XG4gICAgPCEtLSAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtLT5cbiAgICA8IS0tICAgICAgICAgICAgICBkaXNwbGF5Rm9ybWF0PVwiWVlZWS1NTS1ERFwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgcGlja2VyRm9ybWF0PVwiWVlZWS1NTS1ERFwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21WYWx1ZVwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgcHJlc2VudGF0aW9uPVwiZGF0ZVwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgZmlyc3QtZGF5LW9mLXdlZWs9XCIxXCItLT5cbiAgICA8IS0tICAgICAgICAgICAgICBsb2NhbGU9XCJ7eyBsYW5nIH19XCItLT5cbiAgICA8IS0tICAgICAgICAgICAgPjwvaW9uLWRhdGV0aW1lPi0tPlxuICA8L25nLXRlbXBsYXRlPlxuICA8IS0tICAgICAgICA8L2lvbi1wb3BvdmVyPi0tPlxuICA8IS0tICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbn1cbkBpZiAoYWxsb3dBZHZhbmNlZCkge1xuICA8IS0tICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gIDwhLS0gICAgICA8aW9uLWJ1dHRvbi0tPlxuICA8IS0tICAgICAgICAoY2xpY2spPVwidG9nZ2xlQWR2YW5jZWQoKVwiLS0+XG4gIDwhLS0gICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICA8IS0tICAgICAgICBbZGlzYWJsZWRdPVwibWluVmFsdWUgfHwgbWF4VmFsdWVcIi0tPlxuICA8IS0tICAgICAgPi0tPlxuICBAaWYgKCFhZHZhbmNlZCgpKSB7XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZXR0aW5ncy1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgfSBAZWxzZSB7XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZXR0aW5nc1wiPjwvaW9uLWljb24+LS0+XG4gIH1cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG59XG5AaWYgKHZhbHVlIHx8IG1pblZhbHVlIHx8IG1heFZhbHVlKSB7XG4gIDwhLS0gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj4tLT5cbiAgPCEtLSAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cImNsZWFyKClcIiBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCI+LS0+XG4gIDwhLS0gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICA8IS0tICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbn1cbjwhLS08L2lvbi1yb3c+LS0+XG5cbkBpZiAoKGFkdmFuY2VkKCkgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpICYmIGFsbG93QWR2YW5jZWQpIHtcbiAgPCEtLSAgPGlvbi1yb3c+LS0+XG4gIDwhLS0gICAgPGlvbi1jb2w+LS0+XG4gIDwhLS0gICAgICA8aW9uLWl0ZW0+LS0+XG4gIDwhLS0gICAgICAgIDxpb24tbGFiZWw+LS0+XG4gIHt7ICdmcm9tJyB8IHRyYW5zbGF0ZSB9fVxuICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pbnB1dC0tPlxuICA8IS0tICAgICAgICAgIHBsYWNlaG9sZGVyPVwiWVlZWS1NTS1ERFwiLS0+XG4gIDwhLS0gICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21NaW5WYWx1ZVwiLS0+XG4gIDwhLS0gICAgICAgICAgW3BhdHRlcm5dPVwiJyhbMTJdXFxcXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcXFxkfDNbMDFdKSknXCItLT5cbiAgPCEtLSAgICAgICAgPjwvaW9uLWlucHV0Pi0tPlxuICA8IS0tICAgICAgPC9pb24taXRlbT4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG4gIEBpZiAoY3VzdG9tTWluVmFsdWUpIHtcbiAgICA8IS0tICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj4tLT5cbiAgICA8IS0tICAgICAgICA8aW9uLWJ1dHRvbi0tPlxuICAgIDwhLS0gICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2gobnVsbCwgJz49JylcIi0tPlxuICAgIDwhLS0gICAgICAgICAgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiLS0+XG4gICAgPCEtLSAgICAgICAgPi0tPlxuICAgIDwhLS0gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gICAgPCEtLSAgICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICAgIDwhLS0gICAgICA8L2lvbi1jb2w+LS0+XG4gIH1cbiAgPCEtLSAgICA8aW9uLWNvbD4tLT5cbiAgPCEtLSAgICAgIDxpb24taXRlbT4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1sYWJlbD4tLT5cbiAge3sgJ3RvJyB8IHRyYW5zbGF0ZSB9fVxuICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pbnB1dC0tPlxuICA8IS0tICAgICAgICAgIHBsYWNlaG9sZGVyPVwiWVlZWS1NTS1ERFwiLS0+XG4gIDwhLS0gICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXN0b21NYXhWYWx1ZVwiLS0+XG4gIDwhLS0gICAgICAgICAgW3BhdHRlcm5dPVwiJyhbMTJdXFxcXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcXFxkfDNbMDFdKSknXCItLT5cbiAgPCEtLSAgICAgICAgPjwvaW9uLWlucHV0Pi0tPlxuICA8IS0tICAgICAgPC9pb24taXRlbT4tLT5cbiAgPCEtLSAgICA8L2lvbi1jb2w+LS0+XG5cbiAgQGlmIChjdXN0b21NYXhWYWx1ZSkge1xuICAgIDwhLS0gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgPCEtLSAgICAgICAgICBjb2xvcj1cImRhbmdlclwiLS0+XG4gICAgPCEtLSAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPD0nKVwiLS0+XG4gICAgPCEtLSAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICA8IS0tICAgICAgICA+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgICA8IS0tICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgPCEtLSAgICAgIDwvaW9uLWNvbD4tLT5cbiAgfVxuICA8IS0tICA8L2lvbi1yb3c+LS0+XG59XG4iXX0=","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterFlagComponent extends BaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterFlagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterFlagComponent, isStandalone: true, selector: \"smart-crud-filter-flag\", usesInheritance: true, ngImport: i0, template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <div\n class=\"flag-container w-full flex flex-row flex-nowrap justify-between pr-5\"\n >\n <!-- <ion-label class=\"align-middle my-6\" position=\"static\">-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n <!-- <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>-->\n </div>\n <!-- </ion-col>-->\n @if (typeof value === 'boolean') {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterFlagComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-flag', template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <div\n class=\"flag-container w-full flex flex-row flex-nowrap justify-between pr-5\"\n >\n <!-- <ion-label class=\"align-middle my-6\" position=\"static\">-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n <!-- <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>-->\n </div>\n <!-- </ion-col>-->\n @if (typeof value === 'boolean') {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, imports: [TranslatePipe, FormsModule], styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9mbGFnL2ZsYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBOEN2RCxNQUFNLE9BQU8sbUJBRVgsU0FBUSxhQUFnQjt1R0FGYixtQkFBbUI7MkZBQW5CLG1CQUFtQix5R0ExQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQsNkpBQ3dCLFdBQVcsMEJBQTFCLGFBQWE7OzJGQWlCWixtQkFBbUI7a0JBNUMvQixTQUFTOytCQUNFLHdCQUF3QixZQUN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULFdBQ1EsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLWZsYWcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gICAgPGlvbi1yb3c+LS0+XG4gICAgPCEtLSAgICAgIDxpb24tY29sPi0tPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmxhZy1jb250YWluZXIgdy1mdWxsIGZsZXggZmxleC1yb3cgZmxleC1ub3dyYXAganVzdGlmeS1iZXR3ZWVuIHByLTVcIlxuICAgID5cbiAgICAgIDwhLS0gICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImFsaWduLW1pZGRsZSBteS02XCIgcG9zaXRpb249XCJzdGF0aWNcIj4tLT5cbiAgICAgIHt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwhLS0gICAgICAgICAgPC9pb24tbGFiZWw+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDxpb24tY2hlY2tib3ggWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIHNsb3Q9XCJlbmRcIj48L2lvbi1jaGVja2JveD4tLT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICAgIEBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgIDwhLS0gICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKG51bGwpXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgICAgPCEtLSAgICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgICA8IS0tICAgICAgICA8L2lvbi1jb2w+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgPC9pb24tcm93Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuZmxhZy1jb250YWluZXIge1xuICAgICAgICAgIGlvbi1sYWJlbCB7XG4gICAgICAgICAgICAvKi0tY29sb3I6IHZhcigtLXNtYXJ0LWNvbG9yLWRhcmspOyovXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zcXVhcmUtYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNtYXJ0LWJ1dHRvbi1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJGbGFnQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LFxuPiBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4ge31cbiJdfQ==","import { Component, signal, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterIntComponent extends BaseComponent {\n _subscriptions = new Subscription();\n advanced = signal(false, ...(ngDevMode ? [{ debugName: \"advanced\" }] : []));\n get allowAdvanced() {\n return this.item()?.type === '=';\n }\n ngOnInit() {\n super.ngOnInit();\n }\n ngOnDestroy() {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n toggleAdvanced() {\n this.advanced.update((val) => !val);\n if (this.advanced())\n this.value = null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterIntComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterIntComponent, isStandalone: true, selector: \"smart-crud-filter-int\", usesInheritance: true, ngImport: i0, template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n@if (!advanced()) {\\n <!-- <ion-input [(ngModel)]=\\\"value\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n}\\n<!-- </ion-col>-->\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"minValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (minValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"maxValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterIntComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-int', imports: [TranslatePipe, FormsModule], template: \"<!--<ion-row>-->\\n<!-- <ion-col>-->\\n<!-- <ion-label>-->\\n{{ item()?.label || '' | translate }}\\n<!-- </ion-label>-->\\n@if (!advanced()) {\\n <!-- <ion-input [(ngModel)]=\\\"value\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n}\\n<!-- </ion-col>-->\\n@if (allowAdvanced) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- (click)=\\\"toggleAdvanced()\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- [disabled]=\\\"minValue || maxValue\\\"-->\\n <!-- >-->\\n @if (!advanced()) {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings-outline\\\"></ion-icon>-->\\n } @else {\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"settings\\\"></ion-icon>-->\\n }\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n@if (value || minValue || maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button color=\\\"danger\\\" (click)=\\\"clear()\\\" class=\\\"square-button m-3\\\">-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n}\\n<!--</ion-row>-->\\n@if ((advanced() || minValue || maxValue) && allowAdvanced) {\\n <!-- <ion-row>-->\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'from' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"minValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (minValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '>=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- <ion-col>-->\\n <!-- <ion-item>-->\\n <!-- <ion-label>-->\\n {{ 'to' | translate }}\\n <!-- </ion-label>-->\\n <!-- <ion-input [(ngModel)]=\\\"maxValue\\\" type=\\\"number\\\" step=\\\"1\\\"></ion-input>-->\\n <!-- </ion-item>-->\\n <!-- </ion-col>-->\\n @if (maxValue) {\\n <!-- <ion-col size=\\\"auto\\\">-->\\n <!-- <ion-button-->\\n <!-- color=\\\"danger\\\"-->\\n <!-- (click)=\\\"refresh(null, '<=')\\\"-->\\n <!-- class=\\\"square-button m-3\\\"-->\\n <!-- >-->\\n <!-- <ion-icon slot=\\\"icon-only\\\" name=\\\"close-outline\\\"></ion-icon>-->\\n <!-- </ion-button>-->\\n <!-- </ion-col>-->\\n }\\n <!-- </ion-row>-->\\n}\\n\", styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ludC9pbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvaW50L2ludC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlCdkQsTUFBTSxPQUFPLGtCQUNYLFNBQVEsYUFBZ0I7SUFHaEIsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUMsUUFBUSxHQUE0QixNQUFNLENBQVUsS0FBSyxvREFBQyxDQUFDO0lBRTNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksS0FBSyxHQUFHLENBQUM7SUFDbkMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3pDLENBQUM7dUdBekJVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHdHQzlCL0IsZ2tGQTBFQSw2SUR4RDJCLFdBQVcsMEJBQTFCLGFBQWE7OzJGQVlaLGtCQUFrQjtrQkFmOUIsU0FBUzsrQkFDRSx1QkFBdUIsV0FFeEIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXItaW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlLCBGb3Jtc01vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5zcXVhcmUtYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNtYXJ0LWJ1dHRvbi1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJbnRDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBhZHZhbmNlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGdldCBhbGxvd0FkdmFuY2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLml0ZW0oKT8udHlwZSA9PT0gJz0nO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQWR2YW5jZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZHZhbmNlZC51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XG4gICAgaWYgKHRoaXMuYWR2YW5jZWQoKSkgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cbn1cbiIsIjwhLS08aW9uLXJvdz4tLT5cbjwhLS0gIDxpb24tY29sPi0tPlxuPCEtLSAgICA8aW9uLWxhYmVsPi0tPlxue3sgaXRlbSgpPy5sYWJlbCB8fCAnJyB8IHRyYW5zbGF0ZSB9fVxuPCEtLSAgICA8L2lvbi1sYWJlbD4tLT5cbkBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgPCEtLSAgICAgIDxpb24taW5wdXQgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIHR5cGU9XCJudW1iZXJcIiBzdGVwPVwiMVwiPjwvaW9uLWlucHV0Pi0tPlxufVxuPCEtLSAgPC9pb24tY29sPi0tPlxuQGlmIChhbGxvd0FkdmFuY2VkKSB7XG4gIDwhLS0gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj4tLT5cbiAgPCEtLSAgICAgIDxpb24tYnV0dG9uLS0+XG4gIDwhLS0gICAgICAgIChjbGljayk9XCJ0b2dnbGVBZHZhbmNlZCgpXCItLT5cbiAgPCEtLSAgICAgICAgY2xhc3M9XCJzcXVhcmUtYnV0dG9uIG0tM1wiLS0+XG4gIDwhLS0gICAgICAgIFtkaXNhYmxlZF09XCJtaW5WYWx1ZSB8fCBtYXhWYWx1ZVwiLS0+XG4gIDwhLS0gICAgICA+LS0+XG4gIEBpZiAoIWFkdmFuY2VkKCkpIHtcbiAgICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInNldHRpbmdzLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICB9IEBlbHNlIHtcbiAgICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInNldHRpbmdzXCI+PC9pb24taWNvbj4tLT5cbiAgfVxuICA8IS0tICAgICAgPC9pb24tYnV0dG9uPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbn1cbkBpZiAodmFsdWUgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpIHtcbiAgPCEtLSAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYW5nZXJcIiAoY2xpY2spPVwiY2xlYXIoKVwiIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIj4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gIDwhLS0gICAgICA8L2lvbi1idXR0b24+LS0+XG4gIDwhLS0gICAgPC9pb24tY29sPi0tPlxufVxuPCEtLTwvaW9uLXJvdz4tLT5cbkBpZiAoKGFkdmFuY2VkKCkgfHwgbWluVmFsdWUgfHwgbWF4VmFsdWUpICYmIGFsbG93QWR2YW5jZWQpIHtcbiAgPCEtLSAgPGlvbi1yb3c+LS0+XG4gIDwhLS0gICAgPGlvbi1jb2w+LS0+XG4gIDwhLS0gICAgICA8aW9uLWl0ZW0+LS0+XG4gIDwhLS0gICAgICAgIDxpb24tbGFiZWw+LS0+XG4gIHt7ICdmcm9tJyB8IHRyYW5zbGF0ZSB9fVxuICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1pbnB1dCBbKG5nTW9kZWwpXT1cIm1pblZhbHVlXCIgdHlwZT1cIm51bWJlclwiIHN0ZXA9XCIxXCI+PC9pb24taW5wdXQ+LS0+XG4gIDwhLS0gICAgICA8L2lvbi1pdGVtPi0tPlxuICA8IS0tICAgIDwvaW9uLWNvbD4tLT5cbiAgQGlmIChtaW5WYWx1ZSkge1xuICAgIDwhLS0gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgPCEtLSAgICAgICAgICBjb2xvcj1cImRhbmdlclwiLS0+XG4gICAgPCEtLSAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsLCAnPj0nKVwiLS0+XG4gICAgPCEtLSAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICA8IS0tICAgICAgICA+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgICA8IS0tICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgPCEtLSAgICAgIDwvaW9uLWNvbD4tLT5cbiAgfVxuICA8IS0tICAgIDxpb24tY29sPi0tPlxuICA8IS0tICAgICAgPGlvbi1pdGVtPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWxhYmVsPi0tPlxuICB7eyAndG8nIHwgdHJhbnNsYXRlIH19XG4gIDwhLS0gICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICA8IS0tICAgICAgICA8aW9uLWlucHV0IFsobmdNb2RlbCldPVwibWF4VmFsdWVcIiB0eXBlPVwibnVtYmVyXCIgc3RlcD1cIjFcIj48L2lvbi1pbnB1dD4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWl0ZW0+LS0+XG4gIDwhLS0gICAgPC9pb24tY29sPi0tPlxuICBAaWYgKG1heFZhbHVlKSB7XG4gICAgPCEtLSAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gICAgPCEtLSAgICAgICAgPGlvbi1idXR0b24tLT5cbiAgICA8IS0tICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCItLT5cbiAgICA8IS0tICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKG51bGwsICc8PScpXCItLT5cbiAgICA8IS0tICAgICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTNcIi0tPlxuICAgIDwhLS0gICAgICAgID4tLT5cbiAgICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgIDwhLS0gICAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICB9XG4gIDwhLS0gIDwvaW9uLXJvdz4tLT5cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterRadioComponent extends BaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterRadioComponent, isStandalone: true, selector: \"smart-crud-filter-radio\", usesInheritance: true, ngImport: i0, template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-radio-group [(ngModel)]=\"value\">-->\n <!-- <ion-item-divider class=\"font-light text-xl\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value || value === false) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-0 text-lg h-9 w-9 p-0\"-->\n <!-- >-->\n <!-- <ion-icon class=\"mr-6 text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (item of possibilities(); track item) {\n <!-- <ion-item>-->\n <!-- <ion-label>{{ item.text | translate }}</ion-label>-->\n <!-- <ion-radio class=\"mr-10\" [value]=\"item.id\"></ion-radio>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-radio-group>-->\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%;margin-bottom:1.2rem}:host ion-item-divider{//--padding-end: .8rem;//--ion-background-color: linear-gradient(// 90deg,// transparent,// var(--ion-color-light) //)}:host ion-item-divider ion-icon{//--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 .square-button{//--padding-start: .2em;//--padding-end: .2em}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterRadioComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-radio', template: `\n <!-- <ion-row>-->\n <!-- <ion-col>-->\n <!-- <ion-radio-group [(ngModel)]=\"value\">-->\n <!-- <ion-item-divider class=\"font-light text-xl\">-->\n <!-- <ion-icon class=\"mr-6 text-2xl\" slot=\"start\" name=\"filter-outline\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ item()?.label || '' | translate }}\n <!-- </ion-label>-->\n @if (value || value === false) {\n <!-- <ion-button-->\n <!-- slot=\"end\"-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-0 text-lg h-9 w-9 p-0\"-->\n <!-- >-->\n <!-- <ion-icon class=\"mr-6 text-2xl m-0 p-0\" slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n }\n <!-- </ion-item-divider>-->\n\n @for (item of possibilities(); track item) {\n <!-- <ion-item>-->\n <!-- <ion-label>{{ item.text | translate }}</ion-label>-->\n <!-- <ion-radio class=\"mr-10\" [value]=\"item.id\"></ion-radio>-->\n <!-- </ion-item>-->\n }\n <!-- </ion-radio-group>-->\n <!-- </ion-col>-->\n <!-- </ion-row>-->\n `, imports: [TranslatePipe, FormsModule], styles: [\":host{width:100%;margin-bottom:1.2rem}:host ion-item-divider{//--padding-end: .8rem;//--ion-background-color: linear-gradient(// 90deg,// transparent,// var(--ion-color-light) //)}:host ion-item-divider ion-icon{//--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 .square-button{//--padding-start: .2em;//--padding-end: .2em}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBaUV2RCxNQUFNLE9BQU8sb0JBRVgsU0FBUSxhQUFnQjt1R0FGYixvQkFBb0I7MkZBQXBCLG9CQUFvQiwwR0E3RHJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQsaW1CQUN3QixXQUFXLDBCQUExQixhQUFhOzsyRkE4Qlosb0JBQW9CO2tCQS9EaEMsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCxXQUNRLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWZpbHRlci1yYWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSAgICA8aW9uLXJvdz4tLT5cbiAgICA8IS0tICAgICAgPGlvbi1jb2w+LS0+XG4gICAgPCEtLSAgICAgICAgPGlvbi1yYWRpby1ncm91cCBbKG5nTW9kZWwpXT1cInZhbHVlXCI+LS0+XG4gICAgPCEtLSAgICAgICAgICA8aW9uLWl0ZW0tZGl2aWRlciBjbGFzcz1cImZvbnQtbGlnaHQgdGV4dC14bFwiPi0tPlxuICAgIDwhLS0gICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJtci02IHRleHQtMnhsXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImZpbHRlci1vdXRsaW5lXCI+PC9pb24taWNvbj4tLT5cbiAgICA8IS0tICAgICAgICAgICAgPGlvbi1sYWJlbD4tLT5cbiAgICB7eyBpdGVtKCk/LmxhYmVsIHx8ICcnIHwgdHJhbnNsYXRlIH19XG4gICAgPCEtLSAgICAgICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICAgIEBpZiAodmFsdWUgfHwgdmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICA8IS0tICAgICAgICAgICAgICA8aW9uLWJ1dHRvbi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgICBzbG90PVwiZW5kXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaChudWxsKVwiLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICAgIGNsYXNzPVwic3F1YXJlLWJ1dHRvbiBtLTAgdGV4dC1sZyBoLTkgdy05IHAtMFwiLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICA+LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cIm1yLTYgdGV4dC0yeGwgbS0wIHAtMFwiIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgICAgICAgPC9pb24taXRlbS1kaXZpZGVyPi0tPlxuXG4gICAgQGZvciAoaXRlbSBvZiBwb3NzaWJpbGl0aWVzKCk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgIDwhLS0gICAgICAgICAgICA8aW9uLWl0ZW0+LS0+XG4gICAgICA8IS0tICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgICAgPGlvbi1yYWRpbyBjbGFzcz1cIm1yLTEwXCIgW3ZhbHVlXT1cIml0ZW0uaWRcIj48L2lvbi1yYWRpbz4tLT5cbiAgICAgIDwhLS0gICAgICAgICAgICA8L2lvbi1pdGVtPi0tPlxuICAgIH1cbiAgICA8IS0tICAgICAgICA8L2lvbi1yYWRpby1ncm91cD4tLT5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICAgIDwhLS0gICAgPC9pb24tcm93Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIGlvbi1pdGVtLWRpdmlkZXIge1xuICAgICAgICAgIC8vLS1wYWRkaW5nLWVuZDogMC44cmVtO1xuICAgICAgICAgIC8vLS1pb24tYmFja2dyb3VuZC1jb2xvcjogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIC8vICA5MGRlZyxcbiAgICAgICAgICAvLyAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgLy8gIHZhcigtLWlvbi1jb2xvci1saWdodClcbiAgICAgICAgICAvLyk7XG4gICAgICAgICAgaW9uLWljb24ge1xuICAgICAgICAgICAgLy8tLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlvbi1sYWJlbCB7XG4gICAgICAgICAgICAvLy0tcGFkZGluZzogdmFyKC0tc21hcnQtYnV0dG9uLXBhZGRpbmctbGVmdCkgLyAyXG4gICAgICAgICAgICAvLyAgdmFyKC0tc21hcnQtYnV0dG9uLXBhZGRpbmctdG9wKSAvIDIgdmFyKC0tc21hcnQtYnV0dG9uLXBhZGRpbmctcmlnaHQpIC9cbiAgICAgICAgICAgIC8vICAyIHZhcigtLXNtYXJ0LWJ1dHRvbi1wYWRkaW5nLWJvdHRvbSkgLyAyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgICAvLy0tcGFkZGluZy1zdGFydDogMC4yZW07XG4gICAgICAgICAgICAvLy0tcGFkZGluZy1lbmQ6IDAuMmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclJhZGlvQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LFxuPiBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4ge31cbiJdfQ==","import { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterTextComponent extends BaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterTextComponent, isStandalone: true, selector: \"smart-crud-filter-text\", usesInheritance: true, ngImport: i0, template: `\n <!-- <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 @if (value) {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, isInline: true, styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterTextComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter-text', template: `\n <!-- <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 @if (value) {\n <!-- <ion-col size=\"auto\">-->\n <!-- <ion-button-->\n <!-- color=\"danger\"-->\n <!-- (click)=\"refresh(null)\"-->\n <!-- class=\"square-button m-3\"-->\n <!-- >-->\n <!-- <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>-->\n <!-- </ion-button>-->\n <!-- </ion-col>-->\n }\n <!-- </ion-row>-->\n `, imports: [TranslatePipe, FormsModule], styles: [\":host{width:100%}:host .square-button{height:var(--smart-button-height)!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci90ZXh0L3RleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBcUN2RCxNQUFNLE9BQU8sbUJBRVgsU0FBUSxhQUFnQjt1R0FGYixtQkFBbUI7MkZBQW5CLG1CQUFtQix5R0FqQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCw2SkFDd0IsV0FBVywwQkFBMUIsYUFBYTs7MkZBWVosbUJBQW1CO2tCQW5DL0IsU0FBUzsrQkFDRSx3QkFBd0IsWUFDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JULFdBQ1EsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyLXRleHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gICAgPGlvbi1yb3c+LS0+XG4gICAgPCEtLSAgICAgIDxpb24tY29sPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJmbG9hdGluZ1wiPi0tPlxuICAgIHt7IGl0ZW0oKT8ubGFiZWwgfHwgJycgfCB0cmFuc2xhdGUgfX1cbiAgICA8IS0tICAgICAgICA8L2lvbi1sYWJlbD4tLT5cbiAgICA8IS0tICAgICAgICA8aW9uLWlucHV0IFsobmdNb2RlbCldPVwidmFsdWVcIj48L2lvbi1pbnB1dD4tLT5cbiAgICA8IS0tICAgICAgPC9pb24tY29sPi0tPlxuICAgIEBpZiAodmFsdWUpIHtcbiAgICAgIDwhLS0gICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+LS0+XG4gICAgICA8IS0tICAgICAgICAgIDxpb24tYnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoKG51bGwpXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgICBjbGFzcz1cInNxdWFyZS1idXR0b24gbS0zXCItLT5cbiAgICAgIDwhLS0gICAgICAgICAgPi0tPlxuICAgICAgPCEtLSAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPi0tPlxuICAgICAgPCEtLSAgICAgICAgICA8L2lvbi1idXR0b24+LS0+XG4gICAgICA8IS0tICAgICAgICA8L2lvbi1jb2w+LS0+XG4gICAgfVxuICAgIDwhLS0gICAgPC9pb24tcm93Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuc3F1YXJlLWJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbWFydC1idXR0b24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyVGV4dENvbXBvbmVudDxcbiAgVCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPixcbj4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+IHt9XG4iXX0=","import { Component, input } from '@angular/core';\nimport { FieldType } from '@smartsoft001/models';\nimport { FilterCheckComponent } from './check/check.component';\nimport { FilterDateComponent } from './date/date.component';\nimport { FilterDateTimeComponent } from './date-time/date-time.component';\nimport { FilterDateWithEditComponent } from './date-with-edit/date-with-edit.component';\nimport { FilterFlagComponent } from './flag/flag.component';\nimport { FilterIntComponent } from './int/int.component';\nimport { FilterRadioComponent } from './radio/radio.component';\nimport { FilterTextComponent } from './text/text.component';\nimport * as i0 from \"@angular/core\";\nexport class FilterComponent {\n FieldType = FieldType;\n item = input(...(ngDevMode ? [undefined, { debugName: \"item\" }] : []));\n filter = input(...(ngDevMode ? [undefined, { debugName: \"filter\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FilterComponent, isStandalone: true, selector: \"smart-crud-filter\", inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: \"filter\", publicName: \"filter\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<!--<ion-item>-->\\n@switch (item()?.fieldType) {\\n @case (FieldType.date) {\\n <smart-crud-filter-date\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date>\\n }\\n @case (FieldType.dateWithEdit) {\\n <smart-crud-filter-date-with-edit\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-with-edit>\\n }\\n @case (FieldType.dateTime) {\\n <smart-crud-filter-date-time\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-time>\\n }\\n @case (FieldType.radio) {\\n <smart-crud-filter-radio\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-radio>\\n }\\n @case (FieldType.check) {\\n <smart-crud-filter-check\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-check>\\n }\\n @case (FieldType.flag) {\\n <smart-crud-filter-flag\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-flag>\\n }\\n @case (FieldType.int) {\\n <smart-crud-filter-int\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-int>\\n }\\n @default {\\n <smart-crud-filter-text\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-text>\\n }\\n}\\n<!--</ion-item>-->\\n\", dependencies: [{ kind: \"component\", type: FilterTextComponent, selector: \"smart-crud-filter-text\" }, { kind: \"component\", type: FilterIntComponent, selector: \"smart-crud-filter-int\" }, { kind: \"component\", type: FilterFlagComponent, selector: \"smart-crud-filter-flag\" }, { kind: \"component\", type: FilterCheckComponent, selector: \"smart-crud-filter-check\" }, { kind: \"component\", type: FilterRadioComponent, selector: \"smart-crud-filter-radio\" }, { kind: \"component\", type: FilterDateTimeComponent, selector: \"smart-crud-filter-date-time\" }, { kind: \"component\", type: FilterDateWithEditComponent, selector: \"smart-crud-filter-date-with-edit\" }, { kind: \"component\", type: FilterDateComponent, selector: \"smart-crud-filter-date\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FilterComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filter', imports: [\n FilterTextComponent,\n FilterIntComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterRadioComponent,\n FilterDateTimeComponent,\n FilterDateWithEditComponent,\n FilterDateComponent,\n ], template: \"<!--<ion-item>-->\\n@switch (item()?.fieldType) {\\n @case (FieldType.date) {\\n <smart-crud-filter-date\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date>\\n }\\n @case (FieldType.dateWithEdit) {\\n <smart-crud-filter-date-with-edit\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-with-edit>\\n }\\n @case (FieldType.dateTime) {\\n <smart-crud-filter-date-time\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-date-time>\\n }\\n @case (FieldType.radio) {\\n <smart-crud-filter-radio\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-radio>\\n }\\n @case (FieldType.check) {\\n <smart-crud-filter-check\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-check>\\n }\\n @case (FieldType.flag) {\\n <smart-crud-filter-flag\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-flag>\\n }\\n @case (FieldType.int) {\\n <smart-crud-filter-int\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-int>\\n }\\n @default {\\n <smart-crud-filter-text\\n [item]=\\\"item()\\\"\\n [filter]=\\\"filter()\\\"\\n ></smart-crud-filter-text>\\n }\\n}\\n<!--</ion-item>-->\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQjVELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFFdEIsSUFBSSxHQUFHLEtBQUssMERBQWdCLENBQUM7SUFDN0IsTUFBTSxHQUFHLEtBQUssNERBQWUsQ0FBQzt1R0FKbkIsZUFBZTsyRkFBZixlQUFlLHlVQzVCNUIsMHdDQW9EQSw0Q0RsQ0ksbUJBQW1CLG1FQUNuQixrQkFBa0Isa0VBQ2xCLG1CQUFtQixtRUFDbkIsb0JBQW9CLG9FQUNwQixvQkFBb0Isb0VBQ3BCLHVCQUF1Qix3RUFDdkIsMkJBQTJCLDZFQUMzQixtQkFBbUI7OzJGQUdWLGVBQWU7a0JBZDNCLFNBQVM7K0JBQ0UsbUJBQW1CLFdBRXBCO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmllbGRUeXBlLCBJTW9kZWxGaWx0ZXIgfSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbHRlckNoZWNrQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay9jaGVjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS10aW1lL2RhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGF0ZVdpdGhFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXdpdGgtZWRpdC9kYXRlLXdpdGgtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vZmxhZy9mbGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJJbnRDb21wb25lbnQgfSBmcm9tICcuL2ludC9pbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlclJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICAgIEZpbHRlckludENvbXBvbmVudCxcbiAgICBGaWx0ZXJGbGFnQ29tcG9uZW50LFxuICAgIEZpbHRlckNoZWNrQ29tcG9uZW50LFxuICAgIEZpbHRlclJhZGlvQ29tcG9uZW50LFxuICAgIEZpbHRlckRhdGVUaW1lQ29tcG9uZW50LFxuICAgIEZpbHRlckRhdGVXaXRoRWRpdENvbXBvbmVudCxcbiAgICBGaWx0ZXJEYXRlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb21wb25lbnQge1xuICBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XG5cbiAgaXRlbSA9IGlucHV0PElNb2RlbEZpbHRlcj4oKTtcbiAgZmlsdGVyID0gaW5wdXQ8SUNydWRGaWx0ZXI+KCk7XG59XG4iLCI8IS0tPGlvbi1pdGVtPi0tPlxuQHN3aXRjaCAoaXRlbSgpPy5maWVsZFR5cGUpIHtcbiAgQGNhc2UgKEZpZWxkVHlwZS5kYXRlKSB7XG4gICAgPHNtYXJ0LWNydWQtZmlsdGVyLWRhdGVcbiAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlcigpXCJcbiAgICA+PC9zbWFydC1jcnVkLWZpbHRlci1kYXRlPlxuICB9XG4gIEBjYXNlIChGaWVsZFR5cGUuZGF0ZVdpdGhFZGl0KSB7XG4gICAgPHNtYXJ0LWNydWQtZmlsdGVyLWRhdGUtd2l0aC1lZGl0XG4gICAgICBbaXRlbV09XCJpdGVtKClcIlxuICAgICAgW2ZpbHRlcl09XCJmaWx0ZXIoKVwiXG4gICAgPjwvc21hcnQtY3J1ZC1maWx0ZXItZGF0ZS13aXRoLWVkaXQ+XG4gIH1cbiAgQGNhc2UgKEZpZWxkVHlwZS5kYXRlVGltZSkge1xuICAgIDxzbWFydC1jcnVkLWZpbHRlci1kYXRlLXRpbWVcbiAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlcigpXCJcbiAgICA+PC9zbWFydC1jcnVkLWZpbHRlci1kYXRlLXRpbWU+XG4gIH1cbiAgQGNhc2UgKEZpZWxkVHlwZS5yYWRpbykge1xuICAgIDxzbWFydC1jcnVkLWZpbHRlci1yYWRpb1xuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyKClcIlxuICAgID48L3NtYXJ0LWNydWQtZmlsdGVyLXJhZGlvPlxuICB9XG4gIEBjYXNlIChGaWVsZFR5cGUuY2hlY2spIHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItY2hlY2tcbiAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlcigpXCJcbiAgICA+PC9zbWFydC1jcnVkLWZpbHRlci1jaGVjaz5cbiAgfVxuICBAY2FzZSAoRmllbGRUeXBlLmZsYWcpIHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItZmxhZ1xuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyKClcIlxuICAgID48L3NtYXJ0LWNydWQtZmlsdGVyLWZsYWc+XG4gIH1cbiAgQGNhc2UgKEZpZWxkVHlwZS5pbnQpIHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItaW50XG4gICAgICBbaXRlbV09XCJpdGVtKClcIlxuICAgICAgW2ZpbHRlcl09XCJmaWx0ZXIoKVwiXG4gICAgPjwvc21hcnQtY3J1ZC1maWx0ZXItaW50PlxuICB9XG4gIEBkZWZhdWx0IHtcbiAgICA8c21hcnQtY3J1ZC1maWx0ZXItdGV4dFxuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyKClcIlxuICAgID48L3NtYXJ0LWNydWQtZmlsdGVyLXRleHQ+XG4gIH1cbn1cbjwhLS08L2lvbi1pdGVtPi0tPlxuIl19","import { Component, ElementRef, inject, input, signal, } from '@angular/core';\nimport { MenuService, StyleService } from '@smartsoft001/angular';\nimport { FieldType, getModelFieldsWithOptions, getModelOptions, } from '@smartsoft001/models';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { CrudConfig } from '../../crud.config';\nimport { FilterComponent } from '../filter';\nimport * as i0 from \"@angular/core\";\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 */\nexport class FiltersComponent {\n menuService = inject(MenuService);\n config = inject((CrudConfig));\n facade = inject((CrudFacade));\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n list;\n filter;\n /**\n * Hide menu used only from MenuService\n */\n hideMenu = input(false, ...(ngDevMode ? [{ debugName: \"hideMenu\" }] : []));\n async onClose() {\n await this.menuService.closeEnd();\n }\n ngOnInit() {\n this.styleService.init(this.elementRef);\n this.list = signal([], ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n const modelFilters = getModelOptions(this.config.type).filters;\n this.list.set([\n ...(modelFilters\n ? modelFilters.map((item) => {\n if (!item.label) {\n item.label = 'MODEL.' + item.key;\n }\n return item;\n })\n : []),\n ...getModelFieldsWithOptions(new this.config.type())\n .filter((item) => item.options?.list?.filter)\n .map((item) => ({\n key: item.key,\n type: item.options.type === FieldType.text ||\n item.options.type === FieldType.longText\n ? '~='\n : '=',\n label: 'MODEL.' + item.key,\n fieldType: item.options.type,\n })),\n ]);\n this.filter = this.facade.filter;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FiltersComponent, isStandalone: true, selector: \"smart-crud-filters\", inputs: { hideMenu: { classPropertyName: \"hideMenu\", publicName: \"hideMenu\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n <!--<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 @for (item of list(); track item) {\n <smart-crud-filter [item]=\"item\" [filter]=\"filter()\"></smart-crud-filter>\n }\n <!-- </ion-list>-->\n <div class=\"h-20\">&nbsp;</div>\n <!--</ion-content>-->\n `, isInline: true, dependencies: [{ kind: \"component\", type: FilterComponent, selector: \"smart-crud-filter\", inputs: [\"item\", \"filter\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-filters',\n template: `\n <!--<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 @for (item of list(); track item) {\n <smart-crud-filter [item]=\"item\" [filter]=\"filter()\"></smart-crud-filter>\n }\n <!-- </ion-list>-->\n <div class=\"h-20\">&nbsp;</div>\n <!--</ion-content>-->\n `,\n imports: [FilterComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQ0wsU0FBUyxFQUNULHlCQUF5QixFQUN6QixlQUFlLEdBR2hCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0RHO0FBeUJILE1BQU0sT0FBTyxnQkFBZ0I7SUFDbkIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUF1QztJQUUzQyxNQUFNLENBQW1DO0lBRXpDOztPQUVHO0lBQ00sUUFBUSxHQUF5QixLQUFLLENBQVUsS0FBSyxvREFBQyxDQUFDO0lBRWhFLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEVBQUUsZ0RBQUMsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDWixHQUFHLENBQUMsWUFBWTtnQkFDZCxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUNuQyxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsQ0FBQztnQkFDSixDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2pELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUEyQixFQUFFLE1BQU0sQ0FBQztpQkFDcEUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixJQUFJLEVBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLElBQUk7b0JBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxRQUFRO29CQUN0QyxDQUFDLENBQUUsSUFBYztvQkFDakIsQ0FBQyxDQUFFLEdBQWE7Z0JBQ3BCLEtBQUssRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUc7Z0JBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7YUFDN0IsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO3VHQWpEVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQiwyTkF0QmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJULDREQUNTLGVBQWU7OzJGQUVkLGdCQUFnQjtrQkF4QjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lbnVTZXJ2aWNlLCBTdHlsZVNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHtcbiAgRmllbGRUeXBlLFxuICBnZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zLFxuICBnZXRNb2RlbE9wdGlvbnMsXG4gIElGaWVsZExpc3RNZXRhZGF0YSxcbiAgSU1vZGVsRmlsdGVyLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZENvbmZpZyB9IGZyb20gJy4uLy4uL2NydWQuY29uZmlnJztcbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcic7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgb25seSB0byB1c2UgaW4gY3J1ZCBtb2R1bGVcbiAqIEByZXF1aXJlcyBDcnVkTW9kdWxlXG4gKiBAZXhhbXBsZVxuICpcbiAqIGh0bWw6IDxzbWFydC1jcnVkLWZpbHRlcnM+PC9zbWFydC1jcnVkLWZpbHRlcnM+XG4gKlxuICogdXNlIG9uIHRoZSBtb2RlbDpcbiAqIEBNb2RlbCh7XG4gICAgdGl0bGVLZXk6ICdib2R5JyxcbiAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAndGVzdE5lZ2F0aW9uJyxcbiAgICAgICAgICAgIGtleTogJ2JvZHknLFxuICAgICAgICAgICAgdHlwZTogJyE9JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdmcm9tRGF0ZScsXG4gICAgICAgICAgICBrZXk6ICdjcmVhdGVEYXRlJyxcbiAgICAgICAgICAgIHR5cGU6ICc8PScsXG4gICAgICAgICAgICBmaWVsZFR5cGU6IEZpZWxkVHlwZS5kYXRlV2l0aEVkaXRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdzZWxlY3QnLFxuICAgICAgICAgICAga2V5OiAndHlwZScsXG4gICAgICAgICAgICB0eXBlOiAnPScsXG4gICAgICAgICAgICBmaWVsZFR5cGU6IEZpZWxkVHlwZS5yYWRpbyxcbiAgICAgICAgICAgIHBvc3NpYmlsaXRpZXMkOiBvZihbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpZDogMSwgdGV4dDogJ1Rlc3QgMSdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IDIsIHRleHQ6ICdUZXN0IDInXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSlcbiAgICAgICAgfVxuICAgIF1cbn0pXG4gKlxuICogdXNlIG9uIHRoZSBmaWVsZCAobGlzdC5maWx0ZXIgcHJvcGVydHkpOlxuICogQEZpZWxkKHtcbiAgICAgICAgY3JlYXRlOiBtb2RpZnlNZXRkYXRhLFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICAgIC4uLm1vZGlmeU1ldGRhdGEsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBGaWVsZFR5cGUubG9uZ1RleHQsXG4gICAgICAgIGRldGFpbHM6IHRydWUsXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgZmlsdGVyOiB0cnVlXG4gICAgICAgIH1cbiAgICB9KVxuIGJvZHk6IHN0cmluZztcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tPGlvbi1oZWFkZXIgW2hpZGRlbl09XCJoaWRlTWVudSgpXCI+LS0+XG4gICAgPCEtLSAgPGlvbi10b29sYmFyPi0tPlxuICAgIDwhLS0gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj4tLT5cbiAgICA8IS0tICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPi0tPlxuICAgIDwhLS0gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+IDwvaW9uLWljb24+LS0+XG4gICAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgICA8IS0tICAgIDwvaW9uLWJ1dHRvbnM+LS0+XG4gICAgPCEtLSAgICA8aW9uLXRpdGxlPnt7ICdmaWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLXRpdGxlPi0tPlxuICAgIDwhLS0gIDwvaW9uLXRvb2xiYXI+LS0+XG4gICAgPCEtLTwvaW9uLWhlYWRlcj4tLT5cbiAgICA8IS0tPGlvbi1jb250ZW50IHN0eWxlPVwiaGVpZ2h0OiAxMDB2aFwiPi0tPlxuICAgIDwhLS0gIDxpb24tbGlzdD4tLT5cbiAgICBAZm9yIChpdGVtIG9mIGxpc3QoKTsgdHJhY2sgaXRlbSkge1xuICAgICAgPHNtYXJ0LWNydWQtZmlsdGVyIFtpdGVtXT1cIml0ZW1cIiBbZmlsdGVyXT1cImZpbHRlcigpXCI+PC9zbWFydC1jcnVkLWZpbHRlcj5cbiAgICB9XG4gICAgPCEtLSAgPC9pb24tbGlzdD4tLT5cbiAgICA8ZGl2IGNsYXNzPVwiaC0yMFwiPiZuYnNwOzwvZGl2PlxuICAgIDwhLS08L2lvbi1jb250ZW50Pi0tPlxuICBgLFxuICBpbXBvcnRzOiBbRmlsdGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0NvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbWVudVNlcnZpY2UgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChDcnVkQ29uZmlnPFQ+KTtcbiAgcHJpdmF0ZSBmYWNhZGUgPSBpbmplY3QoQ3J1ZEZhY2FkZTxUPik7XG4gIHByaXZhdGUgc3R5bGVTZXJ2aWNlID0gaW5qZWN0KFN0eWxlU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBsaXN0ITogV3JpdGFibGVTaWduYWw8QXJyYXk8SU1vZGVsRmlsdGVyPj47XG5cbiAgZmlsdGVyITogU2lnbmFsPElDcnVkRmlsdGVyIHwgdW5kZWZpbmVkPjtcblxuICAvKipcbiAgICogSGlkZSBtZW51IHVzZWQgb25seSBmcm9tIE1lbnVTZXJ2aWNlXG4gICAqL1xuICByZWFkb25seSBoaWRlTWVudTogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgYXN5bmMgb25DbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG4gICAgdGhpcy5saXN0ID0gc2lnbmFsKFtdKTtcblxuICAgIGNvbnN0IG1vZGVsRmlsdGVycyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKS5maWx0ZXJzO1xuXG4gICAgdGhpcy5saXN0LnNldChbXG4gICAgICAuLi4obW9kZWxGaWx0ZXJzXG4gICAgICAgID8gbW9kZWxGaWx0ZXJzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICAgIGl0ZW0ubGFiZWwgPSAnTU9ERUwuJyArIGl0ZW0ua2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgfSlcbiAgICAgICAgOiBbXSksXG4gICAgICAuLi5nZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zKG5ldyB0aGlzLmNvbmZpZy50eXBlKCkpXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IChpdGVtLm9wdGlvbnM/Lmxpc3QgYXMgSUZpZWxkTGlzdE1ldGFkYXRhKT8uZmlsdGVyKVxuICAgICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgICAgdHlwZTpcbiAgICAgICAgICAgIGl0ZW0ub3B0aW9ucy50eXBlID09PSBGaWVsZFR5cGUudGV4dCB8fFxuICAgICAgICAgICAgaXRlbS5vcHRpb25zLnR5cGUgPT09IEZpZWxkVHlwZS5sb25nVGV4dFxuICAgICAgICAgICAgICA/ICgnfj0nIGFzIGNvbnN0KVxuICAgICAgICAgICAgICA6ICgnPScgYXMgY29uc3QpLFxuICAgICAgICAgIGxhYmVsOiAnTU9ERUwuJyArIGl0ZW0ua2V5LFxuICAgICAgICAgIGZpZWxkVHlwZTogaXRlbS5vcHRpb25zLnR5cGUsXG4gICAgICAgIH0pKSxcbiAgICBdKTtcbiAgICB0aGlzLmZpbHRlciA9IHRoaXMuZmFjYWRlLmZpbHRlcjtcbiAgfVxufVxuIl19","import { Component, computed, ElementRef, inject, } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { StyleService } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class FiltersConfigComponent {\n facade = inject((CrudFacade));\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n query;\n onRemoveQuery(item) {\n const filter = this.facade.filter();\n if (filter?.query) {\n const index = filter.query.indexOf(item);\n if (index > -1) {\n filter.query.splice(index, 1);\n }\n }\n this.facade.read(this.facade.filter());\n }\n ngOnInit() {\n this.styleService.init(this.elementRef);\n this.query = computed(() => {\n const filter = this.facade.filter();\n return filter?.query?.filter((i) => !i.hidden) || [];\n }, ...(ngDevMode ? [{ debugName: \"query\" }] : []));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: FiltersConfigComponent, isStandalone: true, selector: \"smart-crud-filters-config\", ngImport: i0, template: `\n @let query = this.query();\n @if (query && query?.length) {\n <!-- <ion-toolbar>-->\n @for (item of query; track item) {\n <!-- <ion-chip (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">-->\n <!-- <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ 'MODEL.' + item.key | translate }} {{ item.type }}\n {{ item.value | translate }}\n <!-- </ion-label>-->\n <!-- <ion-icon name=\"close\" color=\"danger\"></ion-icon>-->\n <!-- </ion-chip>-->\n }\n <!-- </ion-toolbar>-->\n }\n `, isInline: true, styles: [\":host ion-label{font-size:var(--small-font-size)}\\n\"], dependencies: [{ kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersConfigComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-filters-config', template: `\n @let query = this.query();\n @if (query && query?.length) {\n <!-- <ion-toolbar>-->\n @for (item of query; track item) {\n <!-- <ion-chip (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">-->\n <!-- <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>-->\n <!-- <ion-label>-->\n {{ 'MODEL.' + item.key | translate }} {{ item.type }}\n {{ item.value | translate }}\n <!-- </ion-label>-->\n <!-- <ion-icon name=\"close\" color=\"danger\"></ion-icon>-->\n <!-- </ion-chip>-->\n }\n <!-- </ion-toolbar>-->\n }\n `, imports: [TranslatePipe], styles: [\":host ion-label{font-size:var(--small-font-size)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzLWNvbmZpZy9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFpQ3RELE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWUsQ0FBQSxDQUFDLENBQUM7SUFDMUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhDLEtBQUssQ0FBa0M7SUFFdkMsYUFBYSxDQUFDLElBQTBCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEMsSUFBSSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDZixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsT0FBTyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZELENBQUMsaURBQUMsQ0FBQztJQUNMLENBQUM7dUdBekJVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLHFGQTVCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsd0hBQ1MsYUFBYTs7MkZBV1osc0JBQXNCO2tCQTlCbEMsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsV0FDUSxDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgT25Jbml0LFxuICBTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuXG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSAnLi4vLi4vK3N0YXRlL2NydWQuZmFjYWRlJztcbmltcG9ydCB7IElDcnVkRmlsdGVyUXVlcnlJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1maWx0ZXJzLWNvbmZpZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGxldCBxdWVyeSA9IHRoaXMucXVlcnkoKTtcbiAgICBAaWYgKHF1ZXJ5ICYmIHF1ZXJ5Py5sZW5ndGgpIHtcbiAgICAgIDwhLS0gIDxpb24tdG9vbGJhcj4tLT5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgcXVlcnk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgPCEtLSAgICAgIDxpb24tY2hpcCAoY2xpY2spPVwib25SZW1vdmVRdWVyeShpdGVtKVwiIGNvbG9yPVwibWVkaXVtXCIgb3V0bGluZT1cInRydWVcIj4tLT5cbiAgICAgICAgPCEtLSAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJmaWx0ZXItY2lyY2xlLW91dGxpbmVcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPi0tPlxuICAgICAgICA8IS0tICAgICAgICA8aW9uLWxhYmVsPi0tPlxuICAgICAgICB7eyAnTU9ERUwuJyArIGl0ZW0ua2V5IHwgdHJhbnNsYXRlIH19IHt7IGl0ZW0udHlwZSB9fVxuICAgICAgICB7eyBpdGVtLnZhbHVlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwhLS0gICAgICAgIDwvaW9uLWxhYmVsPi0tPlxuICAgICAgICA8IS0tICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCIgY29sb3I9XCJkYW5nZXJcIj48L2lvbi1pY29uPi0tPlxuICAgICAgICA8IS0tICAgICAgPC9pb24tY2hpcD4tLT5cbiAgICAgIH1cbiAgICAgIDwhLS0gIDwvaW9uLXRvb2xiYXI+LS0+XG4gICAgfVxuICBgLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgaW9uLWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNtYWxsLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBmYWNhZGUgPSBpbmplY3QoQ3J1ZEZhY2FkZTxhbnk+KTtcbiAgcHJpdmF0ZSBzdHlsZVNlcnZpY2UgPSBpbmplY3QoU3R5bGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHF1ZXJ5ITogU2lnbmFsPElDcnVkRmlsdGVyUXVlcnlJdGVtW10+O1xuXG4gIG9uUmVtb3ZlUXVlcnkoaXRlbTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICBpZiAoZmlsdGVyPy5xdWVyeSkge1xuICAgICAgY29uc3QgaW5kZXggPSBmaWx0ZXIucXVlcnkuaW5kZXhPZihpdGVtKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGZpbHRlci5xdWVyeS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZhY2FkZS5yZWFkKHRoaXMuZmFjYWRlLmZpbHRlcigpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmluaXQodGhpcy5lbGVtZW50UmVmKTtcblxuICAgIHRoaXMucXVlcnkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICAgIHJldHVybiBmaWx0ZXI/LnF1ZXJ5Py5maWx0ZXIoKGkpID0+ICFpLmhpZGRlbikgfHwgW107XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\n/**\n * @deprecated - please, use IModelPossibilitiesProvider from @smartsoft001/angular\n */\nexport class ICrudModelPossibilitiesProvider {\n}\n/**\n * @deprecated - please, use MODEL_POSSIBILITIES_PROVIDER from @smartsoft001/angular\n */\nexport const CRUD_MODEL_POSSIBILITIES_PROVIDER = new InjectionToken('CRUD_MODEL_POSSIBILITIES_PROVIDER');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcG9zc2liaWxpdGllcy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3Byb3ZpZGVycy9tb2RlbC1wb3NzaWJpbGl0aWVzL21vZGVsLXBvc3NpYmlsaXRpZXMucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQzs7R0FFRztBQUNILE1BQU0sT0FBZ0IsK0JBQStCO0NBSXBEO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FDNUMsSUFBSSxjQUFjLENBQ2hCLG1DQUFtQyxDQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSwgdXNlIElNb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlciBmcm9tIEBzbWFydHNvZnQwMDEvYW5ndWxhclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSUNydWRNb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldDxUPih0eXBlOiBhbnkpOiB7XG4gICAgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTx7IGlkOiBhbnk7IHRleHQ6IHN0cmluZyB9W10+O1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIC0gcGxlYXNlLCB1c2UgTU9ERUxfUE9TU0lCSUxJVElFU19QUk9WSURFUiBmcm9tIEBzbWFydHNvZnQwMDEvYW5ndWxhclxuICovXG5leHBvcnQgY29uc3QgQ1JVRF9NT0RFTF9QT1NTSUJJTElUSUVTX1BST1ZJREVSID1cbiAgbmV3IEluamVjdGlvblRva2VuPElDcnVkTW9kZWxQb3NzaWJpbGl0aWVzUHJvdmlkZXI+KFxuICAgICdDUlVEX01PREVMX1BPU1NJQklMSVRJRVNfUFJPVklERVInLFxuICApO1xuIl19","import { inject, Pipe } from '@angular/core';\nimport { CRUD_MODEL_POSSIBILITIES_PROVIDER } from '../../providers/model-possibilities/model-possibilities.provider';\nimport * as i0 from \"@angular/core\";\nexport class FormOptionsPipe {\n modelPossibilitiesProvider = inject(CRUD_MODEL_POSSIBILITIES_PROVIDER);\n transform(item, mode, type, uniqueProvider, inputComponents) {\n if (!mode || !type)\n return null;\n let possibilities = {};\n if (type && this.modelPossibilitiesProvider) {\n possibilities = this.modelPossibilitiesProvider.get(type);\n }\n if (mode === 'create') {\n return {\n mode: 'create',\n possibilities,\n inputComponents,\n uniqueProvider,\n model: new type(),\n show: true,\n };\n }\n else {\n const model = new type();\n if (item) {\n Object.keys(item).forEach((key) => {\n model[key] = item[key];\n });\n }\n return {\n mode: mode,\n uniqueProvider,\n possibilities: possibilities,\n inputComponents,\n model: model,\n show: true,\n };\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FormOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: FormOptionsPipe, isStandalone: true, name: \"smartFormOptions\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FormOptionsPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'smartFormOptions',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vcHRpb25zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9waXBlcy9mb3JtLW9wdGlvbnMvZm9ybS1vcHRpb25zLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBS2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtFQUFrRSxDQUFDOztBQUtySCxNQUFNLE9BQU8sZUFBZTtJQUdsQiwwQkFBMEIsR0FBRyxNQUFNLENBQ3pDLGlDQUFpQyxDQUNsQyxDQUFDO0lBRUYsU0FBUyxDQUNQLElBQU8sRUFDUCxJQUFZLEVBQ1osSUFBUyxFQUNULGNBQW1FLEVBQ25FLGVBQWtFO1FBRWxFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFXLENBQUM7UUFFdkMsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQzVDLGFBQWEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFFRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPO2dCQUNMLElBQUksRUFBRSxRQUFRO2dCQUNkLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixjQUFjO2dCQUNkLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDakIsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBRXpCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDL0IsS0FBYSxDQUFDLEdBQUcsQ0FBQyxHQUFJLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixjQUFjO2dCQUNkLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixlQUFlO2dCQUNmLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3VHQWpEVSxlQUFlO3FHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSUZvcm1PcHRpb25zLCBJbnB1dEJhc2VDb21wb25lbnQgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBDUlVEX01PREVMX1BPU1NJQklMSVRJRVNfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbW9kZWwtcG9zc2liaWxpdGllcy9tb2RlbC1wb3NzaWJpbGl0aWVzLnByb3ZpZGVyJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc21hcnRGb3JtT3B0aW9ucycsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1PcHRpb25zUGlwZTxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm1cbntcbiAgcHJpdmF0ZSBtb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlciA9IGluamVjdChcbiAgICBDUlVEX01PREVMX1BPU1NJQklMSVRJRVNfUFJPVklERVIsXG4gICk7XG5cbiAgdHJhbnNmb3JtKFxuICAgIGl0ZW06IFQsXG4gICAgbW9kZTogc3RyaW5nLFxuICAgIHR5cGU6IGFueSxcbiAgICB1bmlxdWVQcm92aWRlcj86ICh2YWx1ZXM6IFJlY29yZDxrZXlvZiBULCBhbnk+KSA9PiBQcm9taXNlPGJvb2xlYW4+LFxuICAgIGlucHV0Q29tcG9uZW50cz86IHsgW2tleTogc3RyaW5nXTogVHlwZTxJbnB1dEJhc2VDb21wb25lbnQ8YW55Pj4gfSxcbiAgKTogSUZvcm1PcHRpb25zPFQ+IHtcbiAgICBpZiAoIW1vZGUgfHwgIXR5cGUpIHJldHVybiBudWxsIGFzIGFueTtcblxuICAgIGxldCBwb3NzaWJpbGl0aWVzID0ge307XG5cbiAgICBpZiAodHlwZSAmJiB0aGlzLm1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyKSB7XG4gICAgICBwb3NzaWJpbGl0aWVzID0gdGhpcy5tb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlci5nZXQodHlwZSk7XG4gICAgfVxuXG4gICAgaWYgKG1vZGUgPT09ICdjcmVhdGUnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiAnY3JlYXRlJyxcbiAgICAgICAgcG9zc2liaWxpdGllcyxcbiAgICAgICAgaW5wdXRDb21wb25lbnRzLFxuICAgICAgICB1bmlxdWVQcm92aWRlcixcbiAgICAgICAgbW9kZWw6IG5ldyB0eXBlKCksXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb2RlbCA9IG5ldyB0eXBlKCk7XG5cbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgIChtb2RlbCBhcyBhbnkpW2tleV0gPSAoaXRlbSBhcyBhbnkpW2tleV07XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiBtb2RlLFxuICAgICAgICB1bmlxdWVQcm92aWRlcixcbiAgICAgICAgcG9zc2liaWxpdGllczogcG9zc2liaWxpdGllcyxcbiAgICAgICAgaW5wdXRDb21wb25lbnRzLFxuICAgICAgICBtb2RlbDogbW9kZWwsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { FormOptionsPipe } from './form-options/form-options.pipe';\nimport * as i0 from \"@angular/core\";\nexport class CrudPipesModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule, imports: [FormOptionsPipe], exports: [FormOptionsPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudPipesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [FormOptionsPipe],\n imports: [FormOptionsPipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQU1uRSxNQUFNLE9BQU8sZUFBZTt1R0FBZixlQUFlO3dHQUFmLGVBQWUsWUFGaEIsZUFBZSxhQURmLGVBQWU7d0dBR2QsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb3JtT3B0aW9uc1BpcGUgfSBmcm9tICcuL2Zvcm0tb3B0aW9ucy9mb3JtLW9wdGlvbnMucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtGb3JtT3B0aW9uc1BpcGVdLFxuICBpbXBvcnRzOiBbRm9ybU9wdGlvbnNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZFBpcGVzTW9kdWxlIHt9XG4iXX0=","import { NgComponentOutlet } from '@angular/common';\nimport { Component, computed, inject } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { DynamicIoDirective } from 'ng-dynamic-component';\nimport { ButtonComponent, FormComponent, MenuService, } from '@smartsoft001/angular';\nimport { getModelFieldsWithOptions, } from '@smartsoft001/models';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { CrudFullConfig } from '../../crud.config';\nimport { FormOptionsPipe } from '../../pipes';\nimport * as i0 from \"@angular/core\";\nexport class MultiselectComponent {\n facade = inject((CrudFacade));\n config = inject((CrudFullConfig));\n menuService = inject(MenuService);\n _list;\n _changes;\n item;\n valid;\n buttonOptions = {\n click: async () => {\n const result = this._list.map((item) => {\n return {\n ...this._changes,\n id: item.id,\n };\n });\n this.facade.updatePartialMany(result);\n await this.menuService.closeEnd();\n },\n confirm: true,\n };\n lock;\n showForm = false;\n list;\n constructor() {\n this.list = computed(() => {\n const list = this.facade.multiSelected() || [];\n this.lock = true;\n const model = new this.config.type();\n const fieldsWithOptions = getModelFieldsWithOptions(model).filter((f) => f.options.update?.multi);\n this.showForm = !!fieldsWithOptions.length;\n fieldsWithOptions.forEach(({ key }) => {\n const uniques = _.uniq(list.map((i) => i[key]));\n if (uniques.length === 1) {\n model[key] = uniques[0];\n }\n });\n this.item = model;\n return list;\n }, ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n }\n async onClose() {\n await this.menuService.closeEnd();\n }\n onPartialChange(changes, list) {\n this.lock = false;\n this._list = list;\n this._changes = changes;\n }\n onValidChange(valid) {\n this.valid = valid;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: MultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: MultiselectComponent, isStandalone: true, selector: \"smart-crud-multiselect\", ngImport: i0, template: \"@let list = this.list();\\n@if (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\\n }}<!--</ion-title>-->\\n <!-- </ion-toolbar>-->\\n <!-- </ion-header>-->\\n\\n @if (config?.list?.components?.multi) {\\n <div>\\n <ng-template\\n [ngComponentOutlet]=\\\"config?.list?.components?.multi\\\"\\n [ndcDynamicInputs]=\\\"{ items: list }\\\"\\n ></ng-template>\\n </div>\\n }\\n\\n @if (showForm && item) {\\n <div>\\n <smart-form\\n [options]=\\\"item | smartFormOptions: 'multiUpdate' : config.type\\\"\\n (valuePartialChange)=\\\"onPartialChange($event, list)\\\"\\n (validChange)=\\\"onValidChange($event)\\\"\\n ></smart-form>\\n\\n <smart-button\\n style=\\\"float: right\\\"\\n [disabled]=\\\"lock || !valid\\\"\\n [options]=\\\"buttonOptions\\\"\\n >\\n {{ 'change' | translate }}\\n </smart-button>\\n </div>\\n }\\n}\\n\", dependencies: [{ kind: \"directive\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"directive\", type: DynamicIoDirective, selector: \"[ndcDynamicInputs],[ndcDynamicOutputs]\", inputs: [\"ndcDynamicInputs\", \"ndcDynamicOutputs\"], exportAs: [\"ndcDynamicIo\"] }, { kind: \"component\", type: FormComponent, selector: \"smart-form\", inputs: [\"options\"], outputs: [\"invokeSubmit\", \"valueChange\", \"valuePartialChange\", \"validChange\"] }, { kind: \"component\", type: ButtonComponent, selector: \"smart-button\", inputs: [\"options\", \"disabled\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }, { kind: \"pipe\", type: FormOptionsPipe, name: \"smartFormOptions\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: MultiselectComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-multiselect', imports: [\n TranslatePipe,\n NgComponentOutlet,\n DynamicIoDirective,\n FormOptionsPipe,\n FormComponent,\n ButtonComponent,\n ], template: \"@let list = this.list();\\n@if (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\\n }}<!--</ion-title>-->\\n <!-- </ion-toolbar>-->\\n <!-- </ion-header>-->\\n\\n @if (config?.list?.components?.multi) {\\n <div>\\n <ng-template\\n [ngComponentOutlet]=\\\"config?.list?.components?.multi\\\"\\n [ndcDynamicInputs]=\\\"{ items: list }\\\"\\n ></ng-template>\\n </div>\\n }\\n\\n @if (showForm && item) {\\n <div>\\n <smart-form\\n [options]=\\\"item | smartFormOptions: 'multiUpdate' : config.type\\\"\\n (valuePartialChange)=\\\"onPartialChange($event, list)\\\"\\n (validChange)=\\\"onValidChange($event)\\\"\\n ></smart-form>\\n\\n <smart-button\\n style=\\\"float: right\\\"\\n [disabled]=\\\"lock || !valid\\\"\\n [options]=\\\"buttonOptions\\\"\\n >\\n {{ 'change' | translate }}\\n </smart-button>\\n </div>\\n }\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aXNlbGVjdC9tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBRWIsV0FBVyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNMLHlCQUF5QixHQUUxQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFjOUMsTUFBTSxPQUFPLG9CQUFvQjtJQUN2QixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FB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QUNQLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEeW5hbWljSW9EaXJlY3RpdmUgfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRm9ybUNvbXBvbmVudCxcbiAgSUJ1dHRvbk9wdGlvbnMsXG4gIE1lbnVTZXJ2aWNlLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyxcbiAgSUZpZWxkRWRpdE1ldGFkYXRhLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL21vZGVscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtT3B0aW9uc1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICBEeW5hbWljSW9EaXJlY3RpdmUsXG4gICAgRm9ybU9wdGlvbnNQaXBlLFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXNlbGVjdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiB7XG4gIHByaXZhdGUgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuICBwdWJsaWMgY29uZmlnID0gaW5qZWN0KENydWRGdWxsQ29uZmlnPFQ+KTtcbiAgcHJpdmF0ZSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBfbGlzdCE6IEFycmF5PFQ+O1xuICBwcml2YXRlIF9jaGFuZ2VzITogUGFydGlhbDxUPjtcblxuICBpdGVtITogVDtcbiAgdmFsaWQhOiBib29sZWFuO1xuICBidXR0b25PcHRpb25zOiBJQnV0dG9uT3B0aW9ucyA9IHtcbiAgICBjbGljazogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fbGlzdC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLl9jaGFuZ2VzLFxuICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVBhcnRpYWxNYW55KHJlc3VsdCk7XG4gICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgfSxcbiAgICBjb25maXJtOiB0cnVlLFxuICB9O1xuICBsb2NrITogYm9vbGVhbjtcbiAgc2hvd0Zvcm0gPSBmYWxzZTtcblxuICBsaXN0ITogU2lnbmFsPFRbXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5saXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0ZWQoKSB8fCBbXTtcbiAgICAgIHRoaXMubG9jayA9IHRydWU7XG4gICAgICBjb25zdCBtb2RlbCA9IG5ldyB0aGlzLmNvbmZpZy50eXBlKCk7XG5cbiAgICAgIGNvbnN0IGZpZWxkc1dpdGhPcHRpb25zID0gZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyhtb2RlbCkuZmlsdGVyKFxuICAgICAgICAoZikgPT4gKGYub3B0aW9ucy51cGRhdGUgYXMgSUZpZWxkRWRpdE1ldGFkYXRhKT8ubXVsdGksXG4gICAgICApO1xuXG4gICAgICB0aGlzLnNob3dGb3JtID0gISFmaWVsZHNXaXRoT3B0aW9ucy5sZW5ndGg7XG5cbiAgICAgIGZpZWxkc1dpdGhPcHRpb25zLmZvckVhY2goKHsga2V5IH0pID0+IHtcbiAgICAgICAgY29uc3QgdW5pcXVlcyA9IF8udW5pcShsaXN0Lm1hcCgoaSkgPT4gaVtrZXldKSk7XG5cbiAgICAgICAgaWYgKHVuaXF1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgbW9kZWxba2V5XSA9IHVuaXF1ZXNbMF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLml0ZW0gPSBtb2RlbDtcblxuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBvbkNsb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcbiAgfVxuXG4gIG9uUGFydGlhbENoYW5nZShjaGFuZ2VzOiBQYXJ0aWFsPFQ+LCBsaXN0OiBBcnJheTxUPikge1xuICAgIHRoaXMubG9jayA9IGZhbHNlO1xuICAgIHRoaXMuX2xpc3QgPSBsaXN0O1xuICAgIHRoaXMuX2NoYW5nZXMgPSBjaGFuZ2VzO1xuICB9XG5cbiAgb25WYWxpZENoYW5nZSh2YWxpZDogYm9vbGVhbikge1xuICAgIHRoaXMudmFsaWQgPSB2YWxpZDtcbiAgfVxufVxuIiwiQGxldCBsaXN0ID0gdGhpcy5saXN0KCk7XG5AaWYgKGxpc3QpIHtcbiAgPCEtLSAgPGlvbi1oZWFkZXI+LS0+XG4gIDwhLS0gICAgPGlvbi10b29sYmFyPi0tPlxuICA8IS0tICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj4tLT5cbiAgPCEtLSAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPi0tPlxuICA8IS0tICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+IDwvaW9uLWljb24+LS0+XG4gIDwhLS0gICAgICAgIDwvaW9uLWJ1dHRvbj4tLT5cbiAgPCEtLSAgICAgIDwvaW9uLWJ1dHRvbnM+LS0+XG4gIDwhLS08aW9uLXRpdGxlPi0tPnt7ICdzZWxlY3RlZCcgfCB0cmFuc2xhdGUgfX06IHt7IGxpc3Q/Lmxlbmd0aFxuICB9fTwhLS08L2lvbi10aXRsZT4tLT5cbiAgPCEtLSAgICA8L2lvbi10b29sYmFyPi0tPlxuICA8IS0tICA8L2lvbi1oZWFkZXI+LS0+XG5cbiAgQGlmIChjb25maWc/Lmxpc3Q/LmNvbXBvbmVudHM/Lm11bHRpKSB7XG4gICAgPGRpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRdPVwiY29uZmlnPy5saXN0Py5jb21wb25lbnRzPy5tdWx0aVwiXG4gICAgICAgIFtuZGNEeW5hbWljSW5wdXRzXT1cInsgaXRlbXM6IGxpc3QgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc2hvd0Zvcm0gJiYgaXRlbSkge1xuICAgIDxkaXY+XG4gICAgICA8c21hcnQtZm9ybVxuICAgICAgICBbb3B0aW9uc109XCJpdGVtIHwgc21hcnRGb3JtT3B0aW9uczogJ211bHRpVXBkYXRlJyA6IGNvbmZpZy50eXBlXCJcbiAgICAgICAgKHZhbHVlUGFydGlhbENoYW5nZSk9XCJvblBhcnRpYWxDaGFuZ2UoJGV2ZW50LCBsaXN0KVwiXG4gICAgICAgICh2YWxpZENoYW5nZSk9XCJvblZhbGlkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc21hcnQtZm9ybT5cblxuICAgICAgPHNtYXJ0LWJ1dHRvblxuICAgICAgICBzdHlsZT1cImZsb2F0OiByaWdodFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJsb2NrIHx8ICF2YWxpZFwiXG4gICAgICAgIFtvcHRpb25zXT1cImJ1dHRvbk9wdGlvbnNcIlxuICAgICAgPlxuICAgICAgICB7eyAnY2hhbmdlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zbWFydC1idXR0b24+XG4gICAgPC9kaXY+XG4gIH1cbn1cbiJdfQ==","import { __decorate, __metadata } from \"tslib\";\nimport { inject, Injectable } from '@angular/core';\nimport { debounce } from 'lodash-decorators';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class CrudListGroupService {\n facade = inject((CrudFacade));\n _destroyed = [];\n change(val, item, force = false) {\n if (val || force) {\n item.changed = true;\n const filter = this.facade.filter();\n let current = filter?.query?.find((q) => q.key === item.key && q.type === '=');\n if (!current) {\n current = {\n key: item.key,\n type: '=',\n value: null,\n };\n if (filter?.query) {\n filter.query.push(current);\n }\n }\n current.value = item.value;\n current.hidden = true;\n this.facade.read({\n ...this.facade.filter(),\n offset: 0,\n });\n }\n }\n destroy(groups) {\n this._destroyed = [\n ...(this._destroyed ? this._destroyed : []),\n ...groups.filter((g) => g.changed),\n ];\n this.refresh();\n }\n refresh() {\n const list = this._destroyed;\n this._destroyed = [];\n const filter = this.facade.filter();\n const newQuery = filter?.query?.filter((q) => !list.some((i) => q.key === i.key)) || [];\n this.facade.read({\n ...this.facade.filter(),\n query: newQuery,\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListGroupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListGroupService });\n}\n__decorate([\n debounce(250),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CrudListGroupService.prototype, \"refresh\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListGroupService, decorators: [{\n type: Injectable\n }], propDecorators: { refresh: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ncm91cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvbGlzdC1ncm91cC9saXN0LWdyb3VwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSXRELE1BQU0sT0FBTyxvQkFBb0I7SUFDdkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWEsQ0FBQSxDQUFDLENBQUM7SUFFL0IsVUFBVSxHQUEwQixFQUFFLENBQUM7SUFFL0MsTUFBTSxDQUFDLEdBQVksRUFBRSxJQUFvQixFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3RELElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBRXBCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQy9CLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQzVDLENBQUM7WUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxHQUFHO29CQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDYixJQUFJLEVBQUUsR0FBRztvQkFDVCxLQUFLLEVBQUUsSUFBSTtpQkFDWixDQUFDO2dCQUNGLElBQUksTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUM7WUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDM0IsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFFdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsTUFBTSxFQUFFLENBQUM7YUFDVixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUE2QjtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ25DLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUdPLE9BQU87UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQ1osTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBekRVLG9CQUFvQjsyR0FBcEIsb0JBQW9COztBQTZDdkI7SUFEUCxRQUFRLENBQUMsR0FBRyxDQUFDOzs7O21EQWFiOzJGQXpEVSxvQkFBb0I7a0JBRGhDLFVBQVU7OEJBOENELE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoLWRlY29yYXRvcnMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgSUNydWRMaXN0R3JvdXAgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZExpc3RHcm91cFNlcnZpY2U8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBwcml2YXRlIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcblxuICBwcml2YXRlIF9kZXN0cm95ZWQ6IEFycmF5PElDcnVkTGlzdEdyb3VwPiA9IFtdO1xuXG4gIGNoYW5nZSh2YWw6IGJvb2xlYW4sIGl0ZW06IElDcnVkTGlzdEdyb3VwLCBmb3JjZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHZhbCB8fCBmb3JjZSkge1xuICAgICAgaXRlbS5jaGFuZ2VkID0gdHJ1ZTtcblxuICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5mYWNhZGUuZmlsdGVyKCk7XG4gICAgICBsZXQgY3VycmVudCA9IGZpbHRlcj8ucXVlcnk/LmZpbmQoXG4gICAgICAgIChxKSA9PiBxLmtleSA9PT0gaXRlbS5rZXkgJiYgcS50eXBlID09PSAnPScsXG4gICAgICApO1xuXG4gICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgY3VycmVudCA9IHtcbiAgICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGZpbHRlcj8ucXVlcnkpIHtcbiAgICAgICAgICBmaWx0ZXIucXVlcnkucHVzaChjdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjdXJyZW50LnZhbHVlID0gaXRlbS52YWx1ZTtcbiAgICAgIGN1cnJlbnQuaGlkZGVuID0gdHJ1ZTtcblxuICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgIC4uLnRoaXMuZmFjYWRlLmZpbHRlcigpLFxuICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KGdyb3VwczogQXJyYXk8SUNydWRMaXN0R3JvdXA+KTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveWVkID0gW1xuICAgICAgLi4uKHRoaXMuX2Rlc3Ryb3llZCA/IHRoaXMuX2Rlc3Ryb3llZCA6IFtdKSxcbiAgICAgIC4uLmdyb3Vwcy5maWx0ZXIoKGcpID0+IGcuY2hhbmdlZCksXG4gICAgXTtcblxuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgQGRlYm91bmNlKDI1MClcbiAgcHJpdmF0ZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLl9kZXN0cm95ZWQ7XG4gICAgdGhpcy5fZGVzdHJveWVkID0gW107XG5cbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICBjb25zdCBuZXdRdWVyeSA9XG4gICAgICBmaWx0ZXI/LnF1ZXJ5Py5maWx0ZXIoKHEpID0+ICFsaXN0LnNvbWUoKGkpID0+IHEua2V5ID09PSBpLmtleSkpIHx8IFtdO1xuXG4gICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAuLi50aGlzLmZhY2FkZS5maWx0ZXIoKSxcbiAgICAgIHF1ZXJ5OiBuZXdRdWVyeSxcbiAgICB9KTtcbiAgfVxufVxuIl19","import { NgClass } from '@angular/common';\nimport { Component, ElementRef, inject, input, } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { AccordionBodyComponent, AccordionComponent, AccordionHeaderComponent, BaseComponent, ListComponent, StyleService, } from '@smartsoft001/angular';\nimport { CrudListGroupService } from '../../services/list-group/list-group.service';\nimport * as i0 from \"@angular/core\";\nexport class GroupComponent extends BaseComponent {\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n groupService = inject((CrudListGroupService));\n groups = input(null, ...(ngDevMode ? [{ debugName: \"groups\" }] : []));\n listOptions = input(null, ...(ngDevMode ? [{ debugName: \"listOptions\" }] : []));\n change(val, item, force = false) {\n const groups = this.groups();\n if (groups) {\n groups\n .filter((i) => i.value !== item.value || i.key !== item.key)\n .forEach((i) => {\n i.show = false;\n });\n }\n this.groupService.change(val, item, force);\n item.show = val;\n }\n ngOnInit() {\n this.styleService.init(this.elementRef);\n }\n ngOnDestroy() {\n const groups = this.groups();\n if (groups) {\n this.groupService.destroy(groups);\n }\n super.ngOnDestroy();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: GroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: GroupComponent, isStandalone: true, selector: \"smart-crud-group\", inputs: { groups: { classPropertyName: \"groups\", publicName: \"groups\", isSignal: true, isRequired: false, transformFunction: null }, listOptions: { classPropertyName: \"listOptions\", publicName: \"listOptions\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `\n @for (item of groups(); track item.key) {\n <smart-accordion\n [show]=\"item.show || false\"\n (showChange)=\"change($event, item)\"\n >\n <smart-accordion-header [ngClass]=\"{ 'font-bold': item.show }\"\n >{{ item.text | translate }}\n </smart-accordion-header>\n <smart-accordion-body>\n @if (item.show && !item.children && listOptions()) {\n <smart-list [options]=\"listOptions()!\"></smart-list>\n }\n @if (item.children) {\n <div style=\"margin-left: 50px\">\n <smart-crud-group\n [groups]=\"item.children\"\n [listOptions]=\"listOptions()\"\n ></smart-crud-group>\n </div>\n }\n </smart-accordion-body>\n </smart-accordion>\n }\n <br /><br /><br />\n `, isInline: true, dependencies: [{ kind: \"component\", type: GroupComponent, selector: \"smart-crud-group\", inputs: [\"groups\", \"listOptions\"] }, { kind: \"component\", type: AccordionComponent, selector: \"smart-accordion\", inputs: [\"show\"], outputs: [\"showChange\"] }, { kind: \"component\", type: AccordionHeaderComponent, selector: \"smart-accordion-header\" }, { kind: \"component\", type: AccordionBodyComponent, selector: \"smart-accordion-body\" }, { kind: \"component\", type: ListComponent, selector: \"smart-list\", inputs: [\"options\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: GroupComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-group',\n template: `\n @for (item of groups(); track item.key) {\n <smart-accordion\n [show]=\"item.show || false\"\n (showChange)=\"change($event, item)\"\n >\n <smart-accordion-header [ngClass]=\"{ 'font-bold': item.show }\"\n >{{ item.text | translate }}\n </smart-accordion-header>\n <smart-accordion-body>\n @if (item.show && !item.children && listOptions()) {\n <smart-list [options]=\"listOptions()!\"></smart-list>\n }\n @if (item.children) {\n <div style=\"margin-left: 50px\">\n <smart-crud-group\n [groups]=\"item.children\"\n [listOptions]=\"listOptions()\"\n ></smart-crud-group>\n </div>\n }\n </smart-accordion-body>\n </smart-accordion>\n }\n <br /><br /><br />\n `,\n imports: [\n AccordionComponent,\n AccordionHeaderComponent,\n AccordionBodyComponent,\n ListComponent,\n NgClass,\n TranslatePipe,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixhQUFhLEVBRWIsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHVCQUF1QixDQUFDO0FBSS9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQXVDcEYsTUFBTSxPQUFPLGNBQ1gsU0FBUSxhQUFhO0lBR2IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQSxvQkFBdUIsQ0FBQSxDQUFDLENBQUM7SUFFOUMsTUFBTSxHQUNiLEtBQUssQ0FBK0IsSUFBSSxrREFBQyxDQUFDO0lBQ25DLFdBQVcsR0FDbEIsS0FBSyxDQUF5QixJQUFJLHVEQUFDLENBQUM7SUFFdEMsTUFBTSxDQUFDLEdBQVksRUFBRSxJQUFvQixFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTTtpQkFDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQzNELE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNiLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVRLFdBQVc7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7dUdBdENVLGNBQWM7MkZBQWQsY0FBYyxvWEFuQ2Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQsNERBVVUsY0FBYyxnR0FSdkIsa0JBQWtCLHVHQUNsQix3QkFBd0IsbUVBQ3hCLHNCQUFzQixpRUFDdEIsYUFBYSw0RUFDYixPQUFPLCtFQUNQLGFBQWE7OzJGQUdKLGNBQWM7a0JBckMxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCVDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixPQUFPO3dCQUNQLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXRTaWduYWwsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWNjb3JkaW9uQm9keUNvbXBvbmVudCxcbiAgQWNjb3JkaW9uQ29tcG9uZW50LFxuICBBY2NvcmRpb25IZWFkZXJDb21wb25lbnQsXG4gIEJhc2VDb21wb25lbnQsXG4gIElMaXN0T3B0aW9ucyxcbiAgTGlzdENvbXBvbmVudCxcbiAgU3R5bGVTZXJ2aWNlLFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBJQ3J1ZExpc3RHcm91cCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDcnVkTGlzdEdyb3VwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1ncm91cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGZvciAoaXRlbSBvZiBncm91cHMoKTsgdHJhY2sgaXRlbS5rZXkpIHtcbiAgICAgIDxzbWFydC1hY2NvcmRpb25cbiAgICAgICAgW3Nob3ddPVwiaXRlbS5zaG93IHx8IGZhbHNlXCJcbiAgICAgICAgKHNob3dDaGFuZ2UpPVwiY2hhbmdlKCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8c21hcnQtYWNjb3JkaW9uLWhlYWRlciBbbmdDbGFzc109XCJ7ICdmb250LWJvbGQnOiBpdGVtLnNob3cgfVwiXG4gICAgICAgICAgPnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NtYXJ0LWFjY29yZGlvbi1oZWFkZXI+XG4gICAgICAgIDxzbWFydC1hY2NvcmRpb24tYm9keT5cbiAgICAgICAgICBAaWYgKGl0ZW0uc2hvdyAmJiAhaXRlbS5jaGlsZHJlbiAmJiBsaXN0T3B0aW9ucygpKSB7XG4gICAgICAgICAgICA8c21hcnQtbGlzdCBbb3B0aW9uc109XCJsaXN0T3B0aW9ucygpIVwiPjwvc21hcnQtbGlzdD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDUwcHhcIj5cbiAgICAgICAgICAgICAgPHNtYXJ0LWNydWQtZ3JvdXBcbiAgICAgICAgICAgICAgICBbZ3JvdXBzXT1cIml0ZW0uY2hpbGRyZW5cIlxuICAgICAgICAgICAgICAgIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9ucygpXCJcbiAgICAgICAgICAgICAgPjwvc21hcnQtY3J1ZC1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zbWFydC1hY2NvcmRpb24tYm9keT5cbiAgICAgIDwvc21hcnQtYWNjb3JkaW9uPlxuICAgIH1cbiAgICA8YnIgLz48YnIgLz48YnIgLz5cbiAgYCxcbiAgaW1wb3J0czogW1xuICAgIEFjY29yZGlvbkNvbXBvbmVudCxcbiAgICBBY2NvcmRpb25IZWFkZXJDb21wb25lbnQsXG4gICAgQWNjb3JkaW9uQm9keUNvbXBvbmVudCxcbiAgICBMaXN0Q29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBzdHlsZVNlcnZpY2UgPSBpbmplY3QoU3R5bGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGdyb3VwU2VydmljZSA9IGluamVjdChDcnVkTGlzdEdyb3VwU2VydmljZTxUPik7XG5cbiAgcmVhZG9ubHkgZ3JvdXBzOiBJbnB1dFNpZ25hbDxBcnJheTxJQ3J1ZExpc3RHcm91cD4gfCBudWxsPiA9XG4gICAgaW5wdXQ8QXJyYXk8SUNydWRMaXN0R3JvdXA+IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGxpc3RPcHRpb25zOiBJbnB1dFNpZ25hbDxJTGlzdE9wdGlvbnM8VD4gfCBudWxsPiA9XG4gICAgaW5wdXQ8SUxpc3RPcHRpb25zPFQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgY2hhbmdlKHZhbDogYm9vbGVhbiwgaXRlbTogSUNydWRMaXN0R3JvdXAsIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cHMgPSB0aGlzLmdyb3VwcygpO1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgIGdyb3Vwc1xuICAgICAgICAuZmlsdGVyKChpKSA9PiBpLnZhbHVlICE9PSBpdGVtLnZhbHVlIHx8IGkua2V5ICE9PSBpdGVtLmtleSlcbiAgICAgICAgLmZvckVhY2goKGkpID0+IHtcbiAgICAgICAgICBpLnNob3cgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5ncm91cFNlcnZpY2UuY2hhbmdlKHZhbCwgaXRlbSwgZm9yY2UpO1xuXG4gICAgaXRlbS5zaG93ID0gdmFsO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZVNlcnZpY2UuaW5pdCh0aGlzLmVsZW1lbnRSZWYpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgY29uc3QgZ3JvdXBzID0gdGhpcy5ncm91cHMoKTtcbiAgICBpZiAoZ3JvdXBzKSB7XG4gICAgICB0aGlzLmdyb3VwU2VydmljZS5kZXN0cm95KGdyb3Vwcyk7XG4gICAgfVxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==","import { computed, inject, Injectable } from '@angular/core';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport * as i0 from \"@angular/core\";\nexport class CrudListPaginationFactory {\n facade = inject((CrudFacade));\n async create(options) {\n return {\n mode: options.mode,\n limit: options.limit,\n loadNextPage: () => {\n if (!options.provider.getLinks() || !options.provider.getLinks().next)\n return Promise.resolve(false);\n return new Promise((res) => {\n if (this.facade.loaded()) {\n setTimeout(() => {\n res(options.provider.getLinks() && options.provider.getLinks().next);\n });\n }\n const filter = options.provider.getFilter();\n this.facade.read({\n ...filter,\n offset: (filter.offset || 0) + (filter.limit || 0),\n });\n });\n },\n loadPrevPage: () => {\n if (!options.provider.getLinks() || !options.provider.getLinks().prev)\n return Promise.resolve(false);\n return new Promise((res) => {\n const loaded = this.facade.loaded();\n if (loaded) {\n setTimeout(() => {\n res(options.provider.getLinks() && options.provider.getLinks().prev);\n });\n }\n const filter = options.provider.getFilter();\n this.facade.read({\n ...filter,\n offset: (filter.offset || 0) - (filter.limit || 0),\n });\n });\n },\n page: computed(() => {\n const f = this.facade.filter();\n return f?.limit ? (f.offset || 0) / f.limit + 1 : 0;\n }),\n totalPages: computed(() => {\n const filter = this.facade.filter();\n const totalCount = this.facade.totalCount();\n return filter?.limit && totalCount\n ? Math.ceil(totalCount / filter.limit)\n : 0;\n }),\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPaginationFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPaginationFactory });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPaginationFactory, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmF0aW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9mYWN0b3JpZXMvbGlzdC1wYWdpbmF0aW9uL2xpc3QtcGFnaW5hdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSXRELE1BQU0sT0FBTyx5QkFBeUI7SUFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWEsQ0FBQSxDQUFDLENBQUM7SUFFaEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQU9aO1FBQ0MsT0FBTztZQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUk7b0JBQ25FLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFaEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQzt3QkFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxHQUFHLENBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDaEUsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNmLEdBQUcsTUFBTTt3QkFDVCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7cUJBQ25ELENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSTtvQkFDbkUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVoQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BDLElBQUksTUFBTSxFQUFFLENBQUM7d0JBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxHQUFHLENBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDaEUsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNmLEdBQUcsTUFBTTt3QkFDVCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7cUJBQ25ELENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUM7WUFDRixVQUFVLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDNUMsT0FBTyxNQUFNLEVBQUUsS0FBSyxJQUFJLFVBQVU7b0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO29CQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1IsQ0FBQyxDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7dUdBbkVVLHlCQUF5QjsyR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJTGlzdFBhZ2luYXRpb25PcHRpb25zLCBQYWdpbmF0aW9uTW9kZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeTxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuXG4gIGFzeW5jIGNyZWF0ZShvcHRpb25zOiB7XG4gICAgbW9kZT86IFBhZ2luYXRpb25Nb2RlO1xuICAgIGxpbWl0OiBudW1iZXI7XG4gICAgcHJvdmlkZXI6IHtcbiAgICAgIGdldExpbmtzKCk6IGFueTtcbiAgICAgIGdldEZpbHRlcigpOiBJQ3J1ZEZpbHRlcjtcbiAgICB9O1xuICB9KTogUHJvbWlzZTxJTGlzdFBhZ2luYXRpb25PcHRpb25zPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZGU6IG9wdGlvbnMubW9kZSxcbiAgICAgIGxpbWl0OiBvcHRpb25zLmxpbWl0LFxuICAgICAgbG9hZE5leHRQYWdlOiAoKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5wcm92aWRlci5nZXRMaW5rcygpIHx8ICFvcHRpb25zLnByb3ZpZGVyLmdldExpbmtzKCkubmV4dClcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmZhY2FkZS5sb2FkZWQoKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHJlcyhcbiAgICAgICAgICAgICAgICBvcHRpb25zLnByb3ZpZGVyLmdldExpbmtzKCkgJiYgb3B0aW9ucy5wcm92aWRlci5nZXRMaW5rcygpLm5leHQsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBvcHRpb25zLnByb3ZpZGVyLmdldEZpbHRlcigpO1xuICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgb2Zmc2V0OiAoZmlsdGVyLm9mZnNldCB8fCAwKSArIChmaWx0ZXIubGltaXQgfHwgMCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGxvYWRQcmV2UGFnZTogKCkgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMucHJvdmlkZXIuZ2V0TGlua3MoKSB8fCAhb3B0aW9ucy5wcm92aWRlci5nZXRMaW5rcygpLnByZXYpXG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBsb2FkZWQgPSB0aGlzLmZhY2FkZS5sb2FkZWQoKTtcbiAgICAgICAgICBpZiAobG9hZGVkKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgcmVzKFxuICAgICAgICAgICAgICAgIG9wdGlvbnMucHJvdmlkZXIuZ2V0TGlua3MoKSAmJiBvcHRpb25zLnByb3ZpZGVyLmdldExpbmtzKCkucHJldixcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGZpbHRlciA9IG9wdGlvbnMucHJvdmlkZXIuZ2V0RmlsdGVyKCk7XG4gICAgICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICBvZmZzZXQ6IChmaWx0ZXIub2Zmc2V0IHx8IDApIC0gKGZpbHRlci5saW1pdCB8fCAwKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgcGFnZTogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmID0gdGhpcy5mYWNhZGUuZmlsdGVyKCk7XG4gICAgICAgIHJldHVybiBmPy5saW1pdCA/IChmLm9mZnNldCB8fCAwKSAvIGYubGltaXQgKyAxIDogMDtcbiAgICAgIH0pLFxuICAgICAgdG90YWxQYWdlczogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZhY2FkZS5maWx0ZXIoKTtcbiAgICAgICAgY29uc3QgdG90YWxDb3VudCA9IHRoaXMuZmFjYWRlLnRvdGFsQ291bnQoKTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcj8ubGltaXQgJiYgdG90YWxDb3VudFxuICAgICAgICAgID8gTWF0aC5jZWlsKHRvdGFsQ291bnQgLyBmaWx0ZXIubGltaXQpXG4gICAgICAgICAgOiAwO1xuICAgICAgfSksXG4gICAgfTtcbiAgfVxufVxuIl19","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CrudConfig } from '../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class CrudService {\n config = inject((CrudConfig));\n http = inject(HttpClient);\n _formatMap = {\n csv: 'text/csv',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n };\n create(item) {\n return firstValueFrom(this.http\n .post(this.config.apiUrl, item, { observe: 'response' })\n .pipe(map((response) => {\n const location = response.headers['Location'];\n if (!location)\n return null;\n const array = location.split('/');\n return array[array.length - 1];\n })));\n }\n createMany(items, options) {\n return firstValueFrom(this.http.post(this.config.apiUrl + '/bulk?mode=' + options.mode, items));\n }\n getById(id) {\n return firstValueFrom(this.http.get(this.config.apiUrl + '/' + id));\n }\n getList(filter = null) {\n return firstValueFrom(this.http.get(this.config.apiUrl + this.getQuery(filter)));\n }\n exportList(filter = null, format) {\n if (!format) {\n format = 'csv';\n }\n if (format === 'xlsx') {\n return firstValueFrom(this.http\n .get(this.config.apiUrl + this.getQuery(filter), {\n headers: {\n 'Content-Type': this._formatMap[format],\n },\n observe: 'response',\n reportProgress: false,\n responseType: 'blob',\n })\n .pipe(map((res) => {\n const downloadLink = document.createElement('a');\n const blob = res.body;\n downloadLink.href = URL.createObjectURL(blob);\n downloadLink.download = 'data.' + format;\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n })));\n }\n return firstValueFrom(this.http\n .get(this.config.apiUrl + this.getQuery(filter), {\n headers: {\n 'Content-Type': this._formatMap[format],\n },\n responseType: 'text',\n })\n .pipe(map((res) => {\n const downloadLink = document.createElement('a');\n const blob = new Blob(['\\ufeff', res]);\n downloadLink.href = URL.createObjectURL(blob);\n downloadLink.download = 'data.' + format;\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n })));\n }\n update(item) {\n return firstValueFrom(this.http.put(this.config.apiUrl + '/' + item.id, item));\n }\n updatePartial(item) {\n return firstValueFrom(this.http.patch(this.config.apiUrl + '/' + item.id, item));\n }\n updatePartialMany(items) {\n const updatePromises = items.map((item) => {\n return this.updatePartial(item);\n });\n return Promise.all(updatePromises);\n }\n delete(id) {\n return firstValueFrom(this.http.delete(this.config.apiUrl + '/' + id));\n }\n getQuery(filter) {\n let query = '';\n if (filter && filter.searchText) {\n query += '&$search=' + filter.searchText;\n }\n if (filter && filter.limit) {\n query += `&limit=${filter.limit}&offset=${filter.offset ? filter.offset : 0}`;\n }\n if (filter && filter.sortBy) {\n query += `&sort=${(filter.sortDesc ? '-' : '') + filter.sortBy}`;\n }\n if (filter && filter.query) {\n filter.query.forEach((q) => {\n if (q.value &&\n typeof q.value === 'string' &&\n q.value.match(/^-?\\d+$/) &&\n q.value[0] !== \"'\" &&\n q.value[0] !== '\"') {\n query += '&' + q.key + q.type + `'${q.value}'`;\n }\n else {\n query += '&' + q.key + q.type + q.value;\n }\n });\n }\n return query ? '?' + query.replace('&', '') : '';\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvY3J1ZC9jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJL0MsTUFBTSxPQUFPLFdBQVc7SUFDWixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFCLFVBQVUsR0FBRztRQUNyQixHQUFHLEVBQUUsVUFBVTtRQUNmLElBQUksRUFBRSxtRUFBbUU7S0FDMUUsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFPO1FBQ1osT0FBTyxjQUFjLENBQ25CLElBQUksQ0FBQyxJQUFJO2FBQ04sSUFBSSxDQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQzthQUM3RCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDZixNQUFNLFFBQVEsR0FBSSxRQUFRLENBQUMsT0FBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzNCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FB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QkFDRCxLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFDakQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQzFDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkQsQ0FBQzt1R0F4S1UsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBDcnVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY3J1ZC5jb25maWcnO1xuaW1wb3J0IHsgSUNydWRDcmVhdGVNYW55T3B0aW9ucywgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3J1ZFNlcnZpY2U8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBwcm90ZWN0ZWQgY29uZmlnID0gaW5qZWN0KENydWRDb25maWc8VD4pO1xuICBwcm90ZWN0ZWQgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBwcm90ZWN0ZWQgX2Zvcm1hdE1hcCA9IHtcbiAgICBjc3Y6ICd0ZXh0L2NzdicsXG4gICAgeGxzeDogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgfTtcblxuICBjcmVhdGUoaXRlbTogVCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5wb3N0PHZvaWQ+KHRoaXMuY29uZmlnLmFwaVVybCwgaXRlbSwgeyBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0gKHJlc3BvbnNlLmhlYWRlcnMgYXMgYW55KVsnTG9jYXRpb24nXTtcbiAgICAgICAgICAgIGlmICghbG9jYXRpb24pIHJldHVybiBudWxsO1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBsb2NhdGlvbi5zcGxpdCgnLycpO1xuICAgICAgICAgICAgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBjcmVhdGVNYW55KGl0ZW1zOiBBcnJheTxUPiwgb3B0aW9uczogSUNydWRDcmVhdGVNYW55T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KFxuICAgICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyAnL2J1bGs/bW9kZT0nICsgb3B0aW9ucy5tb2RlLFxuICAgICAgICBpdGVtcyxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuY29uZmlnLmFwaVVybCArICcvJyArIGlkKSk7XG4gIH1cblxuICBnZXRMaXN0PFQ+KFxuICAgIGZpbHRlcjogSUNydWRGaWx0ZXIgfCBudWxsID0gbnVsbCxcbiAgKTogUHJvbWlzZTx7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rczogYW55IH0+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0PHsgZGF0YTogVFtdOyB0b3RhbENvdW50OiBudW1iZXI7IGxpbmtzOiBhbnkgfT4oXG4gICAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0UXVlcnkoZmlsdGVyIGFzIElDcnVkRmlsdGVyKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydExpc3QoXG4gICAgZmlsdGVyOiBJQ3J1ZEZpbHRlciB8IG51bGwgPSBudWxsLFxuICAgIGZvcm1hdDogJ2NzdicgfCAneGxzeCcsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghZm9ybWF0KSB7XG4gICAgICBmb3JtYXQgPSAnY3N2JztcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAneGxzeCcpIHtcbiAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZy5hcGlVcmwgKyB0aGlzLmdldFF1ZXJ5KGZpbHRlciBhcyBJQ3J1ZEZpbHRlciksIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IHRoaXMuX2Zvcm1hdE1hcFtmb3JtYXRdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICAgICAgICByZXBvcnRQcm9ncmVzczogZmFsc2UsXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgICAgICBjb25zdCBibG9iID0gcmVzLmJvZHk7XG5cbiAgICAgICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IgYXMgQmxvYik7XG4gICAgICAgICAgICAgIGRvd25sb2FkTGluay5kb3dubG9hZCA9ICdkYXRhLicgKyBmb3JtYXQ7XG5cbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8c3RyaW5nPihcbiAgICAgICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyB0aGlzLmdldFF1ZXJ5KGZpbHRlciBhcyBJQ3J1ZEZpbHRlciksXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogdGhpcy5fZm9ybWF0TWFwW2Zvcm1hdF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgJ2pzb24nLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbJ1xcdWZlZmYnLCByZXNdKTtcblxuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gJ2RhdGEuJyArIGZvcm1hdDtcblxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkTGluayk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZShpdGVtOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnB1dDx2b2lkPih0aGlzLmNvbmZpZy5hcGlVcmwgKyAnLycgKyBpdGVtLmlkLCBpdGVtKSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUGFydGlhbChpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAucGF0Y2g8dm9pZD4odGhpcy5jb25maWcuYXBpVXJsICsgJy8nICsgaXRlbS5pZCwgaXRlbSksXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVBhcnRpYWxNYW55KGl0ZW1zOiAoUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9KVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cGRhdGVQcm9taXNlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlUGFydGlhbChpdGVtKTtcbiAgICB9KTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwodXBkYXRlUHJvbWlzZXMpO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KHRoaXMuY29uZmlnLmFwaVVybCArICcvJyArIGlkKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFF1ZXJ5KGZpbHRlcjogSUNydWRGaWx0ZXIpOiBzdHJpbmcge1xuICAgIGxldCBxdWVyeSA9ICcnO1xuXG4gICAgaWYgKGZpbHRlciAmJiBmaWx0ZXIuc2VhcmNoVGV4dCkge1xuICAgICAgcXVlcnkgKz0gJyYkc2VhcmNoPScgKyBmaWx0ZXIuc2VhcmNoVGV4dDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyICYmIGZpbHRlci5saW1pdCkge1xuICAgICAgcXVlcnkgKz0gYCZsaW1pdD0ke2ZpbHRlci5saW1pdH0mb2Zmc2V0PSR7XG4gICAgICAgIGZpbHRlci5vZmZzZXQgPyBmaWx0ZXIub2Zmc2V0IDogMFxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlciAmJiBmaWx0ZXIuc29ydEJ5KSB7XG4gICAgICBxdWVyeSArPSBgJnNvcnQ9JHsoZmlsdGVyLnNvcnREZXNjID8gJy0nIDogJycpICsgZmlsdGVyLnNvcnRCeX1gO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgJiYgZmlsdGVyLnF1ZXJ5KSB7XG4gICAgICBmaWx0ZXIucXVlcnkuZm9yRWFjaCgocSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcS52YWx1ZSAmJlxuICAgICAgICAgIHR5cGVvZiBxLnZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgIHEudmFsdWUubWF0Y2goL14tP1xcZCskLykgJiZcbiAgICAgICAgICBxLnZhbHVlWzBdICE9PSBcIidcIiAmJlxuICAgICAgICAgIHEudmFsdWVbMF0gIT09ICdcIidcbiAgICAgICAgKSB7XG4gICAgICAgICAgcXVlcnkgKz0gJyYnICsgcS5rZXkgKyBxLnR5cGUgKyBgJyR7cS52YWx1ZX0nYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBxdWVyeSArPSAnJicgKyBxLmtleSArIHEudHlwZSArIHEudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBxdWVyeSA/ICc/JyArIHF1ZXJ5LnJlcGxhY2UoJyYnLCAnJykgOiAnJztcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DynamicIoModule } from 'ng-dynamic-component';\nimport { SharedModule } from '@smartsoft001/angular';\nimport { ExportComponent } from './export/export.component';\nimport { FilterComponent, FilterDateComponent, FilterDateWithEditComponent, FilterFlagComponent, FilterRadioComponent, FilterTextComponent, FilterCheckComponent, FilterIntComponent, FilterDateTimeComponent, } from './filter';\nimport { CrudPipesModule } from '../pipes';\nimport { FiltersComponent } from './filters/filters.component';\nimport { FiltersConfigComponent } from './filters-config/filters-config.component';\nimport { MultiselectComponent } from './multiselect/multiselect.component';\nimport { CrudFacade } from '../+state/crud.facade';\nimport { GroupComponent } from './group/group.component';\nimport { CrudListPaginationFactory } from '../factories/list-pagination/list-pagination.factory';\nimport { CrudService } from '../services/crud/crud.service';\nimport * as i0 from \"@angular/core\";\nconst COMPONENTS = [\n ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent,\n];\nexport class CrudComponentsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, imports: [ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent, SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n DynamicIoModule], exports: [CrudPipesModule, ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, providers: [CrudService, CrudFacade, CrudListPaginationFactory], imports: [ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterDateTimeComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent, SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n DynamicIoModule, CrudPipesModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudComponentsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n ...COMPONENTS,\n SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n DynamicIoModule,\n ],\n exports: [CrudPipesModule, ...COMPONENTS],\n providers: [CrudService, CrudFacade, CrudListPaginationFactory],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQix1QkFBdUIsR0FDeEIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFNUQsTUFBTSxVQUFVLEdBQUc7SUFDakIsZUFBZTtJQUNmLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGNBQWM7Q0FDZixDQUFDO0FBY0YsTUFBTSxPQUFPLG9CQUFvQjt1R0FBcEIsb0JBQW9CO3dHQUFwQixvQkFBb0IsWUE1Qi9CLGVBQWU7WUFDZixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixjQUFjLEVBTVosWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWUsYUFFUCxlQUFlLEVBekJ6QixlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsY0FBYzt3R0FlSCxvQkFBb0IsYUFGcEIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixDQUFDLFlBMUIvRCxlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUVuQixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUVuQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGNBQWMsRUFNWixZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZSxFQUVQLGVBQWU7OzJGQUdkLG9CQUFvQjtrQkFaaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxVQUFVO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixDQUFDO2lCQUNoRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljSW9Nb2R1bGUgfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbmltcG9ydCB7IEV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vZXhwb3J0L2V4cG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRmlsdGVyQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQsXG4gIEZpbHRlckZsYWdDb21wb25lbnQsXG4gIEZpbHRlclJhZGlvQ29tcG9uZW50LFxuICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICBGaWx0ZXJDaGVja0NvbXBvbmVudCxcbiAgRmlsdGVySW50Q29tcG9uZW50LFxuICBGaWx0ZXJEYXRlVGltZUNvbXBvbmVudCxcbn0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgQ3J1ZFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXJzLWNvbmZpZy9maWx0ZXJzLWNvbmZpZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL2NydWQuZmFjYWRlJztcbmltcG9ydCB7IEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cC9ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jcnVkL2NydWQuc2VydmljZSc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIEV4cG9ydENvbXBvbmVudCxcbiAgRmlsdGVyQ29tcG9uZW50LFxuICBGaWx0ZXJUZXh0Q29tcG9uZW50LFxuICBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlQ29tcG9uZW50LFxuICBGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQsXG4gIEZpbHRlckRhdGVUaW1lQ29tcG9uZW50LFxuICBGaWx0ZXJSYWRpb0NvbXBvbmVudCxcbiAgRmlsdGVyc0NvbXBvbmVudCxcbiAgRmlsdGVyRmxhZ0NvbXBvbmVudCxcbiAgRmlsdGVyQ2hlY2tDb21wb25lbnQsXG4gIEZpbHRlckludENvbXBvbmVudCxcbiAgTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gIEdyb3VwQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC4uLkNPTVBPTkVOVFMsXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIENydWRQaXBlc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHluYW1pY0lvTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQ3J1ZFBpcGVzTW9kdWxlLCAuLi5DT01QT05FTlRTXSxcbiAgcHJvdmlkZXJzOiBbQ3J1ZFNlcnZpY2UsIENydWRGYWNhZGUsIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnldLFxufSlcbmV4cG9ydCBjbGFzcyBDcnVkQ29tcG9uZW50c01vZHVsZSB7fVxuIl19","import { PaginationMode } from '@smartsoft001/angular';\nexport const initialState = {\n loaded: false,\n};\nconst crudReducer = (state, action, entity) => {\n if (!state) {\n state = { ...initialState };\n }\n switch (action.type) {\n case `[${entity}] Create`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Create Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Create Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Create Many`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Create Many Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Create Many Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Export`:\n return {\n ...state,\n loaded: false,\n };\n case `[${entity}] Export Success`:\n return {\n ...state,\n loaded: true,\n };\n case `[${entity}] Export Failure`:\n return {\n ...state,\n loaded: true,\n };\n case `[${entity}] Read`:\n return {\n ...state,\n loaded: false,\n filter: action.filter,\n error: null,\n totalCount: null,\n links: null,\n };\n case `[${entity}] Read Success`: {\n let list = [];\n if (action.filter &&\n action.filter.offset &&\n state.list &&\n action.filter.paginationMode !== PaginationMode.singlePage) {\n state.list.forEach((i) => {\n list.push(i);\n });\n list = [...list, ...action.result.data];\n }\n else {\n list = action.result.data;\n }\n return {\n ...state,\n loaded: true,\n list,\n totalCount: action.result.totalCount,\n links: action.result.links,\n error: null,\n };\n }\n case `[${entity}] Clear`:\n return { ...initialState };\n case `[${entity}] Read Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Select`:\n return {\n ...state,\n loaded: false,\n selected: null,\n error: null,\n };\n case `[${entity}] Select Success`:\n return {\n ...state,\n loaded: true,\n selected: action.item,\n error: null,\n };\n case `[${entity}] Select Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] MultiSelect`:\n return {\n ...state,\n multiSelected: [...action.items],\n };\n case `[${entity}] Unselect`:\n return {\n ...state,\n loaded: true,\n selected: null,\n error: null,\n };\n case `[${entity}] Update`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Update Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Update Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Update partial`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Update partial Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Update partial Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Update partial many`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Update partial many Success`:\n return {\n ...state,\n multiSelected: [],\n loaded: true,\n error: null,\n };\n case `[${entity}] Update partial many Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n case `[${entity}] Delete`:\n return {\n ...state,\n loaded: false,\n error: null,\n };\n case `[${entity}] Delete Success`:\n return {\n ...state,\n loaded: true,\n error: null,\n };\n case `[${entity}] Delete Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n};\nexport function getReducer(entity) {\n return (state, action) => {\n return crudReducer(state, action, entity);\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvK3N0YXRlL2NydWQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFnQnZELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBZTtJQUN0QyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUNsQixLQUFpQixFQUNqQixNQUFvQixFQUNwQixNQUFjLEVBQ2QsRUFBRTtJQUNGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLEtBQUssR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLEtBQUssSUFBSSxNQUFNLFVBQVU7WUFDdkIsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1FBRUosS0FBSyxJQUFJLE1BQU0sa0JBQWtCO1lBQy9CLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztRQUVKLEtBQUssSUFBSSxNQUFNLGtCQUFrQjtZQUMvQixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7YUFDcEIsQ0FBQztRQUVKLEtBQUssSUFBSSxNQUFNLGVBQWU7WUFDNUIsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1FBRUosS0FB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QUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZGUgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuXG5pbXBvcnQgeyBJQ3J1ZEZpbHRlciB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICBzZWxlY3RlZD86IFQ7XG4gIG11bHRpU2VsZWN0ZWQ/OiBBcnJheTxUPjtcbiAgbGlzdD86IFRbXTtcbiAgdG90YWxDb3VudD86IG51bWJlcjtcbiAgZmlsdGVyPzogSUNydWRGaWx0ZXI7XG4gIGxpbmtzPzogYW55O1xuICBsb2FkZWQ6IGJvb2xlYW47IC8vIGhhcyB0aGUgQXV0aCBsaXN0IGJlZW4gbG9hZGVkXG4gIGVycm9yPzogc3RyaW5nIHwgbnVsbDsgLy8gbGFzdCBub25lIGVycm9yIChpZiBhbnkpXG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXRlPGFueT4gPSB7XG4gIGxvYWRlZDogZmFsc2UsXG59O1xuXG5jb25zdCBjcnVkUmVkdWNlciA9IChcbiAgc3RhdGU6IFN0YXRlPGFueT4sXG4gIGFjdGlvbjogQWN0aW9uICYgYW55LFxuICBlbnRpdHk6IHN0cmluZyxcbikgPT4ge1xuICBpZiAoIXN0YXRlKSB7XG4gICAgc3RhdGUgPSB7IC4uLmluaXRpYWxTdGF0ZSB9O1xuICB9XG5cbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgYFske2VudGl0eX1dIENyZWF0ZWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlIFN1Y2Nlc3NgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlIEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgTWFueWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlIE1hbnkgU3VjY2Vzc2A6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgTWFueSBGYWlsdXJlYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gRXhwb3J0YDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIEV4cG9ydCBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gRXhwb3J0IEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBSZWFkYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICBmaWx0ZXI6IGFjdGlvbi5maWx0ZXIsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICB0b3RhbENvdW50OiBudWxsLFxuICAgICAgICBsaW5rczogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBSZWFkIFN1Y2Nlc3NgOiB7XG4gICAgICAgIGxldCBsaXN0OiBhbnlbXSA9IFtdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIgJiZcbiAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIub2Zmc2V0ICYmXG4gICAgICAgICAgICBzdGF0ZS5saXN0ICYmXG4gICAgICAgICAgICBhY3Rpb24uZmlsdGVyLnBhZ2luYXRpb25Nb2RlICE9PSBQYWdpbmF0aW9uTW9kZS5zaW5nbGVQYWdlXG4gICAgICAgICkge1xuICAgICAgICAgICAgc3RhdGUubGlzdC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxpc3QgPSBbLi4ubGlzdCwgLi4uYWN0aW9uLnJlc3VsdC5kYXRhXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3QgPSBhY3Rpb24ucmVzdWx0LmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgdG90YWxDb3VudDogYWN0aW9uLnJlc3VsdC50b3RhbENvdW50LFxuICAgICAgICAgICAgbGlua3M6IGFjdGlvbi5yZXN1bHQubGlua3MsXG4gICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBDbGVhcmA6XG4gICAgICByZXR1cm4geyAuLi5pbml0aWFsU3RhdGUgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFJlYWQgRmFpbHVyZWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFNlbGVjdGA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFNlbGVjdCBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkOiBhY3Rpb24uaXRlbSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gU2VsZWN0IEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBNdWx0aVNlbGVjdGA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbXVsdGlTZWxlY3RlZDogWy4uLmFjdGlvbi5pdGVtc10sXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVW5zZWxlY3RgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgc2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIFVwZGF0ZWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIFN1Y2Nlc3NgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbGA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgU3VjY2Vzc2A6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBGYWlsdXJlYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueWA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuXG4gICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBtdWx0aVNlbGVjdGVkOiBbXSxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55IEZhaWx1cmVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG5cbiAgICBjYXNlIGBbJHtlbnRpdHl9XSBEZWxldGVgOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIERlbGV0ZSBTdWNjZXNzYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcblxuICAgIGNhc2UgYFske2VudGl0eX1dIERlbGV0ZSBGYWlsdXJlYDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgICB9O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZHVjZXIoZW50aXR5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIChzdGF0ZTogYW55LCBhY3Rpb246IEFjdGlvbikgPT4ge1xuICAgIHJldHVybiBjcnVkUmVkdWNlcihzdGF0ZSwgYWN0aW9uLCBlbnRpdHkpO1xuICB9O1xufVxuIl19","import 'reflect-metadata';\nimport { Injectable } from '@angular/core';\nimport { ActionsSubject, select, State, Store } from '@ngrx/store';\nimport { first } from 'rxjs/operators';\nimport * as CrudActions from './crud.actions';\nimport { CrudConfig } from '../crud.config';\nimport { getCrudFilter } from './crud.selectors';\nimport { CrudService } from '../services/crud/crud.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngrx/store\";\nimport * as i2 from \"../services/crud/crud.service\";\nimport * as i3 from \"../crud.config\";\nexport class CrudEffects {\n actions$;\n service;\n config;\n store;\n state;\n constructor(actions$, service, config, store, state) {\n this.actions$ = actions$;\n this.service = service;\n this.config = config;\n this.store = store;\n this.state = state;\n }\n init() {\n const metadata = Reflect.getMetadata(this.config.entity, CrudEffects);\n if (metadata)\n return;\n Reflect.defineMetadata(this.config.entity, true, CrudEffects);\n this.actions$.subscribe((action) => {\n switch (action.type) {\n case `[${this.config.entity}] Create`:\n this.service\n .create(action.item)\n .then(() => this.store.dispatch(CrudActions.createSuccess(this.config.entity, action.item)))\n .catch((error) => {\n this.store.dispatch(CrudActions.createFailure(this.config.entity, action.item, error));\n });\n break;\n case `[${this.config.entity}] Create Success`: {\n const createState = this.state.getValue()[this.config.entity];\n this.store.dispatch(CrudActions.read(this.config.entity, createState.filter ? { ...createState.filter, offset: 0 } : null));\n break;\n }\n case `[${this.config.entity}] Create Many`:\n this.service\n .createMany(action.data.items, action.data.options)\n .then(() => this.store.dispatch(CrudActions.createManySuccess(this.config.entity, {\n items: action.data.items,\n options: action.data.options,\n })))\n .catch((error) => {\n this.store.dispatch(CrudActions.createManyFailure(this.config.entity, {\n items: action.data.items,\n options: action.data.options,\n }, error));\n });\n break;\n case `[${this.config.entity}] Create Many Success`: {\n const createManyState = this.state.getValue()[this.config.entity];\n this.store.dispatch(CrudActions.read(this.config.entity, createManyState.filter\n ? { ...createManyState.filter, offset: 0 }\n : null));\n break;\n }\n case `[${this.config.entity}] Read`:\n this.service\n .getList(action.filter)\n .then((result) => this.store.dispatch(CrudActions.readSuccess(this.config.entity, action.filter, result)))\n .catch((error) => {\n this.store.dispatch(CrudActions.readFailure(this.config.entity, action.filter, error));\n });\n break;\n case `[${this.config.entity}] Export`:\n this.service\n .exportList(action.filter, action.format)\n .then(() => this.store.dispatch(CrudActions.exportListSuccess(this.config.entity, action.filter)))\n .catch((error) => {\n this.store.dispatch(CrudActions.exportListFailure(this.config.entity, action.filter, error));\n });\n break;\n case `[${this.config.entity}] Select`:\n this.service\n .getById(action.id)\n .then((result) => this.store.dispatch(CrudActions.selectSuccess(this.config.entity, action.id, result)))\n .catch((error) => {\n this.store.dispatch(CrudActions.selectFailure(this.config.entity, action.id, error));\n });\n break;\n case `[${this.config.entity}] Update`:\n this.service\n .updatePartial(action.item)\n .then(() => this.store.dispatch(CrudActions.updateSuccess(this.config.entity, action.item)))\n .catch((error) => {\n this.store.dispatch(CrudActions.updateFailure(this.config.entity, action.item, error));\n this.store.dispatch(CrudActions.read(this.config.entity));\n });\n break;\n case `[${this.config.entity}] Update Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));\n });\n break;\n case `[${this.config.entity}] Update partial`:\n this.service\n .updatePartial(action.item)\n .then(() => this.store.dispatch(CrudActions.updatePartialSuccess(this.config.entity, action.item)))\n .catch((error) => {\n this.store.dispatch(CrudActions.updatePartialFailure(this.config.entity, action.item, error));\n this.store.dispatch(CrudActions.read(this.config.entity));\n });\n break;\n case `[${this.config.entity}] Update partial Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));\n });\n break;\n case `[${this.config.entity}] Update partial many`:\n this.service\n .updatePartialMany(action.items)\n .then(() => this.store.dispatch(CrudActions.updatePartialManySuccess(this.config.entity, action.items)))\n .catch((error) => {\n this.store.dispatch(CrudActions.updatePartialManyFailure(this.config.entity, action.items, error));\n this.store.dispatch(CrudActions.read(this.config.entity));\n });\n break;\n case `[${this.config.entity}] Update partial many Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n });\n break;\n case `[${this.config.entity}] Delete`:\n this.service\n .delete(action.id)\n .then(() => this.store.dispatch(CrudActions.deleteSuccess(this.config.entity, action.id)))\n .catch((error) => {\n this.store.dispatch(CrudActions.deleteFailure(this.config.entity, action.id, error));\n });\n break;\n case `[${this.config.entity}] Delete Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n }));\n });\n break;\n default:\n console.warn(`No effect for action type ${action.type} in entity ${this.config.entity}`);\n break;\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudEffects, deps: [{ token: i1.ActionsSubject }, { token: i2.CrudService }, { token: i3.CrudConfig }, { token: i1.Store }, { token: i1.State }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudEffects });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudEffects, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.ActionsSubject }, { type: i2.CrudService }, { type: i3.CrudConfig }, { type: i1.Store }, { type: i1.State }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvK3N0YXRlL2NydWQuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFVLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkMsT0FBTyxLQUFLLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFHNUQsTUFBTSxPQUFPLFdBQVc7SUFFWjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFYsWUFDVSxRQUF3QixFQUN4QixPQUF1QixFQUN2QixNQUFxQixFQUNyQixLQUFpQixFQUNqQixLQUFpQjtRQUpqQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSTtRQUNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEUsSUFBSSxRQUFRO1lBQUUsT0FBTztRQUVy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OzRCQUNULE1BQU0sRUFBRSxDQUFDO3lCQUNWLENBQUMsQ0FDSCxDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUFDO29CQUNMLE1BQU07Z0JBRVI7b0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FDViw2QkFBNkIsTUFBTSxDQUFDLElBQUksY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUMzRSxDQUFDO29CQUNGLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTFTVSxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbnNTdWJqZWN0LCBzZWxlY3QsIFN0YXRlLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCAqIGFzIENydWRBY3Rpb25zIGZyb20gJy4vY3J1ZC5hY3Rpb25zJztcbmltcG9ydCB7IENydWRDb25maWcgfSBmcm9tICcuLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBnZXRDcnVkRmlsdGVyIH0gZnJvbSAnLi9jcnVkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRFZmZlY3RzPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9uc1N1YmplY3QsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBDcnVkU2VydmljZTxUPixcbiAgICBwcml2YXRlIGNvbmZpZzogQ3J1ZENvbmZpZzxUPixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgc3RhdGU6IFN0YXRlPGFueT4sXG4gICkge31cblxuICBpbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YSh0aGlzLmNvbmZpZy5lbnRpdHksIENydWRFZmZlY3RzKTtcblxuICAgIGlmIChtZXRhZGF0YSkgcmV0dXJuO1xuXG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSh0aGlzLmNvbmZpZy5lbnRpdHksIHRydWUsIENydWRFZmZlY3RzKTtcblxuICAgIHRoaXMuYWN0aW9ucyQuc3Vic2NyaWJlKChhY3Rpb246IEFjdGlvbiAmIGFueSkgPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBDcmVhdGVgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZShhY3Rpb24uaXRlbSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuY3JlYXRlU3VjY2Vzcyh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pdGVtKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5jcmVhdGVGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLml0ZW0sXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gQ3JlYXRlIFN1Y2Nlc3NgOiB7XG4gICAgICAgICAgY29uc3QgY3JlYXRlU3RhdGUgPSB0aGlzLnN0YXRlLmdldFZhbHVlKClbdGhpcy5jb25maWcuZW50aXR5XTtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgQ3J1ZEFjdGlvbnMucmVhZChcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICBjcmVhdGVTdGF0ZS5maWx0ZXIgPyB7IC4uLmNyZWF0ZVN0YXRlLmZpbHRlciwgb2Zmc2V0OiAwIH0gOiBudWxsLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gQ3JlYXRlIE1hbnlgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZU1hbnkoYWN0aW9uLmRhdGEuaXRlbXMsIGFjdGlvbi5kYXRhLm9wdGlvbnMpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmNyZWF0ZU1hbnlTdWNjZXNzKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgaXRlbXM6IGFjdGlvbi5kYXRhLml0ZW1zLFxuICAgICAgICAgICAgICAgICAgb3B0aW9uczogYWN0aW9uLmRhdGEub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5jcmVhdGVNYW55RmFpbHVyZShcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IGFjdGlvbi5kYXRhLml0ZW1zLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBhY3Rpb24uZGF0YS5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBDcmVhdGUgTWFueSBTdWNjZXNzYDoge1xuICAgICAgICAgIGNvbnN0IGNyZWF0ZU1hbnlTdGF0ZSA9IHRoaXMuc3RhdGUuZ2V0VmFsdWUoKVt0aGlzLmNvbmZpZy5lbnRpdHldO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKFxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgIGNyZWF0ZU1hbnlTdGF0ZS5maWx0ZXJcbiAgICAgICAgICAgICAgICA/IHsgLi4uY3JlYXRlTWFueVN0YXRlLmZpbHRlciwgb2Zmc2V0OiAwIH1cbiAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBSZWFkYDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMaXN0KGFjdGlvbi5maWx0ZXIpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0KSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWRTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICAgIHJlc3VsdCBhcyB7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rczogYW55IH0sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkRmFpbHVyZShcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gRXhwb3J0YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5leHBvcnRMaXN0KGFjdGlvbi5maWx0ZXIsIGFjdGlvbi5mb3JtYXQpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmV4cG9ydExpc3RTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmV4cG9ydExpc3RGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBTZWxlY3RgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmdldEJ5SWQoYWN0aW9uLmlkKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3RTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuc2VsZWN0RmFpbHVyZSh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pZCwgZXJyb3IpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gVXBkYXRlYDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVQYXJ0aWFsKGFjdGlvbi5pdGVtKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy51cGRhdGVTdWNjZXNzKHRoaXMuY29uZmlnLmVudGl0eSwgYWN0aW9uLml0ZW0pLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZUZhaWx1cmUoXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIFVwZGF0ZSBTdWNjZXNzYDpcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAucGlwZShzZWxlY3QoZ2V0Q3J1ZEZpbHRlcih0aGlzLmNvbmZpZy5lbnRpdHkpKSwgZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBhY3Rpb24uaXRlbS5pZCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbGA6XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAudXBkYXRlUGFydGlhbChhY3Rpb24uaXRlbSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMudXBkYXRlUGFydGlhbFN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uLml0ZW0sXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBTdWNjZXNzYDpcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAucGlwZShzZWxlY3QoZ2V0Q3J1ZEZpbHRlcih0aGlzLmNvbmZpZy5lbnRpdHkpKSwgZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBhY3Rpb24uaXRlbS5pZCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVQYXJ0aWFsTWFueShhY3Rpb24uaXRlbXMpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxNYW55U3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbi5pdGVtcyxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxNYW55RmFpbHVyZShcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbi5pdGVtcyxcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsIG1hbnkgU3VjY2Vzc2A6XG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnBpcGUoc2VsZWN0KGdldENydWRGaWx0ZXIodGhpcy5jb25maWcuZW50aXR5KSksIGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gRGVsZXRlYDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5kZWxldGUoYWN0aW9uLmlkKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5kZWxldGVTdWNjZXNzKHRoaXMuY29uZmlnLmVudGl0eSwgYWN0aW9uLmlkKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5kZWxldGVGYWlsdXJlKHRoaXMuY29uZmlnLmVudGl0eSwgYWN0aW9uLmlkLCBlcnJvciksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBEZWxldGUgU3VjY2Vzc2A6XG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnBpcGUoc2VsZWN0KGdldENydWRGaWx0ZXIodGhpcy5jb25maWcuZW50aXR5KSksIGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgTm8gZWZmZWN0IGZvciBhY3Rpb24gdHlwZSAke2FjdGlvbi50eXBlfSBpbiBlbnRpdHkgJHt0aGlzLmNvbmZpZy5lbnRpdHl9YCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { Directive, inject, input, output, viewChild, viewChildren, } from '@angular/core';\nimport { BaseComponent, FormComponent, } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../../+state/crud.facade';\nimport { CrudFullConfig } from '../../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class CrudItemPageBaseComponent extends BaseComponent {\n config = inject((CrudFullConfig));\n facade = inject((CrudFacade));\n static smartType = 'crud-item-page';\n selected;\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n formComponents = viewChildren(FormComponent, ...(ngDevMode ? [{ debugName: \"formComponents\" }] : []));\n detailsOptions = input(...(ngDevMode ? [undefined, { debugName: \"detailsOptions\" }] : []));\n mode = input(...(ngDevMode ? [undefined, { debugName: \"mode\" }] : []));\n uniqueProvider = input(...(ngDevMode ? [undefined, { debugName: \"uniqueProvider\" }] : []));\n onPartialChange = output();\n onChange = output();\n onValidChange = output();\n constructor() {\n super();\n this.selected = this.facade.selected;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudItemPageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.1.0\", type: CrudItemPageBaseComponent, isStandalone: true, inputs: { detailsOptions: { classPropertyName: \"detailsOptions\", publicName: \"detailsOptions\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, uniqueProvider: { classPropertyName: \"uniqueProvider\", publicName: \"uniqueProvider\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPartialChange: \"onPartialChange\", onChange: \"onChange\", onValidChange: \"onValidChange\" }, viewQueries: [{ propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }, { propertyName: \"formComponents\", predicate: FormComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudItemPageBaseComponent, decorators: [{\n type: Directive\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9pdGVtL2Jhc2UvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxhQUFhLEVBRWIsYUFBYSxHQUVkLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHdEQsTUFBTSxPQUFnQix5QkFFcEIsU0FBUSxhQUFhO0lBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLGNBQWlCLENBQUEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUFhLENBQUEsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sQ0FBQyxTQUFTLEdBQXlCLGdCQUFnQixDQUFDO0lBRTFELFFBQVEsQ0FBWTtJQUVwQixVQUFVLEdBQUcsU0FBUyxDQUFtQixZQUFZLHNEQUFDLENBQUM7SUFFdkQsY0FBYyxHQUFHLFlBQVksQ0FBQyxhQUFhLDBEQUFDLENBQUM7SUFFN0MsY0FBYyxHQUFHLEtBQUssb0VBQXNCLENBQUM7SUFFN0MsSUFBSSxHQUFHLEtBQUssMERBQVUsQ0FBQztJQUV2QixjQUFjLEdBQUcsS0FBSyxvRUFBc0QsQ0FBQztJQUU3RSxlQUFlLEdBQUcsTUFBTSxFQUFjLENBQUM7SUFFdkMsUUFBUSxHQUFHLE1BQU0sRUFBSyxDQUFDO0lBRXZCLGFBQWEsR0FBRyxNQUFNLEVBQVcsQ0FBQztJQUVsQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO3VHQTdCbUIseUJBQXlCOzJGQUF6Qix5QkFBeUIsMHNCQVlmLGFBQWE7OzJGQVp2Qix5QkFBeUI7a0JBRDlDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgU2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIHZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJhc2VDb21wb25lbnQsXG4gIER5bmFtaWNDb21wb25lbnRUeXBlLFxuICBGb3JtQ29tcG9uZW50LFxuICBJRGV0YWlsc09wdGlvbnMsXG59IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZSc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jcnVkLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENydWRJdGVtUGFnZUJhc2VDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sXG4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuICBwdWJsaWMgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuXG4gIHN0YXRpYyBzbWFydFR5cGU6IER5bmFtaWNDb21wb25lbnRUeXBlID0gJ2NydWQtaXRlbS1wYWdlJztcblxuICBzZWxlY3RlZDogU2lnbmFsPFQ+O1xuXG4gIGNvbnRlbnRUcGwgPSB2aWV3Q2hpbGQ8Vmlld0NvbnRhaW5lclJlZj4oJ2NvbnRlbnRUcGwnKTtcblxuICBmb3JtQ29tcG9uZW50cyA9IHZpZXdDaGlsZHJlbihGb3JtQ29tcG9uZW50KTtcblxuICBkZXRhaWxzT3B0aW9ucyA9IGlucHV0PElEZXRhaWxzT3B0aW9uczxUPj4oKTtcblxuICBtb2RlID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIHVuaXF1ZVByb3ZpZGVyID0gaW5wdXQ8KHZhbHVlczogUmVjb3JkPGtleW9mIFQsIGFueT4pID0+IFByb21pc2U8Ym9vbGVhbj4+KCk7XG5cbiAgb25QYXJ0aWFsQ2hhbmdlID0gb3V0cHV0PFBhcnRpYWw8VD4+KCk7XG5cbiAgb25DaGFuZ2UgPSBvdXRwdXQ8VD4oKTtcblxuICBvblZhbGlkQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5mYWNhZGUuc2VsZWN0ZWQ7XG4gIH1cbn1cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DetailsComponent, FormComponent } from '@smartsoft001/angular';\nimport { FormOptionsPipe } from '../../../pipes';\nimport { CrudItemPageBaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class ItemStandardComponent extends CrudItemPageBaseComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemStandardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ItemStandardComponent, isStandalone: true, selector: \"smart-crud-item-standard-page\", usesInheritance: true, ngImport: i0, template: `\n @if (mode() === 'details') {\n @if (detailsOptions()) {\n <smart-details [options]=\"detailsOptions()\"></smart-details>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"editTpl\"></ng-container>\n }\n\n <ng-template #editTpl>\n <smart-form\n [options]=\"\n selected()\n | smartFormOptions\n : mode()\n : config?.type\n : uniqueProvider()\n : config.inputComponents\n \"\n (valuePartialChange)=\"onPartialChange.emit($event)\"\n (valueChange)=\"onChange.emit($event)\"\n (validChange)=\"onValidChange.emit($event)\"\n ></smart-form>\n </ng-template>\n\n <br /><br />\n `, isInline: true, styles: [\"\"], dependencies: [{ kind: \"component\", type: DetailsComponent, selector: \"smart-details\", inputs: [\"options\"] }, { kind: \"component\", type: FormComponent, selector: \"smart-form\", inputs: [\"options\"], outputs: [\"invokeSubmit\", \"valueChange\", \"valuePartialChange\", \"validChange\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: FormOptionsPipe, name: \"smartFormOptions\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemStandardComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-crud-item-standard-page', template: `\n @if (mode() === 'details') {\n @if (detailsOptions()) {\n <smart-details [options]=\"detailsOptions()\"></smart-details>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"editTpl\"></ng-container>\n }\n\n <ng-template #editTpl>\n <smart-form\n [options]=\"\n selected()\n | smartFormOptions\n : mode()\n : config?.type\n : uniqueProvider()\n : config.inputComponents\n \"\n (valuePartialChange)=\"onPartialChange.emit($event)\"\n (valueChange)=\"onChange.emit($event)\"\n (validChange)=\"onValidChange.emit($event)\"\n ></smart-form>\n </ng-template>\n\n <br /><br />\n `, imports: [\n DetailsComponent,\n FormComponent,\n FormOptionsPipe,\n NgTemplateOutlet,\n FormComponent,\n ] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvcGFnZXMvaXRlbS9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXdDbkUsTUFBTSxPQUFPLHFCQUVYLFNBQVEseUJBQTRCO3VHQUZ6QixxQkFBcUI7MkZBQXJCLHFCQUFxQixnSEFwQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVCwwRUFHQyxnQkFBZ0IsK0VBQ2hCLGFBQWEsMkpBRWIsZ0JBQWdCLCtJQURoQixlQUFlOzsyRkFLTixxQkFBcUI7a0JBdENqQyxTQUFTOytCQUNFLCtCQUErQixZQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQsV0FFUTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEZXRhaWxzQ29tcG9uZW50LCBGb3JtQ29tcG9uZW50IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgRm9ybU9wdGlvbnNQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ3J1ZEl0ZW1QYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1jcnVkLWl0ZW0tc3RhbmRhcmQtcGFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChtb2RlKCkgPT09ICdkZXRhaWxzJykge1xuICAgICAgQGlmIChkZXRhaWxzT3B0aW9ucygpKSB7XG4gICAgICAgIDxzbWFydC1kZXRhaWxzIFtvcHRpb25zXT1cImRldGFpbHNPcHRpb25zKClcIj48L3NtYXJ0LWRldGFpbHM+XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVkaXRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8bmctdGVtcGxhdGUgI2VkaXRUcGw+XG4gICAgICA8c21hcnQtZm9ybVxuICAgICAgICBbb3B0aW9uc109XCJcbiAgICAgICAgICBzZWxlY3RlZCgpXG4gICAgICAgICAgICB8IHNtYXJ0Rm9ybU9wdGlvbnNcbiAgICAgICAgICAgICAgOiBtb2RlKClcbiAgICAgICAgICAgICAgOiBjb25maWc/LnR5cGVcbiAgICAgICAgICAgICAgOiB1bmlxdWVQcm92aWRlcigpXG4gICAgICAgICAgICAgIDogY29uZmlnLmlucHV0Q29tcG9uZW50c1xuICAgICAgICBcIlxuICAgICAgICAodmFsdWVQYXJ0aWFsQ2hhbmdlKT1cIm9uUGFydGlhbENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbGlkQ2hhbmdlKT1cIm9uVmFsaWRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L3NtYXJ0LWZvcm0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxiciAvPjxiciAvPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zdGFuZGFyZC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRGV0YWlsc0NvbXBvbmVudCxcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIEZvcm1PcHRpb25zUGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEZvcm1Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0ZW1TdGFuZGFyZENvbXBvbmVudDxcbiAgVCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPixcbj4gZXh0ZW5kcyBDcnVkSXRlbVBhZ2VCYXNlQ29tcG9uZW50PFQ+IHt9XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { AuthService } from '@smartsoft001/angular';\nimport { getModelOptions } from '@smartsoft001/models';\nimport { CrudFullConfig } from '../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class PageService {\n authService = inject(AuthService);\n config = inject((CrudFullConfig));\n checkPermissions() {\n const val = this.config;\n const modelOptions = getModelOptions(val.type);\n if (val.add &&\n modelOptions.create &&\n modelOptions.create.permissions &&\n !this.authService.expectPermissions(modelOptions.create.permissions)) {\n val.add = false;\n }\n if (val.edit &&\n modelOptions.update &&\n modelOptions.update.permissions &&\n !this.authService.expectPermissions(modelOptions.update.permissions)) {\n val.edit = false;\n }\n if (val.remove &&\n modelOptions.remove &&\n modelOptions.remove.permissions &&\n !this.authService.expectPermissions(modelOptions.remove.permissions)) {\n val.remove = false;\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvcGFnZS9wYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBR25ELE1BQU0sT0FBTyxXQUFXO0lBQ2QsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFFM0MsZ0JBQWdCO1FBQ2QsTUFBTSxHQUFHLEdBQXNCLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQyxJQUNFLEdBQUcsQ0FBQyxHQUFHO1lBQ1AsWUFBWSxDQUFDLE1BQU07WUFDbkIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNwRSxDQUFDO1lBQ0QsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQ0UsR0FBRyxDQUFDLElBQUk7WUFDUixZQUFZLENBQUMsTUFBTTtZQUNuQixZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDL0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ3BFLENBQUM7WUFDRCxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFDRSxHQUFHLENBQUMsTUFBTTtZQUNWLFlBQVksQ0FBQyxNQUFNO1lBQ25CLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUMvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDcEUsQ0FBQztZQUNELEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO3VHQWxDVSxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgZ2V0TW9kZWxPcHRpb25zIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBDcnVkRnVsbENvbmZpZyB9IGZyb20gJy4uLy4uL2NydWQuY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2VTZXJ2aWNlPFQ+IHtcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KENydWRGdWxsQ29uZmlnPFQ+KTtcblxuICBjaGVja1Blcm1pc3Npb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbDogQ3J1ZEZ1bGxDb25maWc8VD4gPSB0aGlzLmNvbmZpZztcbiAgICBjb25zdCBtb2RlbE9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModmFsLnR5cGUpO1xuXG4gICAgaWYgKFxuICAgICAgdmFsLmFkZCAmJlxuICAgICAgbW9kZWxPcHRpb25zLmNyZWF0ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLmNyZWF0ZS5wZXJtaXNzaW9ucyAmJlxuICAgICAgIXRoaXMuYXV0aFNlcnZpY2UuZXhwZWN0UGVybWlzc2lvbnMobW9kZWxPcHRpb25zLmNyZWF0ZS5wZXJtaXNzaW9ucylcbiAgICApIHtcbiAgICAgIHZhbC5hZGQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB2YWwuZWRpdCAmJlxuICAgICAgbW9kZWxPcHRpb25zLnVwZGF0ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLnVwZGF0ZS5wZXJtaXNzaW9ucyAmJlxuICAgICAgIXRoaXMuYXV0aFNlcnZpY2UuZXhwZWN0UGVybWlzc2lvbnMobW9kZWxPcHRpb25zLnVwZGF0ZS5wZXJtaXNzaW9ucylcbiAgICApIHtcbiAgICAgIHZhbC5lZGl0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdmFsLnJlbW92ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLnJlbW92ZSAmJlxuICAgICAgbW9kZWxPcHRpb25zLnJlbW92ZS5wZXJtaXNzaW9ucyAmJlxuICAgICAgIXRoaXMuYXV0aFNlcnZpY2UuZXhwZWN0UGVybWlzc2lvbnMobW9kZWxPcHRpb25zLnJlbW92ZS5wZXJtaXNzaW9ucylcbiAgICApIHtcbiAgICAgIHZhbC5yZW1vdmUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Location, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, effect, ElementRef, inject, signal, viewChild, viewChildren, } from '@angular/core';\nimport { UntypedFormArray, UntypedFormControl, UntypedFormGroup, } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { CreateDynamicComponent, DetailsService, DynamicComponentLoader, DynamicContentDirective, PageComponent, StyleService, ToastService, } from '@smartsoft001/angular';\nimport { getModelOptions } from '@smartsoft001/models';\nimport { SpecificationService } from '@smartsoft001/utils';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { CrudFullConfig } from '../../crud.config';\nimport { ItemStandardComponent } from './standard/standard.component';\nimport { CrudService } from '../../services/crud/crud.service';\nimport { PageService } from '../../services/page/page.service';\nimport * as i0 from \"@angular/core\";\nexport class ItemComponent extends CreateDynamicComponent('crud-item-page') {\n router = inject(Router);\n activeRoute = inject(ActivatedRoute);\n facade = inject((CrudFacade));\n service = inject((CrudService));\n dynamicComponentLoader = inject((DynamicComponentLoader));\n translateService = inject(TranslateService);\n config = inject((CrudFullConfig));\n location = inject(Location);\n cd = inject(ChangeDetectorRef);\n styleService = inject(StyleService);\n elementRef = inject(ElementRef);\n toastService = inject(ToastService);\n pageService = inject((PageService));\n detailsService = inject(DetailsService);\n _mode;\n pageOptions = signal({\n title: '',\n showBackButton: true,\n hideMenuButton: true,\n }, ...(ngDevMode ? [{ debugName: \"pageOptions\" }] : []));\n detailsOptions;\n id;\n formValue;\n formValid = false;\n item;\n formPartialValue;\n uniqueProvider;\n set mode(val) {\n this._mode = signal(val, ...(ngDevMode ? [{ debugName: \"_mode\" }] : []));\n this.refreshDynamicInstance();\n }\n get mode() {\n return this._mode();\n }\n selected;\n standardComponents = viewChildren(ItemStandardComponent, ...(ngDevMode ? [{ debugName: \"standardComponents\" }] : []));\n // @ViewChild(IonContent, { static: true }) content: IonContent; //TODO: rewrite when rewriting ionic\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n topTpl = viewChild('topTpl', ...(ngDevMode ? [{ debugName: \"topTpl\" }] : []));\n bottomTpl = viewChild('bottomTpl', ...(ngDevMode ? [{ debugName: \"bottomTpl\" }] : []));\n dynamicContents = viewChildren(DynamicContentDirective, ...(ngDevMode ? [{ debugName: \"dynamicContents\" }] : []));\n subscription = new Subscription();\n constructor() {\n super();\n this.selected = this.facade.selected;\n effect(() => {\n this.item = this.facade.selected();\n this.initPageOptions();\n this.cd.detectChanges();\n });\n }\n refreshProperties() {\n this.baseComponentRef.setInput('detailsOptions', this.detailsOptions());\n this.baseComponentRef.setInput('mode', this.mode);\n this.baseComponentRef.setInput('uniqueProvider', this.uniqueProvider());\n this.subscription.add(this.baseInstance.onPartialChange.subscribe((val) => this.onPartialChange(val)));\n this.subscription.add(this.baseInstance.onChange.subscribe((val) => this.onChange(val)));\n this.subscription.add(this.baseInstance.onValidChange.subscribe((val) => this.onValidChange(val)));\n }\n async ngOnInit() {\n this.detailsService.init();\n this.styleService.init(this.elementRef);\n this.pageService.checkPermissions();\n if (this.router.routerState.snapshot.url.split('?')[0].endsWith('/add')) {\n this.mode = 'create';\n await this.generateComponents('add');\n }\n else {\n this.mode = this.config.details ? 'details' : 'update';\n if (this.mode === 'update') {\n await this.generateComponents('edit');\n }\n this.activeRoute.params\n .pipe(this.takeUntilDestroy)\n .subscribe(({ id }) => {\n this.facade.select(id);\n this.id = id;\n });\n this.activeRoute.queryParams\n .pipe(this.takeUntilDestroy)\n .subscribe(({ edit }) => {\n if (edit) {\n this.mode = 'update';\n this.generateComponents('edit');\n }\n });\n }\n this.uniqueProvider.set(async (values) => {\n const filter = {\n query: [],\n };\n Object.keys(values).forEach((key) => {\n filter.query.push({\n key: key,\n value: values[key],\n type: '=',\n });\n });\n if (this.id) {\n filter.query.push({\n key: 'id',\n value: this.id,\n type: '!=',\n });\n }\n const { totalCount } = await this.service.getList(filter);\n return !totalCount;\n });\n if (this.config.details) {\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].top\n ? [this.config.details['components'].top]\n : []),\n ...(this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].bottom\n ? [this.config.details['components'].bottom]\n : []),\n ],\n });\n this.detailsOptions.set({\n type: this.config.type,\n item: this.facade.selected,\n cellPipe: this.config.details\n ? this.config.details.cellPipe\n : undefined,\n componentFactories: {\n top: this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].top\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details['components'].top)?.factory\n : undefined,\n bottom: this.config.details &&\n this.config.details['components'] &&\n this.config.details['components'].bottom\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details['components'].bottom)?.factory\n : undefined,\n },\n });\n }\n this.initPageOptions();\n this.refreshDynamicInstance();\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this.subscription.unsubscribe();\n }\n async generateComponents(mode) {\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config[mode] &&\n this.config[mode]['components'] &&\n this.config[mode]['components'].top\n ? [this.config[mode]['components'].top]\n : []),\n ...(this.config[mode] &&\n this.config[mode]['components'] &&\n this.config[mode]['components'].bottom\n ? [this.config[mode]['components'].bottom]\n : []),\n ],\n });\n const topComponentFactory = compiledComponents.find((cc) => cc.component === this.config[mode]['components']?.top)?.factory;\n const bottomComponentFactory = compiledComponents.find((cc) => cc.component === this.config[mode]['components']?.bottom)?.factory;\n if (!this.topTpl()?.get(0) && topComponentFactory) {\n this.topTpl()?.createComponent(topComponentFactory);\n }\n if (!this.bottomTpl()?.get(0) && bottomComponentFactory) {\n this.bottomTpl()?.createComponent(bottomComponentFactory);\n }\n }\n onPartialChange(val) {\n this.formPartialValue = val;\n }\n onChange(val) {\n this.formValue = val;\n }\n onValidChange(val) {\n this.formValid = val;\n }\n initPageOptions() {\n this.pageOptions.set({\n ...this.pageOptions(),\n title: this.getTitle() || '',\n endButtons: this.getButtons(),\n });\n }\n getButtons() {\n const options = getModelOptions(this.config.type);\n switch (this.mode) {\n case 'create':\n return [\n {\n icon: 'add',\n text: 'add',\n handler: () => {\n if (this.checkFirstInvalid()) {\n return;\n }\n this.facade.create(this.formValue);\n this.location.back();\n },\n },\n ];\n case 'update':\n return [\n ...(this.config.details\n ? [\n {\n icon: 'close',\n text: 'cancel',\n handler: () => {\n this.mode = 'details';\n this.initPageOptions();\n this.topTpl()?.clear();\n this.bottomTpl()?.clear();\n },\n disabled$: new BehaviorSubject(false),\n },\n ]\n : []),\n {\n icon: 'save',\n text: 'save',\n handler: () => {\n if (this.checkFirstInvalid()) {\n return;\n }\n this.formPartialValue.id = this.id;\n this.facade.updatePartial(this.formPartialValue);\n if (this.config.details) {\n this.mode = 'details';\n this.initPageOptions();\n }\n else {\n this.location.back();\n }\n },\n },\n ];\n case 'details':\n return this.config.edit &&\n (!options?.update?.enabled ||\n SpecificationService.valid(this.item, options?.update?.enabled))\n ? [\n {\n icon: 'create',\n text: 'edit',\n handler: () => {\n this.mode = 'update';\n this.generateComponents('edit');\n this.initPageOptions();\n },\n disabled$: new BehaviorSubject(false),\n },\n ]\n : [];\n default:\n return undefined;\n }\n }\n getTitle() {\n const options = getModelOptions(this.config.type);\n const prefix = options.titleKey && this.item\n ? this.removeParagraph(this.item[options.titleKey]) + ' - '\n : '';\n switch (this.mode) {\n case 'create':\n return 'add';\n case 'update':\n return prefix + this.translateService.instant('change');\n case 'details':\n return prefix + this.translateService.instant('details');\n default:\n return undefined;\n }\n }\n removeParagraph(val) {\n if (!val || val.indexOf('<p>') !== 0)\n return val;\n const div = document.createElement('div');\n div.innerHTML = val;\n const item = div.querySelectorAll('p').item(0);\n return item.innerHTML;\n }\n checkFirstInvalid() {\n this.cd.detectChanges();\n const form = this.template() === 'default'\n ? this.standardComponents()?.[0]?.formComponents?.[0]?.form\n : this.baseInstance.formComponents()[0].form;\n this.cd.detectChanges();\n if (form.valid)\n return false;\n const invalidFields = [];\n this.getInvalidFields(form, invalidFields, '');\n this.toastService.info({\n title: this.translateService.instant('INPUT.ERRORS.requires'),\n message: invalidFields.slice(0, 3).join('<br/>'),\n });\n return true;\n }\n getInvalidFields(control, invalidFields, baseField, key = null) {\n if (control.valid)\n return;\n const field = key\n ? baseField + ' > ' + this.translateService.instant('MODEL.' + key)\n : baseField;\n if (control.errors?.['customMessage']) {\n invalidFields.push(field + ` (${control.errors['customMessage']})`);\n return;\n }\n if (control instanceof UntypedFormControl) {\n invalidFields.push(field);\n }\n if (control instanceof UntypedFormGroup) {\n Object.keys(control.controls).forEach((groupKey) => {\n this.getInvalidFields(control.controls[groupKey], invalidFields, field, groupKey);\n });\n }\n if (control instanceof UntypedFormArray) {\n control.controls.forEach((c, index) => {\n this.getInvalidFields(c, invalidFields, field + `(${index + 1})`);\n });\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ItemComponent, isStandalone: true, selector: \"smart-crud-item-page\", viewQueries: [{ propertyName: \"standardComponents\", predicate: ItemStandardComponent, descendants: true, isSignal: true }, { propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }, { propertyName: \"topTpl\", first: true, predicate: [\"topTpl\"], descendants: true, isSignal: true }, { propertyName: \"bottomTpl\", first: true, predicate: [\"bottomTpl\"], descendants: true, isSignal: true }, { propertyName: \"dynamicContents\", predicate: DynamicContentDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl class=\"text-xl py-2.5 separator\"></div>\n @if (template() === 'default') {\n <smart-crud-item-standard-page\n [detailsOptions]=\"detailsOptions()\"\n [mode]=\"mode\"\n [uniqueProvider]=\"uniqueProvider()\"\n (onPartialChange)=\"onPartialChange($event)\"\n (onChange)=\"onChange($event)\"\n (onValidChange)=\"onValidChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-item-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n <div #bottomTpl class=\"text-xl py-2.5 separator\"></div>\n </smart-page>\n `, isInline: true, dependencies: [{ kind: \"component\", type: PageComponent, selector: \"smart-page\", inputs: [\"options\"] }, { kind: \"component\", type: ItemStandardComponent, selector: \"smart-crud-item-standard-page\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ItemComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-item-page',\n imports: [PageComponent, ItemStandardComponent, NgTemplateOutlet],\n template: `\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl class=\"text-xl py-2.5 separator\"></div>\n @if (template() === 'default') {\n <smart-crud-item-standard-page\n [detailsOptions]=\"detailsOptions()\"\n [mode]=\"mode\"\n [uniqueProvider]=\"uniqueProvider()\"\n (onPartialChange)=\"onPartialChange($event)\"\n (onChange)=\"onChange($event)\"\n (onValidChange)=\"onValidChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-item-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n <div #bottomTpl class=\"text-xl py-2.5 separator\"></div>\n </smart-page>\n `,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9pdGVtL2l0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFLTixNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFLdkIsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0Is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SixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO3VHQXJiVSxhQUFhOzJGQUFiLGFBQWEsdUhBZ0RVLHFCQUFxQiw0WUFVckQsdUJBQXVCLHVGQWpGZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULDREQXRCUyxhQUFhLDRFQUFFLHFCQUFxQiwwRUFBRSxnQkFBZ0I7OzJGQXdCckQsYUFBYTtrQkExQnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDO29CQUNqRSxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnksXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVW50eXBlZEZvcm1BcnJheSxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIENyZWF0ZUR5bmFtaWNDb21wb25lbnQsXG4gIERldGFpbHNTZXJ2aWNlLFxuICBEeW5hbWljQ29tcG9uZW50TG9hZGVyLFxuICBEeW5hbWljQ29udGVudERpcmVjdGl2ZSxcbiAgSUNlbGxQaXBlLFxuICBJRGV0YWlsc09wdGlvbnMsXG4gIElJY29uQnV0dG9uT3B0aW9ucyxcbiAgSVBhZ2VPcHRpb25zLFxuICBQYWdlQ29tcG9uZW50LFxuICBTdHlsZVNlcnZpY2UsXG4gIFRvYXN0U2VydmljZSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcbmltcG9ydCB7IGdldE1vZGVsT3B0aW9ucyB9IGZyb20gJ0BzbWFydHNvZnQwMDEvbW9kZWxzJztcbmltcG9ydCB7IFNwZWNpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS91dGlscyc7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGUnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBJQ3J1ZEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDcnVkSXRlbVBhZ2VCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1TdGFuZGFyZENvbXBvbmVudCB9IGZyb20gJy4vc3RhbmRhcmQvc3RhbmRhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3J1ZC9jcnVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtaXRlbS1wYWdlJyxcbiAgaW1wb3J0czogW1BhZ2VDb21wb25lbnQsIEl0ZW1TdGFuZGFyZENvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNtYXJ0LXBhZ2UgW29wdGlvbnNdPVwicGFnZU9wdGlvbnMoKVwiPlxuICAgICAgPGRpdiAjdG9wVHBsIGNsYXNzPVwidGV4dC14bCBweS0yLjUgc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICBAaWYgKHRlbXBsYXRlKCkgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICA8c21hcnQtY3J1ZC1pdGVtLXN0YW5kYXJkLXBhZ2VcbiAgICAgICAgICBbZGV0YWlsc09wdGlvbnNdPVwiZGV0YWlsc09wdGlvbnMoKVwiXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgICAgW3VuaXF1ZVByb3ZpZGVyXT1cInVuaXF1ZVByb3ZpZGVyKClcIlxuICAgICAgICAgIChvblBhcnRpYWxDaGFuZ2UpPVwib25QYXJ0aWFsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAob25WYWxpZENoYW5nZSk9XCJvblZhbGlkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc21hcnQtY3J1ZC1pdGVtLXN0YW5kYXJkLXBhZ2U+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUcGw+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1jb250ZW50XCI+PC9kaXY+XG4gICAgICA8ZGl2ICNib3R0b21UcGwgY2xhc3M9XCJ0ZXh0LXhsIHB5LTIuNSBzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8L3NtYXJ0LXBhZ2U+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEl0ZW1Db21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBDcmVhdGVEeW5hbWljQ29tcG9uZW50PENydWRJdGVtUGFnZUJhc2VDb21wb25lbnQ8YW55Pj4oXG4gICAgJ2NydWQtaXRlbS1wYWdlJyxcbiAgKVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgYWN0aXZlUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KENydWRTZXJ2aWNlPFQ+KTtcbiAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50TG9hZGVyID0gaW5qZWN0KER5bmFtaWNDb21wb25lbnRMb2FkZXI8VD4pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuICBwcml2YXRlIGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgc3R5bGVTZXJ2aWNlID0gaW5qZWN0KFN0eWxlU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwYWdlU2VydmljZSA9IGluamVjdChQYWdlU2VydmljZTxUPik7XG4gIHByaXZhdGUgZGV0YWlsc1NlcnZpY2UgPSBpbmplY3QoRGV0YWlsc1NlcnZpY2UpO1xuXG4gIHByaXZhdGUgX21vZGUhOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+O1xuXG4gIHBhZ2VPcHRpb25zOiBXcml0YWJsZVNpZ25hbDxJUGFnZU9wdGlvbnM+ID0gc2lnbmFsKHtcbiAgICB0aXRsZTogJycsXG4gICAgc2hvd0JhY2tCdXR0b246IHRydWUsXG4gICAgaGlkZU1lbnVCdXR0b246IHRydWUsXG4gIH0pO1xuICBkZXRhaWxzT3B0aW9ucyE6IFdyaXRhYmxlU2lnbmFsPElEZXRhaWxzT3B0aW9uczxUPj47XG4gIGlkITogc3RyaW5nO1xuICBmb3JtVmFsdWUhOiBUO1xuICBmb3JtVmFsaWQgPSBmYWxzZTtcbiAgaXRlbSE6IFQ7XG4gIGZvcm1QYXJ0aWFsVmFsdWUhOiBQYXJ0aWFsPFQ+O1xuICB1bmlxdWVQcm92aWRlciE6IFdyaXRhYmxlU2lnbmFsPFxuICAgICh2YWx1ZXM6IFJlY29yZDxrZXlvZiBULCBhbnk+KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gID47XG5cbiAgc2V0IG1vZGUodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9tb2RlID0gc2lnbmFsKHZhbCk7XG4gICAgdGhpcy5yZWZyZXNoRHluYW1pY0luc3RhbmNlKCk7XG4gIH1cbiAgZ2V0IG1vZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZSgpO1xuICB9XG5cbiAgc2VsZWN0ZWQ6IFNpZ25hbDxUPjtcblxuICBzdGFuZGFyZENvbXBvbmVudHMgPSB2aWV3Q2hpbGRyZW4oSXRlbVN0YW5kYXJkQ29tcG9uZW50KTtcbiAgLy8gQFZpZXdDaGlsZChJb25Db250ZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50OiBJb25Db250ZW50OyAvL1RPRE86IHJld3JpdGUgd2hlbiByZXdyaXRpbmcgaW9uaWNcblxuICBvdmVycmlkZSBjb250ZW50VHBsID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdjb250ZW50VHBsJyk7XG5cbiAgdG9wVHBsID0gdmlld0NoaWxkPFZpZXdDb250YWluZXJSZWY+KCd0b3BUcGwnKTtcblxuICBib3R0b21UcGwgPSB2aWV3Q2hpbGQ8Vmlld0NvbnRhaW5lclJlZj4oJ2JvdHRvbVRwbCcpO1xuXG4gIG92ZXJyaWRlIGR5bmFtaWNDb250ZW50cyA9IHZpZXdDaGlsZHJlbjxEeW5hbWljQ29udGVudERpcmVjdGl2ZT4oXG4gICAgRHluYW1pY0NvbnRlbnREaXJlY3RpdmUsXG4gICk7XG5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5mYWNhZGUuc2VsZWN0ZWQ7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtID0gdGhpcy5mYWNhZGUuc2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuaW5pdFBhZ2VPcHRpb25zKCk7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlZnJlc2hQcm9wZXJ0aWVzKCkge1xuICAgIHRoaXMuYmFzZUNvbXBvbmVudFJlZi5zZXRJbnB1dCgnZGV0YWlsc09wdGlvbnMnLCB0aGlzLmRldGFpbHNPcHRpb25zKCkpO1xuICAgIHRoaXMuYmFzZUNvbXBvbmVudFJlZi5zZXRJbnB1dCgnbW9kZScsIHRoaXMubW9kZSk7XG4gICAgdGhpcy5iYXNlQ29tcG9uZW50UmVmLnNldElucHV0KCd1bmlxdWVQcm92aWRlcicsIHRoaXMudW5pcXVlUHJvdmlkZXIoKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5iYXNlSW5zdGFuY2Uub25QYXJ0aWFsQ2hhbmdlLnN1YnNjcmliZSgodmFsKSA9PlxuICAgICAgICB0aGlzLm9uUGFydGlhbENoYW5nZSh2YWwpLFxuICAgICAgKSxcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuYmFzZUluc3RhbmNlLm9uQ2hhbmdlLnN1YnNjcmliZSgodmFsKSA9PiB0aGlzLm9uQ2hhbmdlKHZhbCkpLFxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5iYXNlSW5zdGFuY2Uub25WYWxpZENoYW5nZS5zdWJzY3JpYmUoKHZhbCkgPT5cbiAgICAgICAgdGhpcy5vblZhbGlkQ2hhbmdlKHZhbCksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRldGFpbHNTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnN0eWxlU2VydmljZS5pbml0KHRoaXMuZWxlbWVudFJlZik7XG5cbiAgICB0aGlzLnBhZ2VTZXJ2aWNlLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGlmICh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwuc3BsaXQoJz8nKVswXS5lbmRzV2l0aCgnL2FkZCcpKSB7XG4gICAgICB0aGlzLm1vZGUgPSAnY3JlYXRlJztcbiAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVDb21wb25lbnRzKCdhZGQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlID0gdGhpcy5jb25maWcuZGV0YWlscyA/ICdkZXRhaWxzJyA6ICd1cGRhdGUnO1xuXG4gICAgICBpZiAodGhpcy5tb2RlID09PSAndXBkYXRlJykge1xuICAgICAgICBhd2FpdCB0aGlzLmdlbmVyYXRlQ29tcG9uZW50cygnZWRpdCcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZVJvdXRlLnBhcmFtc1xuICAgICAgICAucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgaWQgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuZmFjYWRlLnNlbGVjdChpZCk7XG4gICAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hY3RpdmVSb3V0ZS5xdWVyeVBhcmFtc1xuICAgICAgICAucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgZWRpdCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGVkaXQpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICd1cGRhdGUnO1xuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNvbXBvbmVudHMoJ2VkaXQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudW5pcXVlUHJvdmlkZXIuc2V0KGFzeW5jICh2YWx1ZXMpID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcjogSUNydWRGaWx0ZXIgPSB7XG4gICAgICAgIHF1ZXJ5OiBbXSxcbiAgICAgIH07XG5cbiAgICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGZpbHRlci5xdWVyeSEucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6ICh2YWx1ZXMgYXMgYW55KVtrZXldLFxuICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgZmlsdGVyLnF1ZXJ5IS5wdXNoKHtcbiAgICAgICAgICBrZXk6ICdpZCcsXG4gICAgICAgICAgdmFsdWU6IHRoaXMuaWQsXG4gICAgICAgICAgdHlwZTogJyE9JyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zdCB7IHRvdGFsQ291bnQgfSA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRMaXN0KGZpbHRlcik7XG5cbiAgICAgIHJldHVybiAhdG90YWxDb3VudDtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5kZXRhaWxzKSB7XG4gICAgICBjb25zdCBjb21waWxlZENvbXBvbmVudHM6IHtcbiAgICAgICAgY29tcG9uZW50OiBhbnk7XG4gICAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PjtcbiAgICAgIH1bXSA9IGF3YWl0IHRoaXMuZHluYW1pY0NvbXBvbmVudExvYWRlci5nZXRDb21wb25lbnRzV2l0aEZhY3Rvcmllcyh7XG4gICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS50b3BcbiAgICAgICAgICAgID8gWyh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS50b3BdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS5ib3R0b21cbiAgICAgICAgICAgID8gWyh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS5ib3R0b21dXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRldGFpbHNPcHRpb25zLnNldCh7XG4gICAgICAgIHR5cGU6IHRoaXMuY29uZmlnLnR5cGUsXG4gICAgICAgIGl0ZW06IHRoaXMuZmFjYWRlLnNlbGVjdGVkLFxuICAgICAgICBjZWxsUGlwZTogdGhpcy5jb25maWcuZGV0YWlsc1xuICAgICAgICAgID8gKHRoaXMuY29uZmlnLmRldGFpbHMgYXMgeyBjZWxsUGlwZT86IElDZWxsUGlwZTxUPiB9KS5jZWxsUGlwZVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBjb21wb25lbnRGYWN0b3JpZXM6IHtcbiAgICAgICAgICB0b3A6XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpWydjb21wb25lbnRzJ10gJiZcbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSlbJ2NvbXBvbmVudHMnXS50b3BcbiAgICAgICAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgICAgICAgIChjYykgPT5cbiAgICAgICAgICAgICAgICAgICAgY2MuY29tcG9uZW50ID09PVxuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpWydjb21wb25lbnRzJ10udG9wLFxuICAgICAgICAgICAgICAgICk/LmZhY3RvcnlcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbHMgYXMgYW55KVsnY29tcG9uZW50cyddICYmXG4gICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpWydjb21wb25lbnRzJ10uYm90dG9tXG4gICAgICAgICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAoY2MpID0+XG4gICAgICAgICAgICAgICAgICAgIGNjLmNvbXBvbmVudCA9PT1cbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbHMgYXMgYW55KVsnY29tcG9uZW50cyddLmJvdHRvbSxcbiAgICAgICAgICAgICAgICApPy5mYWN0b3J5XG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0UGFnZU9wdGlvbnMoKTtcblxuICAgIHRoaXMucmVmcmVzaER5bmFtaWNJbnN0YW5jZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdlbmVyYXRlQ29tcG9uZW50cyhtb2RlOiAnYWRkJyB8ICdlZGl0Jykge1xuICAgIGNvbnN0IGNvbXBpbGVkQ29tcG9uZW50cyA9XG4gICAgICBhd2FpdCB0aGlzLmR5bmFtaWNDb21wb25lbnRMb2FkZXIuZ2V0Q29tcG9uZW50c1dpdGhGYWN0b3JpZXMoe1xuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnW21vZGVdICYmXG4gICAgICAgICAgKHRoaXMuY29uZmlnW21vZGVdIGFzIGFueSlbJ2NvbXBvbmVudHMnXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10udG9wXG4gICAgICAgICAgICA/IFsodGhpcy5jb25maWdbbW9kZV0gYXMgYW55KVsnY29tcG9uZW50cyddLnRvcF1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZ1ttb2RlXSAmJlxuICAgICAgICAgICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10gJiZcbiAgICAgICAgICAodGhpcy5jb25maWdbbW9kZV0gYXMgYW55KVsnY29tcG9uZW50cyddLmJvdHRvbVxuICAgICAgICAgICAgPyBbKHRoaXMuY29uZmlnW21vZGVdIGFzIGFueSlbJ2NvbXBvbmVudHMnXS5ib3R0b21dXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29tcG9uZW50RmFjdG9yeSA9IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgKGNjKSA9PiBjYy5jb21wb25lbnQgPT09ICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10/LnRvcCxcbiAgICApPy5mYWN0b3J5O1xuXG4gICAgY29uc3QgYm90dG9tQ29tcG9uZW50RmFjdG9yeSA9IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgKGNjKSA9PiBjYy5jb21wb25lbnQgPT09ICh0aGlzLmNvbmZpZ1ttb2RlXSBhcyBhbnkpWydjb21wb25lbnRzJ10/LmJvdHRvbSxcbiAgICApPy5mYWN0b3J5O1xuXG4gICAgaWYgKCF0aGlzLnRvcFRwbCgpPy5nZXQoMCkgJiYgdG9wQ29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgdGhpcy50b3BUcGwoKT8uY3JlYXRlQ29tcG9uZW50KHRvcENvbXBvbmVudEZhY3RvcnkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5ib3R0b21UcGwoKT8uZ2V0KDApICYmIGJvdHRvbUNvbXBvbmVudEZhY3RvcnkpIHtcbiAgICAgIHRoaXMuYm90dG9tVHBsKCk/LmNyZWF0ZUNvbXBvbmVudChib3R0b21Db21wb25lbnRGYWN0b3J5KTtcbiAgICB9XG4gIH1cblxuICBvblBhcnRpYWxDaGFuZ2UodmFsOiBQYXJ0aWFsPFQ+KSB7XG4gICAgdGhpcy5mb3JtUGFydGlhbFZhbHVlID0gdmFsO1xuICB9XG5cbiAgb25DaGFuZ2UodmFsOiBUKSB7XG4gICAgdGhpcy5mb3JtVmFsdWUgPSB2YWw7XG4gIH1cblxuICBvblZhbGlkQ2hhbmdlKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuZm9ybVZhbGlkID0gdmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGFnZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlT3B0aW9ucy5zZXQoe1xuICAgICAgLi4udGhpcy5wYWdlT3B0aW9ucygpLFxuICAgICAgdGl0bGU6IHRoaXMuZ2V0VGl0bGUoKSB8fCAnJyxcbiAgICAgIGVuZEJ1dHRvbnM6IHRoaXMuZ2V0QnV0dG9ucygpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25zKCk6IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModGhpcy5jb25maWcudHlwZSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xuICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpY29uOiAnYWRkJyxcbiAgICAgICAgICAgIHRleHQ6ICdhZGQnLFxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5jaGVja0ZpcnN0SW52YWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGhpcy5mYWNhZGUuY3JlYXRlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZy5kZXRhaWxzXG4gICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpY29uOiAnY2xvc2UnLFxuICAgICAgICAgICAgICAgICAgdGV4dDogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICdkZXRhaWxzJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0UGFnZU9wdGlvbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3BUcGwoKT8uY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ib3R0b21UcGwoKT8uY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZCQ6IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGljb246ICdzYXZlJyxcbiAgICAgICAgICAgIHRleHQ6ICdzYXZlJyxcbiAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tGaXJzdEludmFsaWQoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRoaXMuZm9ybVBhcnRpYWxWYWx1ZS5pZCA9IHRoaXMuaWQ7XG4gICAgICAgICAgICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVBhcnRpYWwodGhpcy5mb3JtUGFydGlhbFZhbHVlIGFzIGFueSk7XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRldGFpbHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAnZGV0YWlscyc7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0UGFnZU9wdGlvbnMoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgY2FzZSAnZGV0YWlscyc6XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5lZGl0ICYmXG4gICAgICAgICAgKCFvcHRpb25zPy51cGRhdGU/LmVuYWJsZWQgfHxcbiAgICAgICAgICAgIFNwZWNpZmljYXRpb25TZXJ2aWNlLnZhbGlkKHRoaXMuaXRlbSwgb3B0aW9ucz8udXBkYXRlPy5lbmFibGVkKSlcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGljb246ICdjcmVhdGUnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICdlZGl0JyxcbiAgICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAndXBkYXRlJztcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVDb21wb25lbnRzKCdlZGl0Jyk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmluaXRQYWdlT3B0aW9ucygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQkOiBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtdO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRpdGxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKTtcblxuICAgIGNvbnN0IHByZWZpeCA9XG4gICAgICBvcHRpb25zLnRpdGxlS2V5ICYmIHRoaXMuaXRlbVxuICAgICAgICA/IHRoaXMucmVtb3ZlUGFyYWdyYXBoKCh0aGlzLml0ZW0gYXMgYW55KVtvcHRpb25zLnRpdGxlS2V5XSkgKyAnIC0gJ1xuICAgICAgICA6ICcnO1xuXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgIHJldHVybiAnYWRkJztcbiAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgIHJldHVybiBwcmVmaXggKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY2hhbmdlJyk7XG4gICAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkZXRhaWxzJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGFyYWdyYXBoKHZhbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbCB8fCB2YWwuaW5kZXhPZignPHA+JykgIT09IDApIHJldHVybiB2YWw7XG5cbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXYuaW5uZXJIVE1MID0gdmFsO1xuXG4gICAgY29uc3QgaXRlbSA9IGRpdi5xdWVyeVNlbGVjdG9yQWxsKCdwJykuaXRlbSgwKTtcblxuICAgIHJldHVybiBpdGVtLmlubmVySFRNTDtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGaXJzdEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBjb25zdCBmb3JtID1cbiAgICAgIHRoaXMudGVtcGxhdGUoKSA9PT0gJ2RlZmF1bHQnXG4gICAgICAgID8gKHRoaXMuc3RhbmRhcmRDb21wb25lbnRzKCkgYXMgYW55KT8uWzBdPy5mb3JtQ29tcG9uZW50cz8uWzBdPy5mb3JtXG4gICAgICAgIDogdGhpcy5iYXNlSW5zdGFuY2UuZm9ybUNvbXBvbmVudHMoKVswXS5mb3JtO1xuXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAoZm9ybS52YWxpZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaW52YWxpZEZpZWxkczogc3RyaW5nW10gPSBbXTtcblxuICAgIHRoaXMuZ2V0SW52YWxpZEZpZWxkcyhmb3JtLCBpbnZhbGlkRmllbGRzLCAnJyk7XG5cbiAgICB0aGlzLnRvYXN0U2VydmljZS5pbmZvKHtcbiAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnSU5QVVQuRVJST1JTLnJlcXVpcmVzJyksXG4gICAgICBtZXNzYWdlOiBpbnZhbGlkRmllbGRzLnNsaWNlKDAsIDMpLmpvaW4oJzxici8+JyksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW52YWxpZEZpZWxkcyhcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgaW52YWxpZEZpZWxkczogYW55W10sXG4gICAgYmFzZUZpZWxkOiBzdHJpbmcsXG4gICAga2V5ID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKGNvbnRyb2wudmFsaWQpIHJldHVybjtcblxuICAgIGNvbnN0IGZpZWxkID0ga2V5XG4gICAgICA/IGJhc2VGaWVsZCArICcgPiAnICsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ01PREVMLicgKyBrZXkpXG4gICAgICA6IGJhc2VGaWVsZDtcblxuICAgIGlmIChjb250cm9sLmVycm9ycz8uWydjdXN0b21NZXNzYWdlJ10pIHtcbiAgICAgIGludmFsaWRGaWVsZHMucHVzaChmaWVsZCArIGAgKCR7Y29udHJvbC5lcnJvcnNbJ2N1c3RvbU1lc3NhZ2UnXX0pYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICAgIGludmFsaWRGaWVsZHMucHVzaChmaWVsZCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKChncm91cEtleSkgPT4ge1xuICAgICAgICB0aGlzLmdldEludmFsaWRGaWVsZHMoXG4gICAgICAgICAgY29udHJvbC5jb250cm9sc1tncm91cEtleV0sXG4gICAgICAgICAgaW52YWxpZEZpZWxkcyxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBncm91cEtleSBhcyBhbnksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtQXJyYXkpIHtcbiAgICAgIGNvbnRyb2wuY29udHJvbHMuZm9yRWFjaCgoYywgaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRJbnZhbGlkRmllbGRzKGMsIGludmFsaWRGaWVsZHMsIGZpZWxkICsgYCgke2luZGV4ICsgMX0pYCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, inject, input, viewChild, } from '@angular/core';\nimport { BaseComponent, } from '@smartsoft001/angular';\nimport { CrudFullConfig } from '../../../crud.config';\nimport * as i0 from \"@angular/core\";\nexport class CrudListPageBaseComponent extends BaseComponent {\n config = inject((CrudFullConfig));\n static smartType = 'crud-list-page';\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n listOptions = input(...(ngDevMode ? [undefined, { debugName: \"listOptions\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPageBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.1.0\", type: CrudListPageBaseComponent, isStandalone: true, inputs: { listOptions: { classPropertyName: \"listOptions\", publicName: \"listOptions\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudListPageBaseComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9saXN0L2Jhc2UvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsYUFBYSxHQUdkLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd0RCxNQUFNLE9BQWdCLHlCQUVwQixTQUFRLGFBQWE7SUFDZCxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLFNBQVMsR0FBeUIsZ0JBQWdCLENBQUM7SUFFMUQsVUFBVSxHQUFHLFNBQVMsQ0FBbUIsWUFBWSxzREFBQyxDQUFDO0lBRXZELFdBQVcsR0FBRyxLQUFLLGlFQUEwQixDQUFDO3VHQVQxQix5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgdmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmFzZUNvbXBvbmVudCxcbiAgRHluYW1pY0NvbXBvbmVudFR5cGUsXG4gIElMaXN0T3B0aW9ucyxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jcnVkLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sXG4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuXG4gIHN0YXRpYyBzbWFydFR5cGU6IER5bmFtaWNDb21wb25lbnRUeXBlID0gJ2NydWQtbGlzdC1wYWdlJztcblxuICBjb250ZW50VHBsID0gdmlld0NoaWxkPFZpZXdDb250YWluZXJSZWY+KCdjb250ZW50VHBsJyk7XG5cbiAgbGlzdE9wdGlvbnMgPSBpbnB1dDxJTGlzdE9wdGlvbnM8VD4gfCBudWxsPigpO1xufVxuIl19","import { Component, computed, inject } from '@angular/core';\nimport { ListComponent } from '@smartsoft001/angular';\nimport { CrudFacade } from '../../../+state/crud.facade';\nimport { FiltersConfigComponent, GroupComponent } from '../../../components';\nimport { CrudFullConfig } from '../../../crud.config';\nimport { CrudListGroupService } from '../../../services/list-group/list-group.service';\nimport { CrudListPageBaseComponent } from '../base/base.component';\nimport * as i0 from \"@angular/core\";\nexport class ListStandardComponent extends CrudListPageBaseComponent {\n facade = inject((CrudFacade));\n config = inject((CrudFullConfig));\n isSearch = computed(() => !!this.facade.filter()?.searchText, ...(ngDevMode ? [{ debugName: \"isSearch\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListStandardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ListStandardComponent, isStandalone: true, selector: \"smart-crud-list-standard-page\", providers: [CrudListGroupService], usesInheritance: true, ngImport: i0, template: `\n <smart-crud-filters-config></smart-crud-filters-config>\n @let groups = config.list?.groups;\n @if (listOptions()) {\n <smart-list\n [hidden]=\"groups && !isSearch()\"\n [options]=\"listOptions()!\"\n ></smart-list>\n }\n @if (groups && !isSearch()) {\n <smart-crud-group\n [groups]=\"groups\"\n [listOptions]=\"listOptions() || null\"\n ></smart-crud-group>\n }\n `, isInline: true, dependencies: [{ kind: \"component\", type: FiltersConfigComponent, selector: \"smart-crud-filters-config\" }, { kind: \"component\", type: ListComponent, selector: \"smart-list\", inputs: [\"options\"] }, { kind: \"component\", type: GroupComponent, selector: \"smart-crud-group\", inputs: [\"groups\", \"listOptions\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListStandardComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-list-standard-page',\n template: `\n <smart-crud-filters-config></smart-crud-filters-config>\n @let groups = config.list?.groups;\n @if (listOptions()) {\n <smart-list\n [hidden]=\"groups && !isSearch()\"\n [options]=\"listOptions()!\"\n ></smart-list>\n }\n @if (groups && !isSearch()) {\n <smart-crud-group\n [groups]=\"groups\"\n [listOptions]=\"listOptions() || null\"\n ></smart-crud-group>\n }\n `,\n imports: [FiltersConfigComponent, ListComponent, GroupComponent],\n providers: [CrudListGroupService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9saWIvcGFnZXMvbGlzdC9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUF1Qm5FLE1BQU0sT0FBTyxxQkFFWCxTQUFRLHlCQUE0QjtJQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUN2QixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxDQUFDLENBQUM7SUFFNUQsUUFBUSxHQUFvQixRQUFRLENBQ2xDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFVBQVUsb0RBQ3pDLENBQUM7dUdBUlMscUJBQXFCOzJGQUFyQixxQkFBcUIsNEVBRnJCLENBQUMsb0JBQW9CLENBQUMsaURBakJ2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsNERBQ1Msc0JBQXNCLHNFQUFFLGFBQWEsNEVBQUUsY0FBYzs7MkZBR3BELHFCQUFxQjtrQkFyQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO29CQUNoRSxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgQ3J1ZEZhY2FkZSB9IGZyb20gJy4uLy4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQgeyBGaWx0ZXJzQ29uZmlnQ29tcG9uZW50LCBHcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jcnVkLmNvbmZpZyc7XG5pbXBvcnQgeyBDcnVkTGlzdEdyb3VwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5zZXJ2aWNlJztcbmltcG9ydCB7IENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY3J1ZC1saXN0LXN0YW5kYXJkLXBhZ2UnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzbWFydC1jcnVkLWZpbHRlcnMtY29uZmlnPjwvc21hcnQtY3J1ZC1maWx0ZXJzLWNvbmZpZz5cbiAgICBAbGV0IGdyb3VwcyA9IGNvbmZpZy5saXN0Py5ncm91cHM7XG4gICAgQGlmIChsaXN0T3B0aW9ucygpKSB7XG4gICAgICA8c21hcnQtbGlzdFxuICAgICAgICBbaGlkZGVuXT1cImdyb3VwcyAmJiAhaXNTZWFyY2goKVwiXG4gICAgICAgIFtvcHRpb25zXT1cImxpc3RPcHRpb25zKCkhXCJcbiAgICAgID48L3NtYXJ0LWxpc3Q+XG4gICAgfVxuICAgIEBpZiAoZ3JvdXBzICYmICFpc1NlYXJjaCgpKSB7XG4gICAgICA8c21hcnQtY3J1ZC1ncm91cFxuICAgICAgICBbZ3JvdXBzXT1cImdyb3Vwc1wiXG4gICAgICAgIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9ucygpIHx8IG51bGxcIlxuICAgICAgPjwvc21hcnQtY3J1ZC1ncm91cD5cbiAgICB9XG4gIGAsXG4gIGltcG9ydHM6IFtGaWx0ZXJzQ29uZmlnQ29tcG9uZW50LCBMaXN0Q29tcG9uZW50LCBHcm91cENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0NydWRMaXN0R3JvdXBTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFN0YW5kYXJkQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+LFxuPiBleHRlbmRzIENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGZhY2FkZSA9IGluamVjdChDcnVkRmFjYWRlPFQ+KTtcbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDcnVkRnVsbENvbmZpZzxUPik7XG5cbiAgaXNTZWFyY2g6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKFxuICAgICgpID0+ICEhdGhpcy5mYWNhZGUuZmlsdGVyKCk/LnNlYXJjaFRleHQsXG4gICk7XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class CrudSearchService {\n _filterSource = new BehaviorSubject({});\n _enabledSource = new BehaviorSubject(false);\n get filter() {\n if (!this._enabledSource.value)\n return {};\n return this._filterSource.value || {};\n }\n get enabled() {\n return this._enabledSource.value;\n }\n enabled$ = this._enabledSource.asObservable();\n filter$ = combineLatest([\n this._filterSource.asObservable(),\n this.enabled$,\n ]).pipe(map(([filter, enabled]) => {\n if (!enabled)\n return {};\n return filter;\n }));\n setFilter(val) {\n this._filterSource.next(val);\n }\n setEnabled(val) {\n this._enabledSource.next(val);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudSearchService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudSearchService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3JDLE1BQU0sT0FBTyxpQkFBaUI7SUFDcEIsYUFBYSxHQUFHLElBQUksZUFBZSxDQUF1QixFQUFFLENBQUMsQ0FBQztJQUM5RCxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFN0QsSUFBSSxNQUFNO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU5QyxPQUFPLEdBQXFDLGFBQWEsQ0FBQztRQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRTtRQUNqQyxJQUFJLENBQUMsUUFBUTtLQUNkLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFRixTQUFTLENBQUMsR0FBeUI7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFZO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7dUdBL0JVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZFNlYXJjaFNlcnZpY2Uge1xuICBwcml2YXRlIF9maWx0ZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8SUNydWRGaWx0ZXI+Pih7fSk7XG4gIHByaXZhdGUgX2VuYWJsZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBnZXQgZmlsdGVyKCk6IFBhcnRpYWw8SUNydWRGaWx0ZXI+IHtcbiAgICBpZiAoIXRoaXMuX2VuYWJsZWRTb3VyY2UudmFsdWUpIHJldHVybiB7fTtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyU291cmNlLnZhbHVlIHx8IHt9O1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWRTb3VyY2UudmFsdWU7XG4gIH1cblxuICBlbmFibGVkJCA9IHRoaXMuX2VuYWJsZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZmlsdGVyJDogT2JzZXJ2YWJsZTxQYXJ0aWFsPElDcnVkRmlsdGVyPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9maWx0ZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCksXG4gICAgdGhpcy5lbmFibGVkJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtmaWx0ZXIsIGVuYWJsZWRdKSA9PiB7XG4gICAgICBpZiAoIWVuYWJsZWQpIHJldHVybiB7fTtcbiAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgfSksXG4gICk7XG5cbiAgc2V0RmlsdGVyKHZhbDogUGFydGlhbDxJQ3J1ZEZpbHRlcj4pOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJTb3VyY2UubmV4dCh2YWwpO1xuICB9XG5cbiAgc2V0RW5hYmxlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9lbmFibGVkU291cmNlLm5leHQodmFsKTtcbiAgfVxufVxuIl19","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, computed, inject, Injector, signal, viewChild, viewChildren, } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { CreateDynamicComponent, DynamicComponentLoader, DynamicContentDirective, HardwareService, ListMode, MenuService, PageComponent, } from '@smartsoft001/angular';\nimport { getModelFieldsWithOptions, getModelOptions, } from '@smartsoft001/models';\nimport { SpecificationService } from '@smartsoft001/utils';\nimport { CrudFacade } from '../../+state/crud.facade';\nimport { ExportComponent } from '../../components';\nimport { FiltersComponent } from '../../components';\nimport { MultiselectComponent } from '../../components';\nimport { CrudFullConfig } from '../../crud.config';\nimport { CrudListPaginationFactory } from '../../factories/list-pagination/list-pagination.factory';\nimport { ListStandardComponent } from './standard/standard.component';\nimport { PageService } from '../../services/page/page.service';\nimport { CrudSearchService } from '../../services/search/search.service';\nimport * as i0 from \"@angular/core\";\nexport class ListComponent extends CreateDynamicComponent('crud-list-page') {\n facade = inject((CrudFacade));\n router = inject(Router);\n dynamicComponentLoader = inject((DynamicComponentLoader));\n injector = inject(Injector);\n cd = inject(ChangeDetectorRef);\n menuService = inject(MenuService);\n hardwareService = inject(HardwareService);\n paginationFacade = inject((CrudListPaginationFactory));\n pageService = inject((PageService));\n config = inject((CrudFullConfig));\n searchService = inject(CrudSearchService);\n _cleanMultiSelected$ = new Subject();\n pageOptions = signal(null, ...(ngDevMode ? [{ debugName: \"pageOptions\" }] : []));\n listOptions = signal(null, ...(ngDevMode ? [{ debugName: \"listOptions\" }] : []));\n links = this.facade.links;\n filter = this.facade.filter;\n topTpl = viewChild('topTpl', ...(ngDevMode ? [{ debugName: \"topTpl\" }] : []));\n contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n dynamicContents = viewChildren(DynamicContentDirective, ...(ngDevMode ? [{ debugName: \"dynamicContents\" }] : []));\n refreshProperties() {\n this.baseComponentRef.setInput('listOptions', this.listOptions());\n }\n async ngOnInit() {\n this.pageService.checkPermissions();\n const options = getModelOptions(this.config.type);\n let newFilter = null;\n if (this.config.list?.resetQuery === 'beforeInit') {\n newFilter = {\n query: this.config.baseQuery ? [...this.config.baseQuery] : [],\n paginationMode: this.config.list.paginationMode,\n limit: this.config.pagination\n ? this.config.pagination.limit\n : undefined,\n offset: this.config.pagination ? 0 : undefined,\n sortBy: this.config.sort\n ? this.config.sort['default']\n : undefined,\n sortDesc: this.config.sort\n ? this.config.sort['defaultDesc']\n : undefined,\n ...this.searchService.filter,\n };\n }\n else if (this.filter()) {\n newFilter = this.filter();\n }\n else {\n newFilter = {\n paginationMode: this.config.list.paginationMode,\n limit: this.searchService.filter?.limit\n ? this.searchService.filter.limit\n : this.config.pagination\n ? this.config.pagination.limit\n : undefined,\n offset: this.searchService.filter?.offset ||\n this.searchService.filter?.offset === 0\n ? this.searchService.filter.offset\n : this.config.pagination\n ? 0\n : undefined,\n sortBy: this.searchService.filter?.sortBy\n ? this.searchService.filter.sortBy\n : this.config.sort\n ? this.config.sort['default']\n : undefined,\n sortDesc: this.searchService.filter?.sortDesc\n ? this.searchService.filter.sortDesc\n : this.config.sort\n ? this.config.sort['defaultDesc']\n : undefined,\n query: this.config.baseQuery ? [...this.config.baseQuery] : [],\n ...this.searchService.filter,\n };\n }\n this.facade.read(newFilter);\n const endButtons = this.getEndButtons();\n this.pageOptions.set({\n title: this.config.title || '',\n search: this.config.search\n ? {\n text: computed(() => this.filter()?.searchText ?? ''),\n set: (txt) => {\n if (txt !== this.filter()?.searchText)\n this.facade.read({\n ...this.filter(),\n searchText: txt,\n offset: 0,\n });\n },\n }\n : undefined,\n endButtons: endButtons,\n });\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.top\n ? [this.config.details.components.top]\n : []),\n ...(this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.bottom\n ? [this.config.details.components.bottom]\n : []),\n ...(this.config.list &&\n typeof this.config.list === 'object' &&\n 'components' in this.config.list &&\n this.config.list.components?.top\n ? [this.config.list.components.top]\n : []),\n ],\n });\n this.listOptions.set({\n provider: {\n getData: (filter) => {\n const global = {\n ...this.filter(),\n ...filter,\n };\n this.facade.read(global);\n },\n onChangeMultiSelected: async (list) => {\n if (list.length && !this.menuService.openedEnd) {\n await this.menuService.openEnd({\n injector: this.injector,\n component: MultiselectComponent,\n });\n }\n else if (!list.length && this.menuService.openedEnd) {\n await this.menuService.closeEnd();\n }\n this.facade.multiSelect(list);\n },\n list: computed(() => this.facade.list() || []),\n loading: this.facade.loading,\n onCleanMultiSelected$: this._cleanMultiSelected$,\n },\n cellPipe: this.config.list ? this.config.list.cellPipe : undefined,\n mode: this.config.list?.mode,\n type: this.config.type,\n details: this.config.details\n ? {\n provider: {\n getData: (id) => {\n this.facade.select(id);\n },\n clearData: () => {\n this.facade.unselect();\n },\n item: this.facade.selected,\n loading: this.facade.loading,\n },\n componentFactories: {\n top: this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.top\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details.components.top)?.factory\n : undefined,\n bottom: this.config.details &&\n typeof this.config.details === 'object' &&\n 'components' in this.config.details &&\n this.config.details.components?.bottom\n ? compiledComponents.find((cc) => cc.component ===\n this.config.details.components.bottom)?.factory\n : undefined,\n },\n }\n : undefined,\n item: !!this.config.edit || this.config.details\n ? {\n options: {\n routingPrefix: '/' + this.router.routerState.snapshot.url + '/',\n edit: !!this.config.edit,\n },\n }\n : undefined,\n remove: this.config.remove\n ? {\n provider: {\n invoke: (id) => this.facade.delete(id),\n check: (item) => {\n return options?.remove?.enabled\n ? SpecificationService.valid(item, options?.remove?.enabled)\n : true;\n },\n },\n }\n : undefined,\n pagination: await this.paginationFacade.create({\n mode: this.config.list.paginationMode,\n limit: this.config.pagination.limit,\n provider: {\n getFilter: () => {\n return this.filter() || {};\n },\n getLinks: () => this.links(),\n },\n }),\n sort: this.config.sort,\n });\n this.cd.detectChanges();\n this.initCloseMenu();\n this.initTopComponent(compiledComponents);\n this.refreshDynamicInstance();\n }\n initCloseMenu() {\n this.router.events.pipe(this.takeUntilDestroy).subscribe(async () => {\n await this.clear();\n });\n }\n async clear() {\n await this.menuService.closeEnd();\n this.listOptions.update((val) => ({\n ...val,\n select: undefined,\n }));\n this.facade.multiSelect([]);\n }\n getEndButtons() {\n const fieldsWithOptions = getModelFieldsWithOptions(new this.config.type());\n const modelOptions = getModelOptions(this.config.type);\n const showFilters = fieldsWithOptions.some((x) => x.options?.list?.filter) || modelOptions?.filters?.length;\n const showMultiEdit = this.config.list?.components?.multi ||\n (this.config.edit &&\n fieldsWithOptions.some((x) => x.options?.update?.multi) &&\n !this.hardwareService.isMobile &&\n (!this.config?.list?.mode ||\n this.config?.list?.mode === ListMode.desktop));\n return [\n ...(showMultiEdit\n ? [\n {\n icon: 'checkbox-outline',\n text: 'multi',\n handler: () => {\n this.facade.multiSelect([]);\n this._cleanMultiSelected$.next();\n setTimeout(async () => {\n this.listOptions.update((val) => ({\n ...val,\n select: val?.select === 'multi' ? undefined : 'multi',\n }));\n if (this.menuService.openedEnd)\n await this.menuService.closeEnd();\n this.cd.detectChanges();\n });\n },\n },\n ]\n : []),\n ...(showFilters\n ? [\n {\n icon: 'filter-outline',\n text: 'filters',\n handler: async () => {\n await this.menuService.openEnd({\n injector: this.injector,\n component: FiltersComponent,\n });\n },\n },\n ]\n : []),\n ...(this.config.add\n ? [\n {\n icon: 'add',\n text: 'add',\n handler: () => {\n this.router.navigate([\n '/' + this.router.routerState.snapshot.url + '/add',\n ]);\n },\n },\n ]\n : []),\n ...(this.config.export\n ? [\n {\n text: 'export',\n icon: 'download-outline',\n type: 'popover',\n component: ExportComponent,\n },\n ]\n : []),\n ...(this.config.buttons ? this.config.buttons : []),\n ];\n }\n initTopComponent(compiledComponents) {\n const factory = this.config.list &&\n typeof this.config.list === 'object' &&\n 'components' in this.config.list &&\n this.config.list.components?.top\n ? compiledComponents.find((cc) => cc.component === this.config.list.components.top)?.factory\n : null;\n setTimeout(() => {\n if (factory && !this.topTpl()?.get(0)) {\n this.topTpl()?.createComponent(factory);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.0\", type: ListComponent, isStandalone: true, selector: \"smart-crud-list-page\", viewQueries: [{ propertyName: \"topTpl\", first: true, predicate: [\"topTpl\"], descendants: true, isSignal: true }, { propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }, { propertyName: \"dynamicContents\", predicate: DynamicContentDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n @if (filter() && pageOptions()) {\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl></div>\n\n @if (template() === 'default' && listOptions()) {\n <smart-crud-list-standard-page [listOptions]=\"listOptions()\">\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-list-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n }\n `, isInline: true, dependencies: [{ kind: \"component\", type: PageComponent, selector: \"smart-page\", inputs: [\"options\"] }, { kind: \"component\", type: ListStandardComponent, selector: \"smart-crud-list-standard-page\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ListComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-crud-list-page',\n imports: [PageComponent, ListStandardComponent, NgTemplateOutlet],\n template: `\n @if (filter() && pageOptions()) {\n <smart-page [options]=\"pageOptions()\">\n <div #topTpl></div>\n\n @if (template() === 'default' && listOptions()) {\n <smart-crud-list-standard-page [listOptions]=\"listOptions()\">\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-list-standard-page>\n }\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n }\n `,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUlSLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixlQUFlLEVBSWYsUUFBUSxFQUNSLFdBQVcsRUFDWCxhQUFhLEdBQ2QsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGVBQWUsR0FHaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUVwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBdUJ6RSxNQUFNLE9BQU8sYUFDWCxTQUFRLHNCQUFzQixDQUM1QixnQkFBZ0IsQ0FDakI7SUFHTyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBYSxDQUFBLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxDQUFBLHNCQUF5QixDQUFBLENBQUMsQ0FBQztJQUMzRCxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLEVBQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvQixXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUEseUJBQTRCLENBQUEsQ0FBQyxDQUFDO0lBQ3hELFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUFjLENBQUEsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxjQUFpQixDQUFBLENBQUMsQ0FBQztJQUNsQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFMUMsb0JBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVuRCxXQUFXLEdBQUcsTUFBTSxDQUFzQixJQUFJLHVEQUFDLENBQUM7SUFDaEQsV0FBVyxHQUFHLE1BQU0sQ0FBeUIsSUFBSSx1REFBQyxDQUFDO0lBQ25ELEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUUxQixNQUFNLEdBQW9DLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBRTdELE1BQU0sR0FBRyxTQUFTLENBQW1CLFFBQVEsa0RBQUMsQ0FBQztJQUV0QyxVQUFVLEdBQUcsU0FBUyxDQUFtQixZQUFZLHNEQUFDLENBQUM7SUFFdkQsZUFBZSxHQUFHLFlBQVksQ0FDckMsdUJBQXVCLDJEQUN4QixDQUFDO0lBRU8saUJBQWlCO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUVwQyxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDbEQsU0FBUyxHQUFHO2dCQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlELGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUssQ0FBQyxjQUFjO2dCQUNoRCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO29CQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSztvQkFDOUIsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzlDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7b0JBQ3RCLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQVksQ0FBQyxTQUFTLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxTQUFTO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7b0JBQ3hCLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQVksQ0FBQyxhQUFhLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxTQUFTO2dCQUNiLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO2FBQzdCLENBQUM7UUFDSixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUN6QixTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHO2dCQUNWLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUssQ0FBQyxjQUFjO2dCQUNoRCxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSztvQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUs7b0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7d0JBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLO3dCQUM5QixDQUFDLENBQUMsU0FBUztnQkFDZixNQUFNLEVBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTTtvQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUM7b0JBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNO29CQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO3dCQUN0QixDQUFDLENBQUMsQ0FBQzt3QkFDSCxDQUFDLENBQUMsU0FBUztnQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU07b0JBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNO29CQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO3dCQUNoQixDQUFDLENBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFZLENBQUMsU0FBUyxDQUFDO3dCQUN0QyxDQUFDLENBQUMsU0FBUztnQkFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUTtvQkFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVE7b0JBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ2hCLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQVksQ0FBQyxhQUFhLENBQUM7d0JBQzFDLENBQUMsQ0FBQyxTQUFTO2dCQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlELEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO2FBQzdCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Z0JBQ3hCLENBQUMsQ0FBQztvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO29CQUNyRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDWCxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsVUFBVTs0QkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0NBQ2YsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO2dDQUNoQixVQUFVLEVBQUUsR0FBRztnQ0FDZixNQUFNLEVBQUUsQ0FBQzs2QkFDVixDQUFDLENBQUM7b0JBQ1AsQ0FBQztpQkFDRjtnQkFDSCxDQUFDLENBQUMsU0FBUztZQUNiLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQ3RCLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLDBCQUEwQixDQUFDO1lBQzNELFVBQVUsRUFBRTtnQkFDVixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7b0JBQ3ZDLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87b0JBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHO29CQUNqQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUN0QyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87b0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTtvQkFDdkMsWUFBWSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztvQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU07b0JBQ3BDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7b0JBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRO29CQUNwQyxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO29CQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRztvQkFDOUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQkFDbkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNSO1NBQ0YsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDbkIsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBUSxFQUFFO29CQUN4QixNQUFNLE1BQU0sR0FBRzt3QkFDYixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2hCLEdBQUcsTUFBTTtxQkFDVixDQUFDO29CQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQixDQUFDO2dCQUNELHFCQUFxQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtvQkFDcEMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDL0MsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQzs0QkFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFROzRCQUN2QixTQUFTLEVBQUUsb0JBQW9CO3lCQUNoQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQzt5QkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUN0RCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3BDLENBQUM7b0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7Z0JBQ0QsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDOUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztnQkFDNUIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjthQUNqRDtZQUNELFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2xFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztnQkFDMUIsQ0FBQyxDQUFDO29CQUNFLFFBQVEsRUFBRTt3QkFDUixPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTs0QkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDekIsQ0FBQzt3QkFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFOzRCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7d0JBQ3pCLENBQUM7d0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTt3QkFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztxQkFDN0I7b0JBQ0Qsa0JBQWtCLEVBQUU7d0JBQ2xCLEdBQUcsRUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87NEJBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTs0QkFDdkMsWUFBWSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs0QkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUc7NEJBQ2pDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ3JCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDTCxFQUFFLENBQUMsU0FBUztnQ0FDWCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUM5QyxFQUFFLE9BQU87NEJBQ1osQ0FBQyxDQUFDLFNBQVM7d0JBQ2YsTUFBTSxFQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs0QkFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFROzRCQUN2QyxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPOzRCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTTs0QkFDcEMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDckIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLEVBQUUsQ0FBQyxTQUFTO2dDQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ2pELEVBQUUsT0FBTzs0QkFDWixDQUFDLENBQUMsU0FBUztxQkFDaEI7aUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7WUFDYixJQUFJLEVBQ0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztnQkFDdkMsQ0FBQyxDQUFDO29CQUNFLE9BQU8sRUFBRTt3QkFDUCxhQUFhLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRzt3QkFDL0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3pCO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDO29CQUNFLFFBQVEsRUFBRTt3QkFDUixNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDdEMsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLEVBQUU7NEJBQ2pCLE9BQU8sT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO2dDQUM3QixDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztnQ0FDNUQsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDWCxDQUFDO3FCQUNGO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2IsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztnQkFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDLGNBQWM7Z0JBQ3RDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVcsQ0FBQyxLQUFLO2dCQUNwQyxRQUFRLEVBQUU7b0JBQ1IsU0FBUyxFQUFFLEdBQUcsRUFBRTt3QkFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSyxFQUFrQixDQUFDO29CQUM5QyxDQUFDO29CQUNELFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2lCQUM3QjthQUNGLENBQUM7WUFDRixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEUsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQUs7UUFDakIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLEdBQUksR0FBdUI7WUFDM0IsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLGlCQUFpQixHQUFHLHlCQUF5QixDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELE1BQU0sV0FBVyxHQUNmLGlCQUFpQixDQUFDLElBQUksQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBMkIsRUFBRSxNQUFNLENBQ3ZELElBQUksWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFFckMsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLO1lBQ25DLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNmLGlCQUFpQixDQUFDLElBQUksQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBNkIsRUFBRSxLQUFLLENBQ3hEO2dCQUNELENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO2dCQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSTtvQkFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXJELE9BQU87WUFDTCxHQUFHLENBQUMsYUFBYTtnQkFDZixDQUFDLENBQUM7b0JBQ0U7d0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsSUFBSSxFQUFFLE9BQU87d0JBQ2IsT0FBTyxFQUFFLEdBQUcsRUFBRTs0QkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDOzRCQUVqQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0NBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29DQUNoQyxHQUFJLEdBQXVCO29DQUMzQixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTztpQ0FDdEQsQ0FBQyxDQUFDLENBQUM7Z0NBQ0osSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7b0NBQzVCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQ0FDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs0QkFDMUIsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsQ0FBQztxQkFDRjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxDQUFDLFdBQVc7Z0JBQ2IsQ0FBQyxDQUFDO29CQUNFO3dCQUNFLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLElBQUksRUFBRSxTQUFTO3dCQUNmLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTs0QkFDbEIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztnQ0FDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dDQUN2QixTQUFTLEVBQUUsZ0JBQWdCOzZCQUM1QixDQUFDLENBQUM7d0JBQ0wsQ0FBQztxQkFDRjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztnQkFDakIsQ0FBQyxDQUFDO29CQUNFO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLElBQUksRUFBRSxLQUFLO3dCQUNYLE9BQU8sRUFBRSxHQUFHLEVBQUU7NEJBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0NBQ25CLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLE1BQU07NkJBQ3BELENBQUMsQ0FBQzt3QkFDTCxDQUFDO3FCQUNGO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2dCQUNwQixDQUFDLENBQUM7b0JBQ0U7d0JBQ0UsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsSUFBSSxFQUFFLFNBQWtCO3dCQUN4QixTQUFTLEVBQUUsZUFBZTtxQkFDM0I7aUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUN0QixrQkFHRztRQUVILE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDcEMsWUFBWSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRztZQUM5QixDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUNsRSxFQUFFLE9BQU87WUFDWixDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBaFhVLGFBQWE7MkZBQWIsYUFBYSxrVUErQnRCLHVCQUF1Qix1RkFqRGY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsNERBakJTLGFBQWEsNEVBQUUscUJBQXFCLDBFQUFFLGdCQUFnQjs7MkZBbUJyRCxhQUFhO2tCQXJCekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2pFLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICBTaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB2aWV3Q2hpbGQsXG4gIHZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQ3JlYXRlRHluYW1pY0NvbXBvbmVudCxcbiAgRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgRHluYW1pY0NvbnRlbnREaXJlY3RpdmUsXG4gIEhhcmR3YXJlU2VydmljZSxcbiAgSUljb25CdXR0b25PcHRpb25zLFxuICBJTGlzdE9wdGlvbnMsXG4gIElQYWdlT3B0aW9ucyxcbiAgTGlzdE1vZGUsXG4gIE1lbnVTZXJ2aWNlLFxuICBQYWdlQ29tcG9uZW50LFxufSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyxcbiAgZ2V0TW9kZWxPcHRpb25zLFxuICBJRmllbGRFZGl0TWV0YWRhdGEsXG4gIElGaWVsZExpc3RNZXRhZGF0YSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9tb2RlbHMnO1xuaW1wb3J0IHsgU3BlY2lmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAc21hcnRzb2Z0MDAxL3V0aWxzJztcblxuaW1wb3J0IHsgQ3J1ZEZhY2FkZSB9IGZyb20gJy4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQgeyBFeHBvcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IE11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDcnVkRnVsbENvbmZpZyB9IGZyb20gJy4uLy4uL2NydWQuY29uZmlnJztcbmltcG9ydCB7IENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeSB9IGZyb20gJy4uLy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTGlzdFN0YW5kYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDcnVkU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlYXJjaC9zZWFyY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNydWQtbGlzdC1wYWdlJyxcbiAgaW1wb3J0czogW1BhZ2VDb21wb25lbnQsIExpc3RTdGFuZGFyZENvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChmaWx0ZXIoKSAmJiBwYWdlT3B0aW9ucygpKSB7XG4gICAgICA8c21hcnQtcGFnZSBbb3B0aW9uc109XCJwYWdlT3B0aW9ucygpXCI+XG4gICAgICAgIDxkaXYgI3RvcFRwbD48L2Rpdj5cblxuICAgICAgICBAaWYgKHRlbXBsYXRlKCkgPT09ICdkZWZhdWx0JyAmJiBsaXN0T3B0aW9ucygpKSB7XG4gICAgICAgICAgPHNtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9ucygpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3NtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlPlxuICAgICAgICB9XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNvbnRlbnRcIj48L2Rpdj5cbiAgICAgIDwvc21hcnQtcGFnZT5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgZXh0ZW5kcyBDcmVhdGVEeW5hbWljQ29tcG9uZW50PENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8YW55Pj4oXG4gICAgJ2NydWQtbGlzdC1wYWdlJyxcbiAgKVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRMb2FkZXIgPSBpbmplY3QoRHluYW1pY0NvbXBvbmVudExvYWRlcjxUPik7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIGNkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gIHByaXZhdGUgaGFyZHdhcmVTZXJ2aWNlID0gaW5qZWN0KEhhcmR3YXJlU2VydmljZSk7XG4gIHByaXZhdGUgcGFnaW5hdGlvbkZhY2FkZSA9IGluamVjdChDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5PFQ+KTtcbiAgcHJpdmF0ZSBwYWdlU2VydmljZSA9IGluamVjdChQYWdlU2VydmljZTxUPik7XG4gIHB1YmxpYyBjb25maWcgPSBpbmplY3QoQ3J1ZEZ1bGxDb25maWc8VD4pO1xuICBwcml2YXRlIHNlYXJjaFNlcnZpY2UgPSBpbmplY3QoQ3J1ZFNlYXJjaFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2NsZWFuTXVsdGlTZWxlY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHBhZ2VPcHRpb25zID0gc2lnbmFsPElQYWdlT3B0aW9ucyB8IG51bGw+KG51bGwpO1xuICBsaXN0T3B0aW9ucyA9IHNpZ25hbDxJTGlzdE9wdGlvbnM8VD4gfCBudWxsPihudWxsKTtcbiAgbGlua3MgPSB0aGlzLmZhY2FkZS5saW5rcztcblxuICBmaWx0ZXI6IFNpZ25hbDxJQ3J1ZEZpbHRlciB8IHVuZGVmaW5lZD4gPSB0aGlzLmZhY2FkZS5maWx0ZXI7XG5cbiAgdG9wVHBsID0gdmlld0NoaWxkPFZpZXdDb250YWluZXJSZWY+KCd0b3BUcGwnKTtcblxuICBvdmVycmlkZSBjb250ZW50VHBsID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdjb250ZW50VHBsJyk7XG5cbiAgb3ZlcnJpZGUgZHluYW1pY0NvbnRlbnRzID0gdmlld0NoaWxkcmVuPER5bmFtaWNDb250ZW50RGlyZWN0aXZlPihcbiAgICBEeW5hbWljQ29udGVudERpcmVjdGl2ZSxcbiAgKTtcblxuICBvdmVycmlkZSByZWZyZXNoUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2VDb21wb25lbnRSZWYuc2V0SW5wdXQoJ2xpc3RPcHRpb25zJywgdGhpcy5saXN0T3B0aW9ucygpKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucGFnZVNlcnZpY2UuY2hlY2tQZXJtaXNzaW9ucygpO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKTtcblxuICAgIGxldCBuZXdGaWx0ZXIgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmxpc3Q/LnJlc2V0UXVlcnkgPT09ICdiZWZvcmVJbml0Jykge1xuICAgICAgbmV3RmlsdGVyID0ge1xuICAgICAgICBxdWVyeTogdGhpcy5jb25maWcuYmFzZVF1ZXJ5ID8gWy4uLnRoaXMuY29uZmlnLmJhc2VRdWVyeV0gOiBbXSxcbiAgICAgICAgcGFnaW5hdGlvbk1vZGU6IHRoaXMuY29uZmlnLmxpc3QhLnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5jb25maWcucGFnaW5hdGlvblxuICAgICAgICAgID8gdGhpcy5jb25maWcucGFnaW5hdGlvbi5saW1pdFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyAwIDogdW5kZWZpbmVkLFxuICAgICAgICBzb3J0Qnk6IHRoaXMuY29uZmlnLnNvcnRcbiAgICAgICAgICA/ICh0aGlzLmNvbmZpZy5zb3J0IGFzIGFueSlbJ2RlZmF1bHQnXVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5jb25maWcuc29ydFxuICAgICAgICAgID8gKHRoaXMuY29uZmlnLnNvcnQgYXMgYW55KVsnZGVmYXVsdERlc2MnXVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyKCkpIHtcbiAgICAgIG5ld0ZpbHRlciA9IHRoaXMuZmlsdGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0ZpbHRlciA9IHtcbiAgICAgICAgcGFnaW5hdGlvbk1vZGU6IHRoaXMuY29uZmlnLmxpc3QhLnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8ubGltaXRcbiAgICAgICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIubGltaXRcbiAgICAgICAgICA6IHRoaXMuY29uZmlnLnBhZ2luYXRpb25cbiAgICAgICAgICAgID8gdGhpcy5jb25maWcucGFnaW5hdGlvbi5saW1pdFxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG9mZnNldDpcbiAgICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5vZmZzZXQgfHxcbiAgICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5vZmZzZXQgPT09IDBcbiAgICAgICAgICAgID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlci5vZmZzZXRcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcucGFnaW5hdGlvblxuICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHNvcnRCeTogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8uc29ydEJ5XG4gICAgICAgICAgPyB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLnNvcnRCeVxuICAgICAgICAgIDogdGhpcy5jb25maWcuc29ydFxuICAgICAgICAgICAgPyAodGhpcy5jb25maWcuc29ydCBhcyBhbnkpWydkZWZhdWx0J11cbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8uc29ydERlc2NcbiAgICAgICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIuc29ydERlc2NcbiAgICAgICAgICA6IHRoaXMuY29uZmlnLnNvcnRcbiAgICAgICAgICAgID8gKHRoaXMuY29uZmlnLnNvcnQgYXMgYW55KVsnZGVmYXVsdERlc2MnXVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHF1ZXJ5OiB0aGlzLmNvbmZpZy5iYXNlUXVlcnkgPyBbLi4udGhpcy5jb25maWcuYmFzZVF1ZXJ5XSA6IFtdLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmZhY2FkZS5yZWFkKG5ld0ZpbHRlcik7XG5cbiAgICBjb25zdCBlbmRCdXR0b25zID0gdGhpcy5nZXRFbmRCdXR0b25zKCk7XG5cbiAgICB0aGlzLnBhZ2VPcHRpb25zLnNldCh7XG4gICAgICB0aXRsZTogdGhpcy5jb25maWcudGl0bGUgfHwgJycsXG4gICAgICBzZWFyY2g6IHRoaXMuY29uZmlnLnNlYXJjaFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHRleHQ6IGNvbXB1dGVkKCgpID0+IHRoaXMuZmlsdGVyKCk/LnNlYXJjaFRleHQgPz8gJycpLFxuICAgICAgICAgICAgc2V0OiAodHh0KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eHQgIT09IHRoaXMuZmlsdGVyKCk/LnNlYXJjaFRleHQpXG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmZpbHRlcigpLFxuICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogdHh0LFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZW5kQnV0dG9uczogZW5kQnV0dG9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBpbGVkQ29tcG9uZW50cyA9XG4gICAgICBhd2FpdCB0aGlzLmR5bmFtaWNDb21wb25lbnRMb2FkZXIuZ2V0Q29tcG9uZW50c1dpdGhGYWN0b3JpZXMoe1xuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuZGV0YWlscyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMuY29tcG9uZW50cz8udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzLmNvbXBvbmVudHMudG9wXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuZGV0YWlscyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMuY29tcG9uZW50cz8uYm90dG9tXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzLmNvbXBvbmVudHMuYm90dG9tXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcubGlzdCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcubGlzdCAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3QuY29tcG9uZW50cz8udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5saXN0LmNvbXBvbmVudHMudG9wXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgIHRoaXMubGlzdE9wdGlvbnMuc2V0KHtcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIGdldERhdGE6IChmaWx0ZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWwgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcigpLFxuICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5mYWNhZGUucmVhZChnbG9iYWwpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNoYW5nZU11bHRpU2VsZWN0ZWQ6IGFzeW5jIChsaXN0KSA9PiB7XG4gICAgICAgICAgaWYgKGxpc3QubGVuZ3RoICYmICF0aGlzLm1lbnVTZXJ2aWNlLm9wZW5lZEVuZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5vcGVuRW5kKHtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFsaXN0Lmxlbmd0aCAmJiB0aGlzLm1lbnVTZXJ2aWNlLm9wZW5lZEVuZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5jbG9zZUVuZCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0KGxpc3QpO1xuICAgICAgICB9LFxuICAgICAgICBsaXN0OiBjb21wdXRlZCgoKSA9PiB0aGlzLmZhY2FkZS5saXN0KCkgfHwgW10pLFxuICAgICAgICBsb2FkaW5nOiB0aGlzLmZhY2FkZS5sb2FkaW5nLFxuICAgICAgICBvbkNsZWFuTXVsdGlTZWxlY3RlZCQ6IHRoaXMuX2NsZWFuTXVsdGlTZWxlY3RlZCQsXG4gICAgICB9LFxuICAgICAgY2VsbFBpcGU6IHRoaXMuY29uZmlnLmxpc3QgPyB0aGlzLmNvbmZpZy5saXN0LmNlbGxQaXBlIDogdW5kZWZpbmVkLFxuICAgICAgbW9kZTogdGhpcy5jb25maWcubGlzdD8ubW9kZSxcbiAgICAgIHR5cGU6IHRoaXMuY29uZmlnLnR5cGUsXG4gICAgICBkZXRhaWxzOiB0aGlzLmNvbmZpZy5kZXRhaWxzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgZ2V0RGF0YTogKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUuc2VsZWN0KGlkKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY2xlYXJEYXRhOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUudW5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXRlbTogdGhpcy5mYWNhZGUuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuZmFjYWRlLmxvYWRpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yaWVzOiB7XG4gICAgICAgICAgICAgIHRvcDpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuY29uZmlnLmRldGFpbHMgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMnIGluIHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzLmNvbXBvbmVudHM/LnRvcFxuICAgICAgICAgICAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAoY2MpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5jb21wb25lbnQgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlscyBhcyBhbnkpLmNvbXBvbmVudHMudG9wLFxuICAgICAgICAgICAgICAgICAgICApPy5mYWN0b3J5XG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuZGV0YWlscyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cycgaW4gdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMuY29tcG9uZW50cz8uYm90dG9tXG4gICAgICAgICAgICAgICAgICA/IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIChjYykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmNvbXBvbmVudCA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmNvbmZpZy5kZXRhaWxzIGFzIGFueSkuY29tcG9uZW50cy5ib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICk/LmZhY3RvcnlcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaXRlbTpcbiAgICAgICAgISF0aGlzLmNvbmZpZy5lZGl0IHx8IHRoaXMuY29uZmlnLmRldGFpbHNcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHJvdXRpbmdQcmVmaXg6ICcvJyArIHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCArICcvJyxcbiAgICAgICAgICAgICAgICBlZGl0OiAhIXRoaXMuY29uZmlnLmVkaXQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZW1vdmU6IHRoaXMuY29uZmlnLnJlbW92ZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgICAgICAgIGludm9rZTogKGlkKSA9PiB0aGlzLmZhY2FkZS5kZWxldGUoaWQpLFxuICAgICAgICAgICAgICBjaGVjazogKGl0ZW06IFQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9ucz8ucmVtb3ZlPy5lbmFibGVkXG4gICAgICAgICAgICAgICAgICA/IFNwZWNpZmljYXRpb25TZXJ2aWNlLnZhbGlkKGl0ZW0sIG9wdGlvbnM/LnJlbW92ZT8uZW5hYmxlZClcbiAgICAgICAgICAgICAgICAgIDogdHJ1ZTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHBhZ2luYXRpb246IGF3YWl0IHRoaXMucGFnaW5hdGlvbkZhY2FkZS5jcmVhdGUoe1xuICAgICAgICBtb2RlOiB0aGlzLmNvbmZpZy5saXN0IS5wYWdpbmF0aW9uTW9kZSxcbiAgICAgICAgbGltaXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24hLmxpbWl0LFxuICAgICAgICBwcm92aWRlcjoge1xuICAgICAgICAgIGdldEZpbHRlcjogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKCkgfHwgKHt9IGFzIElDcnVkRmlsdGVyKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldExpbmtzOiAoKSA9PiB0aGlzLmxpbmtzKCksXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHNvcnQ6IHRoaXMuY29uZmlnLnNvcnQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMuaW5pdENsb3NlTWVudSgpO1xuICAgIHRoaXMuaW5pdFRvcENvbXBvbmVudChjb21waWxlZENvbXBvbmVudHMpO1xuXG4gICAgdGhpcy5yZWZyZXNoRHluYW1pY0luc3RhbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDbG9zZU1lbnUoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5jbGVhcigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjbGVhcigpIHtcbiAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG5cbiAgICB0aGlzLmxpc3RPcHRpb25zLnVwZGF0ZSgodmFsKSA9PiAoe1xuICAgICAgLi4uKHZhbCBhcyBJTGlzdE9wdGlvbnM8VD4pLFxuICAgICAgc2VsZWN0OiB1bmRlZmluZWQsXG4gICAgfSkpO1xuXG4gICAgdGhpcy5mYWNhZGUubXVsdGlTZWxlY3QoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbmRCdXR0b25zKCk6IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IGZpZWxkc1dpdGhPcHRpb25zID0gZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyhuZXcgdGhpcy5jb25maWcudHlwZSgpKTtcbiAgICBjb25zdCBtb2RlbE9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModGhpcy5jb25maWcudHlwZSk7XG5cbiAgICBjb25zdCBzaG93RmlsdGVycyA9XG4gICAgICBmaWVsZHNXaXRoT3B0aW9ucy5zb21lKFxuICAgICAgICAoeCkgPT4gKHgub3B0aW9ucz8ubGlzdCBhcyBJRmllbGRMaXN0TWV0YWRhdGEpPy5maWx0ZXIsXG4gICAgICApIHx8IG1vZGVsT3B0aW9ucz8uZmlsdGVycz8ubGVuZ3RoO1xuXG4gICAgY29uc3Qgc2hvd011bHRpRWRpdCA9XG4gICAgICB0aGlzLmNvbmZpZy5saXN0Py5jb21wb25lbnRzPy5tdWx0aSB8fFxuICAgICAgKHRoaXMuY29uZmlnLmVkaXQgJiZcbiAgICAgICAgZmllbGRzV2l0aE9wdGlvbnMuc29tZShcbiAgICAgICAgICAoeCkgPT4gKHgub3B0aW9ucz8udXBkYXRlIGFzIElGaWVsZEVkaXRNZXRhZGF0YSk/Lm11bHRpLFxuICAgICAgICApICYmXG4gICAgICAgICF0aGlzLmhhcmR3YXJlU2VydmljZS5pc01vYmlsZSAmJlxuICAgICAgICAoIXRoaXMuY29uZmlnPy5saXN0Py5tb2RlIHx8XG4gICAgICAgICAgdGhpcy5jb25maWc/Lmxpc3Q/Lm1vZGUgPT09IExpc3RNb2RlLmRlc2t0b3ApKTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oc2hvd011bHRpRWRpdFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ2NoZWNrYm94LW91dGxpbmUnLFxuICAgICAgICAgICAgICB0ZXh0OiAnbXVsdGknLFxuICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUubXVsdGlTZWxlY3QoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFuTXVsdGlTZWxlY3RlZCQubmV4dCgpO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxpc3RPcHRpb25zLnVwZGF0ZSgodmFsKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi4odmFsIGFzIElMaXN0T3B0aW9uczxUPiksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdDogdmFsPy5zZWxlY3QgPT09ICdtdWx0aScgPyB1bmRlZmluZWQgOiAnbXVsdGknLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubWVudVNlcnZpY2Uub3BlbmVkRW5kKVxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLihzaG93RmlsdGVyc1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ2ZpbHRlci1vdXRsaW5lJyxcbiAgICAgICAgICAgICAgdGV4dDogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICBoYW5kbGVyOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5vcGVuRW5kKHtcbiAgICAgICAgICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBGaWx0ZXJzQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29uZmlnLmFkZFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ2FkZCcsXG4gICAgICAgICAgICAgIHRleHQ6ICdhZGQnLFxuICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgICAgICAgICAgICAgJy8nICsgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsICsgJy9hZGQnLFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29uZmlnLmV4cG9ydFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogJ2V4cG9ydCcsXG4gICAgICAgICAgICAgIGljb246ICdkb3dubG9hZC1vdXRsaW5lJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3BvcG92ZXInIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IEV4cG9ydENvbXBvbmVudCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLih0aGlzLmNvbmZpZy5idXR0b25zID8gdGhpcy5jb25maWcuYnV0dG9ucyA6IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0VG9wQ29tcG9uZW50KFxuICAgIGNvbXBpbGVkQ29tcG9uZW50czoge1xuICAgICAgY29tcG9uZW50OiBhbnk7XG4gICAgICBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT47XG4gICAgfVtdLFxuICApIHtcbiAgICBjb25zdCBmYWN0b3J5ID1cbiAgICAgIHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy5saXN0ID09PSAnb2JqZWN0JyAmJlxuICAgICAgJ2NvbXBvbmVudHMnIGluIHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgIHRoaXMuY29uZmlnLmxpc3QuY29tcG9uZW50cz8udG9wXG4gICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAoY2MpID0+IGNjLmNvbXBvbmVudCA9PT0gKHRoaXMuY29uZmlnLmxpc3QgYXMgYW55KS5jb21wb25lbnRzLnRvcCxcbiAgICAgICAgICApPy5mYWN0b3J5XG4gICAgICAgIDogbnVsbDtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGZhY3RvcnkgJiYgIXRoaXMudG9wVHBsKCk/LmdldCgwKSkge1xuICAgICAgICB0aGlzLnRvcFRwbCgpPy5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgrxStoreService, SharedModule } from '@smartsoft001/angular';\nimport { getReducer, CrudFacade } from './+state';\nimport { CrudEffects } from './+state/crud.effects';\nimport { CrudComponentsModule } from './components';\nimport { CrudConfig } from './crud.config';\nimport { CrudListPaginationFactory } from './factories/list-pagination/list-pagination.factory';\nimport { ListComponent } from './pages';\nimport { ItemComponent } from './pages';\nimport { ListStandardComponent } from './pages';\nimport { ItemStandardComponent } from './pages';\nimport { CrudPipesModule } from './pipes';\nimport { CrudService } from './services/crud/crud.service';\nimport { CrudListGroupService } from './services/list-group/list-group.service';\nimport { PageService } from './services/page/page.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./crud.config\";\nimport * as i2 from \"./+state/crud.effects\";\nimport * as i3 from \"@angular/router\";\nexport const PAGES = [\n ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent,\n];\nexport class CrudFullModule {\n constructor(config, effects) {\n NgrxStoreService.addReducer(config.entity, config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity));\n effects.init();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, deps: [{ token: i1.CrudConfig }, { token: i2.CrudEffects }], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, imports: [ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent, SharedModule,\n CrudPipesModule, i3.RouterModule, FormsModule,\n CommonModule,\n CrudComponentsModule], exports: [ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent, CrudComponentsModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, providers: [\n CrudService,\n CrudListGroupService,\n PageService,\n CrudFacade,\n CrudEffects,\n CrudListPaginationFactory,\n ], imports: [PAGES, SharedModule,\n CrudPipesModule,\n RouterModule.forChild([\n { path: '', component: ListComponent },\n { path: 'add', component: ItemComponent },\n { path: ':id', component: ItemComponent },\n ]),\n FormsModule,\n CommonModule,\n CrudComponentsModule, CrudComponentsModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudFullModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n ...PAGES,\n SharedModule,\n CrudPipesModule,\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: [...PAGES, CrudComponentsModule],\n providers: [\n CrudService,\n CrudListGroupService,\n PageService,\n CrudFacade,\n CrudEffects,\n CrudListPaginationFactory,\n ],\n }]\n }], ctorParameters: () => [{ type: i1.CrudConfig }, { type: i2.CrudEffects }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL2NydWQtZnVsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFFM0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLGFBQWE7SUFDYixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLHFCQUFxQjtDQUN0QixDQUFDO0FBMEJGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQVksTUFBcUIsRUFBRSxPQUF5QjtRQUMxRCxnQkFBZ0IsQ0FBQyxVQUFVLENBQ3pCLE1BQU0sQ0FBQyxNQUFNLEVBQ2IsTUFBTSxDQUFDLGNBQWM7WUFDbkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7WUFDekIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQzlCLENBQUM7UUFDRixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQzt1R0FUVSxjQUFjO3dHQUFkLGNBQWMsWUE5QnpCLGFBQWE7WUFDYixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLHFCQUFxQixFQU1uQixZQUFZO1lBQ1osZUFBZSxtQkFNZixXQUFXO1lBQ1gsWUFBWTtZQUNaLG9CQUFvQixhQWxCdEIsYUFBYTtZQUNiLGFBQWE7WUFDYixxQkFBcUI7WUFDckIscUJBQXFCLEVBaUJELG9CQUFvQjt3R0FVN0IsY0FBYyxhQVRkO1lBQ1QsV0FBVztZQUNYLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsVUFBVTtZQUNWLFdBQVc7WUFDWCx5QkFBeUI7U0FDMUIsWUFwQkksS0FBSyxFQUNSLFlBQVk7WUFDWixlQUFlO1lBQ2YsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDcEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7Z0JBQ3RDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO2dCQUN6QyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTthQUMxQyxDQUFDO1lBQ0YsV0FBVztZQUNYLFlBQVk7WUFDWixvQkFBb0IsRUFFRixvQkFBb0I7OzJGQVU3QixjQUFjO2tCQXhCMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxLQUFLO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTs0QkFDdEMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7NEJBQ3pDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO3lCQUMxQyxDQUFDO3dCQUNGLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLG9CQUFvQixDQUFDO29CQUN6QyxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixXQUFXO3dCQUNYLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTmdyeFN0b3JlU2VydmljZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgZ2V0UmVkdWNlciwgQ3J1ZEZhY2FkZSB9IGZyb20gJy4vK3N0YXRlJztcbmltcG9ydCB7IENydWRFZmZlY3RzIH0gZnJvbSAnLi8rc3RhdGUvY3J1ZC5lZmZlY3RzJztcbmltcG9ydCB7IENydWRDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENydWRDb25maWcgfSBmcm9tICcuL2NydWQuY29uZmlnJztcbmltcG9ydCB7IENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnkgfSBmcm9tICcuL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMnO1xuaW1wb3J0IHsgSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMnO1xuaW1wb3J0IHsgTGlzdFN0YW5kYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcyc7XG5pbXBvcnQgeyBJdGVtU3RhbmRhcmRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzJztcbmltcG9ydCB7IENydWRQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IENydWRMaXN0R3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9saXN0LWdyb3VwL2xpc3QtZ3JvdXAuc2VydmljZSc7XG5pbXBvcnQgeyBQYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGFnZS9wYWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgUEFHRVMgPSBbXG4gIEl0ZW1Db21wb25lbnQsXG4gIExpc3RDb21wb25lbnQsXG4gIExpc3RTdGFuZGFyZENvbXBvbmVudCxcbiAgSXRlbVN0YW5kYXJkQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC4uLlBBR0VTLFxuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBDcnVkUGlwZXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKFtcbiAgICAgIHsgcGF0aDogJycsIGNvbXBvbmVudDogTGlzdENvbXBvbmVudCB9LFxuICAgICAgeyBwYXRoOiAnYWRkJywgY29tcG9uZW50OiBJdGVtQ29tcG9uZW50IH0sXG4gICAgICB7IHBhdGg6ICc6aWQnLCBjb21wb25lbnQ6IEl0ZW1Db21wb25lbnQgfSxcbiAgICBdKSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ3J1ZENvbXBvbmVudHNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5QQUdFUywgQ3J1ZENvbXBvbmVudHNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDcnVkU2VydmljZSxcbiAgICBDcnVkTGlzdEdyb3VwU2VydmljZSxcbiAgICBQYWdlU2VydmljZSxcbiAgICBDcnVkRmFjYWRlLFxuICAgIENydWRFZmZlY3RzLFxuICAgIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENydWRGdWxsTW9kdWxlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBDcnVkQ29uZmlnPFQ+LCBlZmZlY3RzOiBDcnVkRWZmZWN0czxhbnk+KSB7XG4gICAgTmdyeFN0b3JlU2VydmljZS5hZGRSZWR1Y2VyKFxuICAgICAgY29uZmlnLmVudGl0eSxcbiAgICAgIGNvbmZpZy5yZWR1Y2VyRmFjdG9yeVxuICAgICAgICA/IGNvbmZpZy5yZWR1Y2VyRmFjdG9yeSgpXG4gICAgICAgIDogZ2V0UmVkdWNlcihjb25maWcuZW50aXR5KSxcbiAgICApO1xuICAgIGVmZmVjdHMuaW5pdCgpO1xuICB9XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FILE_SERVICE_CONFIG, NgrxStoreService, SharedModule, } from '@smartsoft001/angular';\nimport { getReducer } from './+state';\nimport { CrudEffects } from './+state/crud.effects';\nimport { CrudFacade } from './+state/crud.facade';\nimport { CrudComponentsModule } from './components';\nimport { CrudFullModule } from './crud-full.module';\nimport { CrudConfig, CrudFullConfig } from './crud.config';\nimport { CrudListPaginationFactory } from './factories/list-pagination/list-pagination.factory';\nimport { CrudPipesModule } from './pipes';\nimport { CrudService } from './services/crud/crud.service';\nimport { CrudListGroupService } from './services/list-group/list-group.service';\nimport { PageService } from './services/page/page.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./crud.config\";\nimport * as i2 from \"./+state/crud.effects\";\nexport class CrudCoreModule {\n constructor(config, effects) {\n NgrxStoreService.addReducer(config.entity, config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity));\n effects.init();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, deps: [{ token: i1.CrudConfig }, { token: i2.CrudEffects }], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, imports: [SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule], exports: [CrudComponentsModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, providers: [\n CrudService,\n CrudListGroupService,\n CrudEffects,\n PageService,\n CrudFacade,\n CrudListPaginationFactory,\n ], imports: [SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule, CrudComponentsModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudCoreModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule,\n ],\n exports: [CrudComponentsModule],\n providers: [\n CrudService,\n CrudListGroupService,\n CrudEffects,\n PageService,\n CrudFacade,\n CrudListPaginationFactory,\n ],\n }]\n }], ctorParameters: () => [{ type: i1.CrudConfig }, { type: i2.CrudEffects }] });\nexport class CrudModule {\n static forFeature(options) {\n return {\n ngModule: options.routing ? CrudFullModule : CrudCoreModule,\n providers: [\n { provide: CrudConfig, useValue: options.config },\n { provide: CrudFullConfig, useValue: options.config },\n {\n provide: FILE_SERVICE_CONFIG,\n useValue: { apiUrl: options.config.apiUrl },\n },\n ],\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: CrudModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9jcnVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLHVCQUF1QixDQUFDO0FBRy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQW9CM0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBWSxNQUFxQixFQUFFLE9BQXlCO1FBQzFELGdCQUFnQixDQUFDLFVBQVUsQ0FDekIsTUFBTSxDQUFDLE1BQU0sRUFDYixNQUFNLENBQUMsY0FBYztZQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtZQUN6QixDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FDOUIsQ0FBQztRQUNGLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO3VHQVRVLGNBQWM7d0dBQWQsY0FBYyxZQWhCdkIsWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtZQUNaLG9CQUFvQixhQUVaLG9CQUFvQjt3R0FVbkIsY0FBYyxhQVRkO1lBQ1QsV0FBVztZQUNYLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsV0FBVztZQUNYLFVBQVU7WUFDVix5QkFBeUI7U0FDMUIsWUFkQyxZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxZQUFZO1lBQ1osb0JBQW9CLEVBRVosb0JBQW9COzsyRkFVbkIsY0FBYztrQkFsQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVix5QkFBeUI7cUJBQzFCO2lCQUNGOztBQWNELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQ2YsT0FFc0M7UUFFdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWM7WUFDM0QsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDakQsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNyRDtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQXdCO2lCQUNsRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBakJVLFVBQVU7d0dBQVYsVUFBVTt3R0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBGSUxFX1NFUlZJQ0VfQ09ORklHLFxuICBJRmlsZVNlcnZpY2VDb25maWcsXG4gIE5ncnhTdG9yZVNlcnZpY2UsXG4gIFNoYXJlZE1vZHVsZSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2RvbWFpbi1jb3JlJztcblxuaW1wb3J0IHsgZ2V0UmVkdWNlciB9IGZyb20gJy4vK3N0YXRlJztcbmltcG9ydCB7IENydWRFZmZlY3RzIH0gZnJvbSAnLi8rc3RhdGUvY3J1ZC5lZmZlY3RzJztcbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tICcuLytzdGF0ZS9jcnVkLmZhY2FkZSc7XG5pbXBvcnQgeyBDcnVkQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDcnVkRnVsbE1vZHVsZSB9IGZyb20gJy4vY3J1ZC1mdWxsLm1vZHVsZSc7XG5pbXBvcnQgeyBDcnVkQ29uZmlnLCBDcnVkRnVsbENvbmZpZyB9IGZyb20gJy4vY3J1ZC5jb25maWcnO1xuaW1wb3J0IHsgQ3J1ZExpc3RQYWdpbmF0aW9uRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yaWVzL2xpc3QtcGFnaW5hdGlvbi9saXN0LXBhZ2luYXRpb24uZmFjdG9yeSc7XG5pbXBvcnQgeyBDcnVkUGlwZXNNb2R1bGUgfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jcnVkL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBDcnVkTGlzdEdyb3VwU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbGlzdC1ncm91cC9saXN0LWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BhZ2UvcGFnZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBDcnVkUGlwZXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENydWRDb21wb25lbnRzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQ3J1ZENvbXBvbmVudHNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDcnVkU2VydmljZSxcbiAgICBDcnVkTGlzdEdyb3VwU2VydmljZSxcbiAgICBDcnVkRWZmZWN0cyxcbiAgICBQYWdlU2VydmljZSxcbiAgICBDcnVkRmFjYWRlLFxuICAgIENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENydWRDb3JlTW9kdWxlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBDcnVkQ29uZmlnPFQ+LCBlZmZlY3RzOiBDcnVkRWZmZWN0czxhbnk+KSB7XG4gICAgTmdyeFN0b3JlU2VydmljZS5hZGRSZWR1Y2VyKFxuICAgICAgY29uZmlnLmVudGl0eSxcbiAgICAgIGNvbmZpZy5yZWR1Y2VyRmFjdG9yeVxuICAgICAgICA/IGNvbmZpZy5yZWR1Y2VyRmFjdG9yeSgpXG4gICAgICAgIDogZ2V0UmVkdWNlcihjb25maWcuZW50aXR5KSxcbiAgICApO1xuICAgIGVmZmVjdHMuaW5pdCgpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBDcnVkTW9kdWxlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgc3RhdGljIGZvckZlYXR1cmU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4oXG4gICAgb3B0aW9uczpcbiAgICAgIHwgSUNydWRNb2R1bGVPcHRpb25zV2l0aFJvdXRuZzxUPlxuICAgICAgfCBJQ3J1ZE1vZHVsZU9wdGlvbnNXaXRob3V0Um91dG5nPFQ+LFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENydWRNb2R1bGU8YW55Pj4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogb3B0aW9ucy5yb3V0aW5nID8gQ3J1ZEZ1bGxNb2R1bGUgOiBDcnVkQ29yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IENydWRDb25maWcsIHVzZVZhbHVlOiBvcHRpb25zLmNvbmZpZyB9LFxuICAgICAgICB7IHByb3ZpZGU6IENydWRGdWxsQ29uZmlnLCB1c2VWYWx1ZTogb3B0aW9ucy5jb25maWcgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEZJTEVfU0VSVklDRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgYXBpVXJsOiBvcHRpb25zLmNvbmZpZy5hcGlVcmwgfSBhcyBJRmlsZVNlcnZpY2VDb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3J1ZE1vZHVsZU9wdGlvbnNXaXRoUm91dG5nPFQ+IHtcbiAgY29uZmlnOiBDcnVkRnVsbENvbmZpZzxUPjtcbiAgc29ja2V0PzogYm9vbGVhbjtcbiAgcm91dGluZzogdHJ1ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3J1ZE1vZHVsZU9wdGlvbnNXaXRob3V0Um91dG5nPFQ+IHtcbiAgY29uZmlnOiBDcnVkQ29uZmlnPFQ+O1xuICBzb2NrZXQ/OiBib29sZWFuO1xuICByb3V0aW5nOiBmYWxzZTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvc21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["select","CrudSelectors.getCrudLoaded","CrudSelectors.getCrudSelected","CrudSelectors.getCrudMultiSelected","CrudSelectors.getCrudList","CrudSelectors.getCrudFilter","CrudSelectors.getCrudTotalCount","CrudSelectors.getCrudLinks","CrudSelectors.getCrudError","CrudActions.create","CrudActions.createMany","CrudActions.read","CrudActions.clear","CrudActions.select","CrudActions.unselect","CrudActions.multiSelect","CrudActions.update","CrudActions.exportList","CrudActions.updatePartial","CrudActions.updatePartialMany","CrudActions.deleteItem","i2.CrudConfig","BaseComponent","ListComponent","CrudActions.createSuccess","CrudActions.createFailure","CrudActions.createManySuccess","CrudActions.createManyFailure","CrudActions.readSuccess","CrudActions.readFailure","CrudActions.exportListSuccess","CrudActions.exportListFailure","CrudActions.selectSuccess","CrudActions.selectFailure","CrudActions.updateSuccess","CrudActions.updateFailure","CrudActions.updatePartialSuccess","CrudActions.updatePartialFailure","CrudActions.updatePartialManySuccess","CrudActions.updatePartialManyFailure","CrudActions.deleteSuccess","CrudActions.deleteFailure","i2.CrudService","i3.CrudConfig","i1.CrudConfig","i2.CrudEffects"],"mappings":"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"}