@recursyve/nice-data-filter-kit 15.2.0 → 15.3.1

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.
Files changed (20) hide show
  1. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +13 -3
  2. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +2 -4
  3. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.mjs +1 -1
  4. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +1 -1
  5. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +1 -1
  6. package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +1 -1
  7. package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +6 -3
  8. package/esm2020/lib/components/nice-filter-view/models/order-options.model.mjs +2 -0
  9. package/esm2020/lib/components/nice-filter-view/nice-filter-view.component.mjs +1 -1
  10. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +1 -1
  11. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +2 -1
  12. package/fesm2015/recursyve-nice-data-filter-kit.mjs +86 -72
  13. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  14. package/fesm2020/recursyve-nice-data-filter-kit.mjs +96 -83
  15. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  16. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.d.ts +6 -3
  17. package/lib/components/nice-filter-view/models/order-options.model.d.ts +7 -0
  18. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +1 -1
  19. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +3 -1
  20. package/package.json +1 -1
@@ -22,6 +22,7 @@ export const initialValue = {
22
22
  },
23
23
  baseRules: [],
24
24
  queryParams: null,
25
+ orderColumns: null,
25
26
  resetResult: false
26
27
  };
27
28
  export class NiceFilterViewStore extends EntityStore {
@@ -232,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
232
233
  type: Inject,
233
234
  args: [FILTER_VIEW_STORE]
234
235
  }] }]; }, propDecorators: { setResult: [], addValue: [], addValues: [], upsertValue: [], upsertValues: [], removeValue: [], removeValues: [] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZSxXQUFXLEVBQVcsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNckgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBaUJwRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXdCO0lBQzdDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsSUFBSSxFQUFFLFdBQVc7SUFDakIsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsS0FBSztJQUNmLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsbUJBQW1CLEVBQUUsS0FBSztJQUMxQixZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixnQkFBZ0IsRUFBRTtRQUNkLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsS0FBSyxFQUFFLEVBQUU7UUFDVCxJQUFJLEVBQUUsRUFBRTtLQUNYO0lBQ0QsU0FBUyxFQUFFLEVBQUU7SUFDYixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsS0FBSztDQUNyQixDQUFDO0FBR0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBQ3JFLFlBQXVDLEtBQW1DLEVBQTZCLEtBQXlCO1FBQzVILEtBQUssQ0FBQztZQUNGLEdBQUcsWUFBWTtZQUNmLEdBQUcsS0FBSztZQUNSLGdCQUFnQixFQUFFO2dCQUNkLEdBQUcsWUFBWSxDQUFDLGdCQUFnQjtnQkFDaEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7YUFDcEM7U0FDSixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVNLHNCQUFzQixDQUFDLE9BQWdCO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxhQUFhLENBQUMsZ0JBQXVDO1FBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxnQkFBdUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RCxnQkFBZ0IsRUFBRTtnQkFDZCxHQUFHLHVCQUF1QjtnQkFDMUIsR0FBRyxnQkFBZ0I7YUFDdEI7U0FDSixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFHTSxTQUFTLENBQUMsWUFBK0I7UUFDNUMsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEUsSUFBSSxJQUFJLEtBQUssYUFBYSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BCLFlBQVksRUFBRTtvQkFDVixJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7b0JBQ3ZCLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSztvQkFDekIsTUFBTSxFQUFFO3dCQUNKLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO3dCQUN4RCxHQUFHLFlBQVksQ0FBQyxNQUFNO3FCQUN6QjtpQkFDSjtnQkFDRCxXQUFXLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUMsQ0FBQztTQUNQO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNSLFlBQVk7YUFDZixDQUFDLENBQUM7U0FDTjtRQUVELElBQUksSUFBSSxLQUFLLGFBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBR00sUUFBUSxDQUFDLEtBQVUsRUFBRSxJQUF5QjtRQUNqRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ1IsWUFBWSxFQUFFO2dCQUNWLEdBQUcsWUFBWTtnQkFDZixNQUFNLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQzthQUNyRDtTQUNKLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFHTSxTQUFTLENBQUMsTUFBYSxFQUFFLElBQXlCO1FBQ3JELE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNmLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUM7WUFDUixZQUFZLEVBQUU7Z0JBQ1YsR0FBRyxZQUFZO2dCQUNmLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO2FBQ3REO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdNLFdBQVcsQ0FBQyxLQUFVLEVBQUUsR0FBWTtRQUN2QyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ1IsWUFBWSxFQUFFO2dCQUNWLEdBQUcsWUFBWTtnQkFDZixNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDdkU7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBR00sWUFBWSxDQUFDLE1BQWEsRUFBRSxHQUFZO1FBQzNDLE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztvQkFDbkMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztpQkFDOUU7YUFDSixDQUFDLENBQUMsQ0FBQztZQUVKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUdNLFdBQVcsQ0FBQyxLQUFVLEVBQUUsR0FBWTtRQUN2QyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ1IsWUFBWSxFQUFFO2dCQUNWLEdBQUcsWUFBWTtnQkFDZixNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQzthQUNoRTtTQUNKLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUdNLFlBQVksQ0FBQyxNQUFhLEVBQUUsR0FBWTtRQUMzQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNoQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNSLFlBQVksRUFBRTtnQkFDVixHQUFHLFlBQVk7Z0JBQ2YsTUFBTSxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQzthQUNoRDtTQUNKLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxnQkFBd0M7UUFDekQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRztZQUNmLEdBQUcsZ0JBQWdCO1lBQ25CLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNwRSxDQUFDO1FBQ0YsSUFBSSxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ25CLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsS0FBSyxFQUFFLFNBQVM7YUFDbkIsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRU0sV0FBVyxDQUFJLElBQVk7UUFDOUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOztnSEF2TFEsbUJBQW1CLGtCQUNSLGlCQUFpQixhQUErQyxpQkFBaUI7b0hBRDVGLG1CQUFtQjtBQTZCNUI7SUFBQyxXQUFXLEVBQUU7Ozs7b0RBOEJiO0FBRUQ7SUFBQyxXQUFXLEVBQUU7Ozs7bURBZWI7QUFFRDtJQUFDLFdBQVcsRUFBRTs7OztvREFlYjtBQUVEO0lBQUMsV0FBVyxFQUFFOzs7O3NEQWdCYjtBQUVEO0lBQUMsV0FBVyxFQUFFOzs7O3VEQWFiO0FBRUQ7SUFBQyxXQUFXLEVBQUU7Ozs7c0RBZ0JiO0FBRUQ7SUFBQyxXQUFXLEVBQUU7Ozs7dURBaUJiOzJGQW5LUSxtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBd0MsTUFBTTsyQkFBQyxpQkFBaUI7NENBNkI5RixTQUFTLE1BZ0NULFFBQVEsTUFpQlIsU0FBUyxNQWlCVCxXQUFXLE1Ba0JYLFlBQVksTUFlWixXQUFXLE1Ba0JYLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgYXJyYXlBZGQsIGFycmF5UmVtb3ZlLCBhcnJheVVwc2VydCwgRW50aXR5U3RhdGUsIEVudGl0eVN0b3JlLCBIYXNoTWFwLCB0cmFuc2FjdGlvbiB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGFcIjtcbmltcG9ydCB7IEFkZEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGEvc3JjL2xpYi9hZGRFbnRpdGllc1wiO1xuaW1wb3J0IHsgU3RvcmVDb25maWdPcHRpb25zIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YS9zcmMvbGliL3N0b3JlQ29uZmlnXCI7XG5pbXBvcnQgeyBRdWVyeVBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9hcGkvZmlsdGVyLmFwaVwiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsLCBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIEZpbHRlclJlc3VsdE1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IFF1ZXJ5TW9kZWwsIFF1ZXJ5UnVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgRklMVEVSX1ZJRVdfU1RBVEUsIEZJTFRFUl9WSUVXX1NUT1JFIH0gZnJvbSBcIi4uL25pY2UtZmlsdGVyLXZpZXcuY29uc3RhbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOaWNlRmlsdGVyVmlld1N0YXRlIGV4dGVuZHMgRW50aXR5U3RhdGUge1xuICAgIHN1YlN0YXRlczogSGFzaE1hcDxhbnk+O1xuICAgIG1vZGU6IFwicGFnaW5hdGVkXCIgfCBcImFjY3VtdWxhdGVkXCI7XG4gICAgYXV0b0xvYWQ6IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgaW5pdGlhbExvYWRDb21wbGV0ZWQ6IGJvb2xlYW47XG4gICAgZmlsdGVyQ29uZmlnTG9hZGluZzogYm9vbGVhbjtcbiAgICBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdO1xuICAgIGZpbHRlclJlc3VsdDogRmlsdGVyUmVzdWx0TW9kZWwgfCBudWxsO1xuICAgIGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbDtcbiAgICBiYXNlUnVsZXM6IChRdWVyeVJ1bGVNb2RlbCB8IFF1ZXJ5TW9kZWwpW107XG4gICAgcXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zO1xuICAgIHJlc2V0UmVzdWx0OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFZhbHVlOiBOaWNlRmlsdGVyVmlld1N0YXRlID0ge1xuICAgIHN1YlN0YXRlczoge30sXG4gICAgbW9kZTogXCJwYWdpbmF0ZWRcIixcbiAgICBhdXRvTG9hZDogdHJ1ZSxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgaW5pdGlhbExvYWRDb21wbGV0ZWQ6IGZhbHNlLFxuICAgIGZpbHRlckNvbmZpZ0xvYWRpbmc6IGZhbHNlLFxuICAgIGZpbHRlckNvbmZpZzogW10sXG4gICAgZmlsdGVyUmVzdWx0OiBudWxsLFxuICAgIGZpbHRlclBhcmFtZXRlcnM6IHtcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGxlbmd0aDogMTAsXG4gICAgICAgIG9yZGVyOiB7fSxcbiAgICAgICAgc2VhcmNoOiBcIlwiLFxuICAgICAgICBydWxlczogW10sXG4gICAgICAgIGRhdGE6IHt9XG4gICAgfSxcbiAgICBiYXNlUnVsZXM6IFtdLFxuICAgIHF1ZXJ5UGFyYW1zOiBudWxsLFxuICAgIHJlc2V0UmVzdWx0OiBmYWxzZVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJWaWV3U3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTxOaWNlRmlsdGVyVmlld1N0YXRlPiB7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChGSUxURVJfVklFV19TVEFURSkgc3RhdGU6IFBhcnRpYWw8TmljZUZpbHRlclZpZXdTdGF0ZT4sIEBJbmplY3QoRklMVEVSX1ZJRVdfU1RPUkUpIHN0b3JlOiBTdG9yZUNvbmZpZ09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgLi4uaW5pdGlhbFZhbHVlLFxuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBmaWx0ZXJQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgLi4uaW5pdGlhbFZhbHVlLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgLi4uKHN0YXRlLmZpbHRlclBhcmFtZXRlcnMgPz8ge30pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHN0b3JlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RmlsdGVyQ29uZmlnTG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlKHsgZmlsdGVyQ29uZmlnTG9hZGluZzogbG9hZGluZyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGUoeyBmaWx0ZXJQYXJhbWV0ZXJzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXRjaFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlKCh7IGZpbHRlclBhcmFtZXRlcnM6IGN1cnJlbnRGaWx0ZXJQYXJhbWV0ZXJzIH0pID0+ICh7XG4gICAgICAgICAgICBmaWx0ZXJQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgLi4uY3VycmVudEZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVyc1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgQHRyYW5zYWN0aW9uKClcbiAgICBwdWJsaWMgc2V0UmVzdWx0KGZpbHRlclJlc3VsdDogRmlsdGVyUmVzdWx0TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBtb2RlLCByZXNldFJlc3VsdCwgaW5pdGlhbExvYWRDb21wbGV0ZWQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKG1vZGUgPT09IFwiYWNjdW11bGF0ZWRcIikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUoKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiBmaWx0ZXJSZXN1bHQucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IGZpbHRlclJlc3VsdC50b3RhbCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi4ocmVzZXRSZXN1bHQgPyBbXSA6IHN0YXRlLmZpbHRlclJlc3VsdD8udmFsdWVzID8/IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdC52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzZXRSZXN1bHQ6IGZhbHNlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RlID09PSBcImFjY3VtdWxhdGVkXCIgJiYgIXJlc2V0UmVzdWx0KSB7XG4gICAgICAgICAgICB0aGlzLmFkZChbLi4uZmlsdGVyUmVzdWx0LnZhbHVlc10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXQoWy4uLmZpbHRlclJlc3VsdC52YWx1ZXNdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaW5pdGlhbExvYWRDb21wbGV0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHsgaW5pdGlhbExvYWRDb21wbGV0ZWQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHJhbnNhY3Rpb24oKVxuICAgIHB1YmxpYyBhZGRWYWx1ZSh2YWx1ZTogYW55LCBvcHRzPzogQWRkRW50aXRpZXNPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheUFkZChmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZSwgb3B0cylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hZGQodmFsdWUsIG9wdHMpO1xuICAgIH1cblxuICAgIEB0cmFuc2FjdGlvbigpXG4gICAgcHVibGljIGFkZFZhbHVlcyh2YWx1ZXM6IGFueVtdLCBvcHRzPzogQWRkRW50aXRpZXNPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheUFkZChmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZXMsIG9wdHMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRkKHZhbHVlcywgb3B0cyk7XG4gICAgfVxuXG4gICAgQHRyYW5zYWN0aW9uKClcbiAgICBwdWJsaWMgdXBzZXJ0VmFsdWUodmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZEtleSA9IGtleSA/PyB0aGlzLmlkS2V5O1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheVVwc2VydChmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZVtpZEtleV0sIHZhbHVlLCBpZEtleSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cHNlcnQodmFsdWVbaWRLZXldLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgQHRyYW5zYWN0aW9uKClcbiAgICBwdWJsaWMgdXBzZXJ0VmFsdWVzKHZhbHVlczogYW55W10sIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZEtleSA9IGtleSA/PyB0aGlzLmlkS2V5O1xuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUoKHsgZmlsdGVyUmVzdWx0IH0pID0+ICh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLihmaWx0ZXJSZXN1bHQgPz8geyB2YWx1ZXM6IFtdIH0pLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5VXBzZXJ0KGZpbHRlclJlc3VsdD8udmFsdWVzID8/IFtdLCB2YWx1ZVtpZEtleV0sIHZhbHVlLCBpZEtleSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgIHRoaXMudXBzZXJ0KHZhbHVlW2lkS2V5XSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHRyYW5zYWN0aW9uKClcbiAgICBwdWJsaWMgcmVtb3ZlVmFsdWUodmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZEtleSA9IGtleSA/PyB0aGlzLmlkS2V5O1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheVJlbW92ZShmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZVtpZEtleV0sIGlkS2V5KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbW92ZSh2YWx1ZVtpZEtleV0pO1xuICAgIH1cblxuICAgIEB0cmFuc2FjdGlvbigpXG4gICAgcHVibGljIHJlbW92ZVZhbHVlcyh2YWx1ZXM6IGFueVtdLCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkS2V5ID0ga2V5ID8/IHRoaXMuaWRLZXk7XG4gICAgICAgIGNvbnN0IGlkcyA9IHZhbHVlcy5tYXAodmFsdWUgPT4gdmFsdWVbaWRLZXldKTtcbiAgICAgICAgdGhpcy51cGRhdGUoe1xuICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyUmVzdWx0LFxuICAgICAgICAgICAgICAgIHZhbHVlczogYXJyYXlSZW1vdmUoZmlsdGVyUmVzdWx0LnZhbHVlcywgaWRzKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbW92ZShpZHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnM/OiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwge1xuICAgICAgICBjb25zdCB7IGJhc2VSdWxlcyB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0ge1xuICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgIHJ1bGVzOiBmaWx0ZXJQYXJhbWV0ZXJzPy5ydWxlcyA/IFsuLi5maWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzXSA6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGlmIChiYXNlUnVsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcGFyYW1ldGVycy5ydWxlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb246IFwiYW5kXCIsXG4gICAgICAgICAgICAgICAgcnVsZXM6IGJhc2VSdWxlc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN1YlN0YXRlPFQ+KG5hbWU6IHN0cmluZyk6IFQge1xuICAgICAgICBjb25zdCB7IHN1YlN0YXRlcyB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICByZXR1cm4gc3ViU3RhdGVzW25hbWVdO1xuICAgIH1cbn1cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZSxXQUFXLEVBQVcsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPckgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBa0JwRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXdCO0lBQzdDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsSUFBSSxFQUFFLFdBQVc7SUFDakIsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsS0FBSztJQUNmLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsbUJBQW1CLEVBQUUsS0FBSztJQUMxQixZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixnQkFBZ0IsRUFBRTtRQUNkLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsS0FBSyxFQUFFLEVBQUU7UUFDVCxJQUFJLEVBQUUsRUFBRTtLQUNYO0lBQ0QsU0FBUyxFQUFFLEVBQUU7SUFDYixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsS0FBSztDQUNyQixDQUFDO0FBR0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBQ3JFLFlBQXVDLEtBQW1D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V0FBVyxFQUFFOzs7O3VEQWFiO0FBRUQ7SUFBQyxXQUFXLEVBQUU7Ozs7c0RBZ0JiO0FBRUQ7SUFBQyxXQUFXLEVBQUU7Ozs7dURBaUJiOzJGQW5LUSxtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBd0MsTUFBTTsyQkFBQyxpQkFBaUI7NENBNkI5RixTQUFTLE1BZ0NULFFBQVEsTUFpQlIsU0FBUyxNQWlCVCxXQUFXLE1Ba0JYLFlBQVksTUFlWixXQUFXLE1Ba0JYLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgYXJyYXlBZGQsIGFycmF5UmVtb3ZlLCBhcnJheVVwc2VydCwgRW50aXR5U3RhdGUsIEVudGl0eVN0b3JlLCBIYXNoTWFwLCB0cmFuc2FjdGlvbiB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGFcIjtcbmltcG9ydCB7IEFkZEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGEvc3JjL2xpYi9hZGRFbnRpdGllc1wiO1xuaW1wb3J0IHsgU3RvcmVDb25maWdPcHRpb25zIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YS9zcmMvbGliL3N0b3JlQ29uZmlnXCI7XG5pbXBvcnQgeyBRdWVyeVBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9hcGkvZmlsdGVyLmFwaVwiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsLCBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIEZpbHRlclJlc3VsdE1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IFF1ZXJ5TW9kZWwsIFF1ZXJ5UnVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgT3JkZXJPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9vcmRlci1vcHRpb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBGSUxURVJfVklFV19TVEFURSwgRklMVEVSX1ZJRVdfU1RPUkUgfSBmcm9tIFwiLi4vbmljZS1maWx0ZXItdmlldy5jb25zdGFudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VGaWx0ZXJWaWV3U3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZSB7XG4gICAgc3ViU3RhdGVzOiBIYXNoTWFwPGFueT47XG4gICAgbW9kZTogXCJwYWdpbmF0ZWRcIiB8IFwiYWNjdW11bGF0ZWRcIjtcbiAgICBhdXRvTG9hZDogYm9vbGVhbjtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBpbml0aWFsTG9hZENvbXBsZXRlZDogYm9vbGVhbjtcbiAgICBmaWx0ZXJDb25maWdMb2FkaW5nOiBib29sZWFuO1xuICAgIGZpbHRlckNvbmZpZzogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW107XG4gICAgZmlsdGVyUmVzdWx0OiBGaWx0ZXJSZXN1bHRNb2RlbCB8IG51bGw7XG4gICAgZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsO1xuICAgIGJhc2VSdWxlczogKFF1ZXJ5UnVsZU1vZGVsIHwgUXVlcnlNb2RlbClbXTtcbiAgICBxdWVyeVBhcmFtczogUXVlcnlQYXJhbXMgfCBudWxsO1xuICAgIG9yZGVyQ29sdW1uczogT3JkZXJPcHRpb25zIHwgbnVsbDtcbiAgICByZXNldFJlc3VsdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxWYWx1ZTogTmljZUZpbHRlclZpZXdTdGF0ZSA9IHtcbiAgICBzdWJTdGF0ZXM6IHt9LFxuICAgIG1vZGU6IFwicGFnaW5hdGVkXCIsXG4gICAgYXV0b0xvYWQ6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGluaXRpYWxMb2FkQ29tcGxldGVkOiBmYWxzZSxcbiAgICBmaWx0ZXJDb25maWdMb2FkaW5nOiBmYWxzZSxcbiAgICBmaWx0ZXJDb25maWc6IFtdLFxuICAgIGZpbHRlclJlc3VsdDogbnVsbCxcbiAgICBmaWx0ZXJQYXJhbWV0ZXJzOiB7XG4gICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICBsZW5ndGg6IDEwLFxuICAgICAgICBvcmRlcjoge30sXG4gICAgICAgIHNlYXJjaDogXCJcIixcbiAgICAgICAgcnVsZXM6IFtdLFxuICAgICAgICBkYXRhOiB7fVxuICAgIH0sXG4gICAgYmFzZVJ1bGVzOiBbXSxcbiAgICBxdWVyeVBhcmFtczogbnVsbCxcbiAgICBvcmRlckNvbHVtbnM6IG51bGwsXG4gICAgcmVzZXRSZXN1bHQ6IGZhbHNlXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclZpZXdTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPE5pY2VGaWx0ZXJWaWV3U3RhdGU+IHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEZJTFRFUl9WSUVXX1NUQVRFKSBzdGF0ZTogUGFydGlhbDxOaWNlRmlsdGVyVmlld1N0YXRlPiwgQEluamVjdChGSUxURVJfVklFV19TVE9SRSkgc3RvcmU6IFN0b3JlQ29uZmlnT3B0aW9ucykge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICAuLi5pbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGZpbHRlclBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAuLi5pbml0aWFsVmFsdWUuZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAuLi4oc3RhdGUuZmlsdGVyUGFyYW1ldGVycyA/PyB7fSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgc3RvcmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRGaWx0ZXJDb25maWdMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGUoeyBmaWx0ZXJDb25maWdMb2FkaW5nOiBsb2FkaW5nIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZSh7IGZpbHRlclBhcmFtZXRlcnMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHBhdGNoUGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGUoKHsgZmlsdGVyUGFyYW1ldGVyczogY3VycmVudEZpbHRlclBhcmFtZXRlcnMgfSkgPT4gKHtcbiAgICAgICAgICAgIGZpbHRlclBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAuLi5jdXJyZW50RmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBAdHJhbnNhY3Rpb24oKVxuICAgIHB1YmxpYyBzZXRSZXN1bHQoZmlsdGVyUmVzdWx0OiBGaWx0ZXJSZXN1bHRNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IG1vZGUsIHJlc2V0UmVzdWx0LCBpbml0aWFsTG9hZENvbXBsZXRlZCB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAobW9kZSA9PT0gXCJhY2N1bXVsYXRlZFwiKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IGZpbHRlclJlc3VsdC5wYWdlLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbDogZmlsdGVyUmVzdWx0LnRvdGFsLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihyZXNldFJlc3VsdCA/IFtdIDogc3RhdGUuZmlsdGVyUmVzdWx0Py52YWx1ZXMgPz8gW10pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyUmVzdWx0LnZhbHVlc1xuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNldFJlc3VsdDogZmFsc2VcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJSZXN1bHRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwiYWNjdW11bGF0ZWRcIiAmJiAhcmVzZXRSZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKFsuLi5maWx0ZXJSZXN1bHQudmFsdWVzXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldChbLi4uZmlsdGVyUmVzdWx0LnZhbHVlc10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpbml0aWFsTG9hZENvbXBsZXRlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUoeyBpbml0aWFsTG9hZENvbXBsZXRlZDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEB0cmFuc2FjdGlvbigpXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBhbnksIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5QWRkKGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlLCBvcHRzKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkZCh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuXG4gICAgQHRyYW5zYWN0aW9uKClcbiAgICBwdWJsaWMgYWRkVmFsdWVzKHZhbHVlczogYW55W10sIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5QWRkKGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlcywgb3B0cylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hZGQodmFsdWVzLCBvcHRzKTtcbiAgICB9XG5cbiAgICBAdHJhbnNhY3Rpb24oKVxuICAgIHB1YmxpYyB1cHNlcnRWYWx1ZSh2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkS2V5ID0ga2V5ID8/IHRoaXMuaWRLZXk7XG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5VXBzZXJ0KGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlW2lkS2V5XSwgdmFsdWUsIGlkS2V5KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwc2VydCh2YWx1ZVtpZEtleV0sIHZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHJhbnNhY3Rpb24oKVxuICAgIHB1YmxpYyB1cHNlcnRWYWx1ZXModmFsdWVzOiBhbnlbXSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlkS2V5ID0ga2V5ID8/IHRoaXMuaWRLZXk7XG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgoeyBmaWx0ZXJSZXN1bHQgfSkgPT4gKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uKGZpbHRlclJlc3VsdCA/PyB7IHZhbHVlczogW10gfSksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlczogYXJyYXlVcHNlcnQoZmlsdGVyUmVzdWx0Py52YWx1ZXMgPz8gW10sIHZhbHVlW2lkS2V5XSwgdmFsdWUsIGlkS2V5KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgdGhpcy51cHNlcnQodmFsdWVbaWRLZXldLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHJhbnNhY3Rpb24oKVxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZSh2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkS2V5ID0ga2V5ID8/IHRoaXMuaWRLZXk7XG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5UmVtb3ZlKGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlW2lkS2V5XSwgaWRLZXkpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVtb3ZlKHZhbHVlW2lkS2V5XSk7XG4gICAgfVxuXG4gICAgQHRyYW5zYWN0aW9uKClcbiAgICBwdWJsaWMgcmVtb3ZlVmFsdWVzKHZhbHVlczogYW55W10sIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclJlc3VsdCB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoIWZpbHRlclJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRLZXkgPSBrZXkgPz8gdGhpcy5pZEtleTtcbiAgICAgICAgY29uc3QgaWRzID0gdmFsdWVzLm1hcCh2YWx1ZSA9PiB2YWx1ZVtpZEtleV0pO1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheVJlbW92ZShmaWx0ZXJSZXN1bHQudmFsdWVzLCBpZHMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVtb3ZlKGlkcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVycz86IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCB7XG4gICAgICAgIGNvbnN0IHsgYmFzZVJ1bGVzIH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgcnVsZXM6IGZpbHRlclBhcmFtZXRlcnM/LnJ1bGVzID8gWy4uLmZpbHRlclBhcmFtZXRlcnMucnVsZXNdIDogW11cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGJhc2VSdWxlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzLnJ1bGVzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogXCJhbmRcIixcbiAgICAgICAgICAgICAgICBydWxlczogYmFzZVJ1bGVzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3ViU3RhdGU8VD4obmFtZTogc3RyaW5nKTogVCB7XG4gICAgICAgIGNvbnN0IHsgc3ViU3RhdGVzIH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIHJldHVybiBzdWJTdGF0ZXNbbmFtZV07XG4gICAgfVxufVxuIl19
@@ -2747,72 +2747,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2747
2747
  }]
2748
2748
  }] });
2749
2749
 
2750
- class AdvancedFiltersUtils {
2751
- static isSingleInput(filterOperator) {
2752
- if (!filterOperator) {
2753
- return false;
2754
- }
2755
- return AdvancedFiltersUtils.singleInputOperators.includes(filterOperator);
2756
- }
2757
- static isDoubleInput(filterOperator) {
2758
- if (!filterOperator) {
2759
- return false;
2760
- }
2761
- return AdvancedFiltersUtils.doubleInputOperators.includes(filterOperator);
2762
- }
2763
- static isNoInput(filterOperator) {
2764
- if (!filterOperator) {
2765
- return false;
2766
- }
2767
- return AdvancedFiltersUtils.noInputOperators.includes(filterOperator);
2768
- }
2769
- static createRule(config, operator) {
2770
- var _a, _b, _c;
2771
- const base = {
2772
- id: config.id,
2773
- operation: operator || config.operators[0].id
2774
- };
2775
- switch (config.type) {
2776
- case FilterType.Text:
2777
- return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator) ? ["", ""] : "" });
2778
- case FilterType.Number:
2779
- case FilterType.Select:
2780
- return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator) ? [null, null] : null });
2781
- case FilterType.Date:
2782
- return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator) ? [new Date(), new Date()] : new Date() });
2783
- case FilterType.Radio:
2784
- return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator)
2785
- ? [(_a = config.options) === null || _a === void 0 ? void 0 : _a[0].key, (_b = config.options) === null || _b === void 0 ? void 0 : _b[0].key]
2786
- : (_c = config.options) === null || _c === void 0 ? void 0 : _c[0].key });
2787
- }
2788
- }
2789
- }
2790
- AdvancedFiltersUtils.noInputOperators = [
2791
- FilterOperatorTypes.IsEmpty,
2792
- FilterOperatorTypes.IsNotEmpty,
2793
- FilterOperatorTypes.IsNull,
2794
- FilterOperatorTypes.IsNotNull,
2795
- FilterOperatorTypes.None
2796
- ];
2797
- AdvancedFiltersUtils.singleInputOperators = [
2798
- FilterOperatorTypes.Equal,
2799
- FilterOperatorTypes.NotEqual,
2800
- FilterOperatorTypes.Less,
2801
- FilterOperatorTypes.LessOrEqual,
2802
- FilterOperatorTypes.Greater,
2803
- FilterOperatorTypes.GreaterOrEqual,
2804
- FilterOperatorTypes.BeginsWith,
2805
- FilterOperatorTypes.NotBeginsWith,
2806
- FilterOperatorTypes.EndsWith,
2807
- FilterOperatorTypes.NotEndsWith,
2808
- FilterOperatorTypes.Contains,
2809
- FilterOperatorTypes.NotContains
2810
- ];
2811
- AdvancedFiltersUtils.doubleInputOperators = [
2812
- FilterOperatorTypes.Between,
2813
- FilterOperatorTypes.NotBetween
2814
- ];
2815
-
2816
2750
  const ADVANCED_FILTER_ICONS = new InjectionToken("advanced_filter_icons");
2817
2751
 
2818
2752
  const EXPORTS_SETTINGS = new InjectionToken("exports_settings");
@@ -2839,6 +2773,7 @@ const initialValue = {
2839
2773
  },
2840
2774
  baseRules: [],
2841
2775
  queryParams: null,
2776
+ orderColumns: null,
2842
2777
  resetResult: false
2843
2778
  };
2844
2779
  class NiceFilterViewStore extends EntityStore {
@@ -3495,9 +3430,8 @@ class NiceAdvancedFiltersButtonComponent {
3495
3430
  this.service.updateSubState("showAdvancedFilters", !this.query.getSubState("showAdvancedFilters"));
3496
3431
  }
3497
3432
  onSelectedFilter(filter) {
3498
- const rule = AdvancedFiltersUtils.createRule(filter);
3499
- this.service.setRules([{ condition: "and", rules: [rule] }]);
3500
3433
  this.service.updateSubState("showAdvancedFilters", true);
3434
+ this.service.updateSubState("selectedFilter", filter);
3501
3435
  }
3502
3436
  }
3503
3437
  NiceAdvancedFiltersButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceAdvancedFiltersButtonComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
@@ -3659,6 +3593,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
3659
3593
  type: Injectable
3660
3594
  }], ctorParameters: function () { return [{ type: NiceFilterService }]; } });
3661
3595
 
3596
+ class AdvancedFiltersUtils {
3597
+ static isSingleInput(filterOperator) {
3598
+ if (!filterOperator) {
3599
+ return false;
3600
+ }
3601
+ return AdvancedFiltersUtils.singleInputOperators.includes(filterOperator);
3602
+ }
3603
+ static isDoubleInput(filterOperator) {
3604
+ if (!filterOperator) {
3605
+ return false;
3606
+ }
3607
+ return AdvancedFiltersUtils.doubleInputOperators.includes(filterOperator);
3608
+ }
3609
+ static isNoInput(filterOperator) {
3610
+ if (!filterOperator) {
3611
+ return false;
3612
+ }
3613
+ return AdvancedFiltersUtils.noInputOperators.includes(filterOperator);
3614
+ }
3615
+ static createRule(config, operator) {
3616
+ var _a, _b, _c;
3617
+ const base = {
3618
+ id: config.id,
3619
+ operation: operator || config.operators[0].id
3620
+ };
3621
+ switch (config.type) {
3622
+ case FilterType.Text:
3623
+ return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator) ? ["", ""] : "" });
3624
+ case FilterType.Number:
3625
+ case FilterType.Select:
3626
+ return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator) ? [null, null] : null });
3627
+ case FilterType.Date:
3628
+ return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator) ? [new Date(), new Date()] : new Date() });
3629
+ case FilterType.Radio:
3630
+ return Object.assign(Object.assign({}, base), { value: AdvancedFiltersUtils.isDoubleInput(operator)
3631
+ ? [(_a = config.options) === null || _a === void 0 ? void 0 : _a[0].key, (_b = config.options) === null || _b === void 0 ? void 0 : _b[0].key]
3632
+ : (_c = config.options) === null || _c === void 0 ? void 0 : _c[0].key });
3633
+ }
3634
+ }
3635
+ }
3636
+ AdvancedFiltersUtils.noInputOperators = [
3637
+ FilterOperatorTypes.IsEmpty,
3638
+ FilterOperatorTypes.IsNotEmpty,
3639
+ FilterOperatorTypes.IsNull,
3640
+ FilterOperatorTypes.IsNotNull,
3641
+ FilterOperatorTypes.None
3642
+ ];
3643
+ AdvancedFiltersUtils.singleInputOperators = [
3644
+ FilterOperatorTypes.Equal,
3645
+ FilterOperatorTypes.NotEqual,
3646
+ FilterOperatorTypes.Less,
3647
+ FilterOperatorTypes.LessOrEqual,
3648
+ FilterOperatorTypes.Greater,
3649
+ FilterOperatorTypes.GreaterOrEqual,
3650
+ FilterOperatorTypes.BeginsWith,
3651
+ FilterOperatorTypes.NotBeginsWith,
3652
+ FilterOperatorTypes.EndsWith,
3653
+ FilterOperatorTypes.NotEndsWith,
3654
+ FilterOperatorTypes.Contains,
3655
+ FilterOperatorTypes.NotContains
3656
+ ];
3657
+ AdvancedFiltersUtils.doubleInputOperators = [
3658
+ FilterOperatorTypes.Between,
3659
+ FilterOperatorTypes.NotBetween
3660
+ ];
3661
+
3662
3662
  class FilterComponent {
3663
3663
  constructor() {
3664
3664
  this.propagateChanges = (_) => { };
@@ -3899,10 +3899,17 @@ class NiceAdvancedFiltersComponent {
3899
3899
  }
3900
3900
  ngOnInit() {
3901
3901
  var _a;
3902
- const { filterParameters } = this.query.getValue();
3902
+ const { filterParameters, subStates } = this.query.getValue();
3903
3903
  if ((_a = filterParameters.rules) === null || _a === void 0 ? void 0 : _a.length) {
3904
3904
  this.formGroup.patchValue(new AdvancedFiltersForm(filterParameters.rules[0]));
3905
3905
  }
3906
+ if (subStates.selectedFilter) {
3907
+ this.onClickAddRule(subStates.selectedFilter);
3908
+ return;
3909
+ }
3910
+ }
3911
+ ngOnDestroy() {
3912
+ this.removeEmptyRules({ reload: false });
3906
3913
  }
3907
3914
  onClickAddRule(filterConfigurationModel) {
3908
3915
  this.rulesFormArray.push(new FilterForm(AdvancedFiltersUtils.createRule(filterConfigurationModel)));
@@ -3925,7 +3932,7 @@ class NiceAdvancedFiltersComponent {
3925
3932
  this.service.resetResult(true);
3926
3933
  this.service.filter();
3927
3934
  }
3928
- removeEmptyRules() {
3935
+ removeEmptyRules({ reload } = { reload: true }) {
3929
3936
  if (this.rulesFormArray.length !== 1) {
3930
3937
  return;
3931
3938
  }
@@ -3943,6 +3950,9 @@ class NiceAdvancedFiltersComponent {
3943
3950
  return;
3944
3951
  }
3945
3952
  this.service.setRules([]);
3953
+ if (!reload) {
3954
+ return;
3955
+ }
3946
3956
  if (filterParameters.rules[0].rules[0].value) {
3947
3957
  this.service.filter();
3948
3958
  }
@@ -4825,6 +4835,9 @@ class NiceFilterMatSortSortingDirective extends NiceNestedFilterView {
4825
4835
  this.sort.active = order.column;
4826
4836
  });
4827
4837
  this.sort.sortChange.pipe(takeUntil(this.unsubscribeAll$)).subscribe((sort) => {
4838
+ var _a;
4839
+ const { orderColumns } = this.filterViewQuery.getValue();
4840
+ const column = orderColumns === null || orderColumns === void 0 ? void 0 : orderColumns[sort.active];
4828
4841
  if (!sort.direction) {
4829
4842
  this.filterViewService.patchParameters({
4830
4843
  order: null
@@ -4833,8 +4846,9 @@ class NiceFilterMatSortSortingDirective extends NiceNestedFilterView {
4833
4846
  else {
4834
4847
  this.filterViewService.patchParameters({
4835
4848
  order: {
4836
- column: sort.active,
4837
- direction: sort.direction
4849
+ column: (_a = column === null || column === void 0 ? void 0 : column.column) !== null && _a !== void 0 ? _a : sort.active,
4850
+ direction: sort.direction,
4851
+ nullLast: column === null || column === void 0 ? void 0 : column.nullLast
4838
4852
  }
4839
4853
  });
4840
4854
  }