@datarailsshared/datarailsshared 1.4.187 → 1.4.188

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 (34) hide show
  1. package/bundles/datarailsshared-datarailsshared.umd.js +884 -0
  2. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
  3. package/datarailsshared-datarailsshared-1.4.188.tgz +0 -0
  4. package/datarailsshared-datarailsshared.d.ts +1 -0
  5. package/datarailsshared-datarailsshared.metadata.json +1 -1
  6. package/esm2015/datarailsshared-datarailsshared.js +2 -1
  7. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +210 -0
  8. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +58 -0
  9. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +38 -0
  10. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +97 -0
  11. package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +82 -0
  12. package/esm2015/lib/dr-treeview/models/treeview-config.js +22 -0
  13. package/esm2015/lib/dr-treeview/models/treeview-header-template-context.js +2 -0
  14. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +42 -0
  15. package/esm2015/lib/dr-treeview/models/treeview-item-template-context.js +2 -0
  16. package/esm2015/lib/dr-treeview/models/treeview-item.js +155 -0
  17. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +17 -0
  18. package/esm2015/public-api.js +10 -1
  19. package/fesm2015/datarailsshared-datarailsshared.js +695 -2
  20. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
  21. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +39 -0
  22. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +15 -0
  23. package/lib/dr-treeview/dr-tree-view.module.d.ts +4 -0
  24. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +21 -0
  25. package/lib/dr-treeview/helpers/treeview-helper.d.ts +16 -0
  26. package/lib/dr-treeview/models/treeview-config.d.ts +15 -0
  27. package/lib/dr-treeview/models/treeview-header-template-context.d.ts +9 -0
  28. package/lib/dr-treeview/models/treeview-i18n.d.ts +15 -0
  29. package/lib/dr-treeview/models/treeview-item-template-context.d.ts +6 -0
  30. package/lib/dr-treeview/models/treeview-item.d.ts +35 -0
  31. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +5 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +9 -0
  34. package/datarailsshared-datarailsshared-1.4.187.tgz +0 -0
@@ -29,6 +29,7 @@ export { TooltipInfoSimpleComponent as ɵo } from './lib/dr-tooltip/components/t
29
29
  export { TooltipInfoComponent as ɵn } from './lib/dr-tooltip/components/tooltip-info/tooltip-info.component';
30
30
  export { TooltipNoBodyComponent as ɵp } from './lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component';
31
31
  export { TooltipProcessDefaultComponent as ɵq } from './lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component';
32
+ export { TreeviewItemComponent as ɵbd } from './lib/dr-treeview/components/treeview-item/treeview-item.component';
32
33
  export { POPUP_ANIMATION as ɵb } from './lib/models/constants';
33
34
  export { StepperComponent as ɵt } from './lib/stepper/stepper.component';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3RJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDaEksT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ2hJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDckcsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ2pJLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sb0dBQW9HLENBQUM7QUFDNUosT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxrR0FBa0csQ0FBQztBQUN6SixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUMvRyxPQUFPLEVBQUMsZ0NBQWdDLElBQUksR0FBRyxFQUFDLE1BQU0sNEZBQTRGLENBQUM7QUFDbkosT0FBTyxFQUFDLG1DQUFtQyxJQUFJLEdBQUcsRUFBQyxNQUFNLG9HQUFvRyxDQUFDO0FBQzlKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUMvSCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDM0csT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUMzSSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtjb21wb25lbnRzIGFzIMm1YX0gZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5leHBvcnQge0RyQmFkZ2VTdGF0dXNDb21wb25lbnQgYXMgybViY30gZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0IHtEckNoYXRGb3JtQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0RyQ2hhdE1lc3NhZ2VDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCB7RHJDaGF0Q3VzdG9tTWVzc2FnZURpcmVjdGl2ZSBhcyDJtXp9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCB7RHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQgYXMgybV4fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtEckNoYXRNZXNzYWdlVGV4dENvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS10ZXh0L2NoYXQtbWVzc2FnZS10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQge0RyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7RHJEb3RGbGFzaGluZ0NvbXBvbmVudCBhcyDJtXl9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtEaWFsb2dNb2RhbFdyYXBwZXJDb21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9kci1kaWFsb2cvY29tcG9uZW50cy9kaWFsb2ctbW9kYWwtd3JhcHBlci9kaWFsb2ctbW9kYWwtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEaWFsb2dXcmFwcGVyQ29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RHJEeW5hbWljVGFnQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcuY29tcG9uZW50JztcbmV4cG9ydCB7RHJEeW5hbWljVGFnTW9kdWxlIGFzIMm1cn0gZnJvbSAnLi9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcubW9kdWxlJztcbmV4cG9ydCB7RHJEYXRlUGlja2VyRm9ybWF0RGlyZWN0aXZlIGFzIMm1an0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kaXJlY3RpdmVzL2RyLWRhdGUtcGlja2VyLWZvcm1hdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtEckRhdGVQaWNrZXJXaXRoVGltZWZyYW1lQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS5jb21wb25lbnQnO1xuZXhwb3J0IHtEckRhdGVQaWNrZXJDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RyU2hvd1RpbWVmcmFtZVBpcGUgYXMgybVsfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLXNob3ctdGltZWZyYW1lLnBpcGUnO1xuZXhwb3J0IHtEckRhdGVQaWNrZXJTZXJ2aWNlIGFzIMm1aH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9zZXJ2aWNlcy9kci1kYXRlLXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCB7RHJTZWxlY3RBZGRJdGVtQ29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC1hZGQtaXRlbS9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7RHJTY2VuYXJpb0NvbmZpZ3VyYXRpb25Db21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RHJTY2VuYXJpb1RhZ0NvbmZpZ3VyYXRpb25Db21wb25lbnQgYXMgybViYn0gZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwSW5mb1NpbXBsZUNvbXBvbmVudCBhcyDJtW99IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWluZm8tc2ltcGxlL3Rvb2x0aXAtaW5mby1zaW1wbGUuY29tcG9uZW50JztcbmV4cG9ydCB7VG9vbHRpcEluZm9Db21wb25lbnQgYXMgybVufSBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvL3Rvb2x0aXAtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwTm9Cb2R5Q29tcG9uZW50IGFzIMm1cH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtbm8tYm9keS90b29sdGlwLW5vLWJvZHkuY29tcG9uZW50JztcbmV4cG9ydCB7VG9vbHRpcFByb2Nlc3NEZWZhdWx0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0L3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQge1BPUFVQX0FOSU1BVElPTiBhcyDJtWJ9IGZyb20gJy4vbGliL21vZGVscy9jb25zdGFudHMnO1xuZXhwb3J0IHtTdGVwcGVyQ29tcG9uZW50IGFzIMm1dH0gZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7Il19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3RJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDaEksT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ2hJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDckcsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ2pJLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sb0dBQW9HLENBQUM7QUFDNUosT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxrR0FBa0csQ0FBQztBQUN6SixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUMvRyxPQUFPLEVBQUMsZ0NBQWdDLElBQUksR0FBRyxFQUFDLE1BQU0sNEZBQTRGLENBQUM7QUFDbkosT0FBTyxFQUFDLG1DQUFtQyxJQUFJLEdBQUcsRUFBQyxNQUFNLG9HQUFvRyxDQUFDO0FBQzlKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUMvSCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDM0csT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUMzSSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7Y29tcG9uZW50cyBhcyDJtWF9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHtEckJhZGdlU3RhdHVzQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vbGliL2RyLWJhZGdlLXN0YXR1cy9kci1iYWRnZS1zdGF0dXMuY29tcG9uZW50JztcbmV4cG9ydCB7RHJDaGF0Rm9ybUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtEckNoYXRNZXNzYWdlQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQge0RyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgYXMgybV6fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7RHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQge0RyQ2hhdE1lc3NhZ2VGaWxlQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7RHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0IHtEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1zdWdnZXN0aW9ucy9jaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRG90Rmxhc2hpbmdDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50JztcbmV4cG9ydCB7RGlhbG9nTW9kYWxXcmFwcGVyQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RGlhbG9nV3JhcHBlckNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL2RyLWRpYWxvZy9jb21wb25lbnRzL2RpYWxvZy13cmFwcGVyL2RpYWxvZy13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRHluYW1pY1RhZ0NvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vbGliL2RyLWR5bmFtaWMtdGFnL2RyLWR5bmFtaWMtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRHluYW1pY1RhZ01vZHVsZSBhcyDJtXJ9IGZyb20gJy4vbGliL2RyLWR5bmFtaWMtdGFnL2RyLWR5bmFtaWMtdGFnLm1vZHVsZSc7XG5leHBvcnQge0RyRGF0ZVBpY2tlckZvcm1hdERpcmVjdGl2ZSBhcyDJtWp9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZGlyZWN0aXZlcy9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7RHJEYXRlUGlja2VyV2l0aFRpbWVmcmFtZUNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCB7RHJEYXRlUGlja2VyQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlci9kci1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEckRhdGVQaWNrZXJDdXN0b21IZWFkZXJDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEclNob3dUaW1lZnJhbWVQaXBlIGFzIMm1bH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1zaG93LXRpbWVmcmFtZS5waXBlJztcbmV4cG9ydCB7RHJEYXRlUGlja2VyU2VydmljZSBhcyDJtWh9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XG5leHBvcnQge0RyU2VsZWN0QWRkSXRlbUNvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge0RyU2NlbmFyaW9Db25maWd1cmF0aW9uQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0RyU2NlbmFyaW9UYWdDb25maWd1cmF0aW9uQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7VG9vbHRpcEluZm9TaW1wbGVDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvLXNpbXBsZS90b29sdGlwLWluZm8tc2ltcGxlLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBJbmZvQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtaW5mby90b29sdGlwLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7VG9vbHRpcE5vQm9keUNvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLW5vLWJvZHkvdG9vbHRpcC1uby1ib2R5LmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBQcm9jZXNzRGVmYXVsdENvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC5jb21wb25lbnQnO1xuZXhwb3J0IHtUcmVldmlld0l0ZW1Db21wb25lbnQgYXMgybViZH0gZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy1pdGVtL3RyZWV2aWV3LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7UE9QVVBfQU5JTUFUSU9OIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL2NvbnN0YW50cyc7XG5leHBvcnQge1N0ZXBwZXJDb21wb25lbnQgYXMgybV0fSBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JzsiXX0=
@@ -0,0 +1,210 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { isNil, includes } from 'lodash';
3
+ import { TreeviewI18n } from '../../models/treeview-i18n';
4
+ import { TreeviewItem } from '../../models/treeview-item';
5
+ import { TreeviewConfig } from '../../models/treeview-config';
6
+ import { TreeviewHelper } from '../../helpers/treeview-helper';
7
+ import { TreeviewEventParser } from '../../helpers/treeview-event-parser';
8
+ class FilterTreeviewItem extends TreeviewItem {
9
+ constructor(item) {
10
+ super({
11
+ text: item.text,
12
+ value: item.value,
13
+ disabled: item.disabled,
14
+ checked: item.checked,
15
+ collapsed: item.collapsed,
16
+ children: item.children
17
+ });
18
+ this.refItem = item;
19
+ }
20
+ updateRefChecked() {
21
+ this.children.forEach(child => {
22
+ if (child instanceof FilterTreeviewItem) {
23
+ child.updateRefChecked();
24
+ }
25
+ });
26
+ let refChecked = this.checked;
27
+ if (refChecked) {
28
+ for (const refChild of this.refItem.children) {
29
+ if (!refChild.checked) {
30
+ refChecked = false;
31
+ break;
32
+ }
33
+ }
34
+ }
35
+ this.refItem.checked = refChecked;
36
+ }
37
+ }
38
+ export class TreeviewComponent {
39
+ constructor(i18n, defaultConfig, eventParser) {
40
+ this.i18n = i18n;
41
+ this.defaultConfig = defaultConfig;
42
+ this.eventParser = eventParser;
43
+ this.selectedChange = new EventEmitter();
44
+ this.filterChange = new EventEmitter();
45
+ this.filterText = '';
46
+ this.config = this.defaultConfig;
47
+ this.allItem = new TreeviewItem({ text: 'All', value: undefined });
48
+ }
49
+ get hasFilterItems() {
50
+ return !isNil(this.filterItems) && this.filterItems.length > 0;
51
+ }
52
+ get maxHeight() {
53
+ return `${this.config.maxHeight}`;
54
+ }
55
+ ngOnInit() {
56
+ this.createHeaderTemplateContext();
57
+ this.generateSelection();
58
+ }
59
+ ngOnChanges(changes) {
60
+ const itemsSimpleChange = changes.items;
61
+ if (!isNil(itemsSimpleChange) && !isNil(this.items)) {
62
+ this.updateFilterItems();
63
+ this.updateCollapsedOfAll();
64
+ this.raiseSelectedChange();
65
+ }
66
+ }
67
+ onAllCollapseExpand() {
68
+ this.allItem.collapsed = !this.allItem.collapsed;
69
+ this.filterItems.forEach(item => item.setCollapsedRecursive(this.allItem.collapsed));
70
+ }
71
+ onFilterTextChange(text) {
72
+ this.filterText = text;
73
+ this.filterChange.emit(text);
74
+ this.updateFilterItems();
75
+ }
76
+ onAllCheckedChange() {
77
+ const checked = this.allItem.checked;
78
+ this.filterItems.forEach(item => {
79
+ item.setCheckedRecursive(checked);
80
+ if (item instanceof FilterTreeviewItem) {
81
+ item.updateRefChecked();
82
+ }
83
+ });
84
+ this.raiseSelectedChange();
85
+ }
86
+ onItemCheckedChange(item, checked) {
87
+ if (item instanceof FilterTreeviewItem) {
88
+ item.updateRefChecked();
89
+ }
90
+ this.updateCheckedOfAll();
91
+ this.raiseSelectedChange();
92
+ }
93
+ raiseSelectedChange() {
94
+ this.generateSelection();
95
+ const values = this.eventParser.getSelectedChange(this);
96
+ setTimeout(() => {
97
+ this.selectedChange.emit(values);
98
+ });
99
+ }
100
+ createHeaderTemplateContext() {
101
+ this.headerTemplateContext = {
102
+ config: this.config,
103
+ item: this.allItem,
104
+ onCheckedChange: () => this.onAllCheckedChange(),
105
+ onCollapseExpand: () => this.onAllCollapseExpand(),
106
+ onFilterTextChange: (text) => this.onFilterTextChange(text)
107
+ };
108
+ }
109
+ generateSelection() {
110
+ let checkedItems = [];
111
+ let uncheckedItems = [];
112
+ if (!isNil(this.items)) {
113
+ const selection = TreeviewHelper.concatSelection(this.items, checkedItems, uncheckedItems);
114
+ checkedItems = selection.checked;
115
+ uncheckedItems = selection.unchecked;
116
+ }
117
+ this.selection = {
118
+ checkedItems,
119
+ uncheckedItems
120
+ };
121
+ }
122
+ updateFilterItems() {
123
+ if (this.filterText !== '') {
124
+ const filterItems = [];
125
+ const filterText = this.filterText.toLowerCase();
126
+ this.items.forEach(item => {
127
+ const newItem = this.filterItem(item, filterText);
128
+ if (!isNil(newItem)) {
129
+ filterItems.push(newItem);
130
+ }
131
+ });
132
+ this.filterItems = filterItems;
133
+ }
134
+ else {
135
+ this.filterItems = this.items;
136
+ }
137
+ this.updateCheckedOfAll();
138
+ }
139
+ filterItem(item, filterText) {
140
+ const isMatch = includes(item.text.toLowerCase(), filterText);
141
+ if (isMatch) {
142
+ return item;
143
+ }
144
+ else {
145
+ if (!isNil(item.children)) {
146
+ const children = [];
147
+ item.children.forEach(child => {
148
+ const newChild = this.filterItem(child, filterText);
149
+ if (!isNil(newChild)) {
150
+ children.push(newChild);
151
+ }
152
+ });
153
+ if (children.length > 0) {
154
+ const newItem = new FilterTreeviewItem(item);
155
+ newItem.collapsed = false;
156
+ newItem.children = children;
157
+ return newItem;
158
+ }
159
+ }
160
+ }
161
+ return undefined;
162
+ }
163
+ updateCheckedOfAll() {
164
+ let itemChecked = null;
165
+ for (const filterItem of this.filterItems) {
166
+ if (itemChecked === null) {
167
+ itemChecked = filterItem.checked;
168
+ }
169
+ else if (itemChecked !== filterItem.checked) {
170
+ itemChecked = undefined;
171
+ break;
172
+ }
173
+ }
174
+ if (itemChecked === null) {
175
+ itemChecked = false;
176
+ }
177
+ this.allItem.checked = itemChecked;
178
+ }
179
+ updateCollapsedOfAll() {
180
+ let hasItemExpanded = false;
181
+ for (const filterItem of this.filterItems) {
182
+ if (!filterItem.collapsed) {
183
+ hasItemExpanded = true;
184
+ break;
185
+ }
186
+ }
187
+ this.allItem.collapsed = !hasItemExpanded;
188
+ }
189
+ }
190
+ TreeviewComponent.decorators = [
191
+ { type: Component, args: [{
192
+ selector: 'ngx-treeview',
193
+ template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\">\n <div class=\"form-inline row-item\">\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg *ngSwitchCase=\"true\" width=\"0.8rem\" height=\"0.8rem\" viewBox=\"0 0 16 16\" class=\"bi bi-caret-right-fill\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\" />\n </svg>\n <svg *ngSwitchCase=\"false\" width=\"0.8rem\" height=\"0.8rem\" viewBox=\"0 0 16 16\" class=\"bi bi-caret-down-fill\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg>\n </i>\n <div class=\"form-check\">\n <input type=\"checkbox\" class=\"form-check-input\" [(ngModel)]=\"item.checked\" (ngModelChange)=\"onCheckedChange()\"\n [disabled]=\"item.disabled\" [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{item.text}}\n </label>\n </div>\n </div>\n</ng-template>\n<ng-template #defaultHeaderTemplate let-config=\"config\" let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\" let-onFilterTextChange=\"onFilterTextChange\">\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\n <div class=\"col-12\">\n <input class=\"form-control\" type=\"text\" [placeholder]=\"i18n.getFilterPlaceholder()\" [(ngModel)]=\"filterText\"\n (ngModelChange)=\"onFilterTextChange($event)\" />\n </div>\n </div>\n <div *ngIf=\"hasFilterItems\">\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row row-all\">\n <div class=\"col-12\">\n <div class=\"form-check form-check-inline\" *ngIf=\"config.hasAllCheckBox\">\n <input type=\"checkbox\" class=\"form-check-input\" [(ngModel)]=\"item.checked\" (ngModelChange)=\"onCheckedChange()\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{i18n.getAllCheckboxText()}}\n </label>\n </div>\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right form-check-label\" (click)=\"onCollapseExpand()\">\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg *ngSwitchCase=\"true\" width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" class=\"bi bi-arrows-angle-expand\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\"\n d=\"M1.5 10.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path fill-rule=\"evenodd\"\n d=\"M6.354 9.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm8.5-8.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path fill-rule=\"evenodd\"\n d=\"M10.036 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0V2h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n <svg *ngSwitchCase=\"false\" width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" class=\"bi bi-arrows-angle-contract\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\"\n d=\"M9.5 2.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path fill-rule=\"evenodd\"\n d=\"M14.354 1.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 1 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm-7.5 7.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path fill-rule=\"evenodd\"\n d=\"M2.036 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V10h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n </i>\n </label>\n </div>\n </div>\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\"></div>\n </div>\n</ng-template>\n<div class=\"treeview-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate || defaultHeaderTemplate\"\n [ngTemplateOutletContext]=\"headerTemplateContext\">\n </ng-template>\n</div>\n<div [ngSwitch]=\"hasFilterItems\">\n <div *ngSwitchCase=\"true\" class=\"treeview-container\" [style.max-height.px]=\"maxHeight\">\n <ngx-treeview-item *ngFor=\"let item of filterItems\" [config]=\"config\" [item]=\"item\"\n [template]=\"itemTemplate || defaultItemTemplate\" (checkedChange)=\"onItemCheckedChange(item, $event)\">\n </ngx-treeview-item>\n </div>\n <div *ngSwitchCase=\"false\" class=\"treeview-text\">\n {{i18n.getFilterNoItemsFoundText()}}\n </div>\n</div>\n",
194
+ styles: [":host .treeview-header .row-filter{margin-bottom:.5rem}:host .treeview-header .row-all .bi{cursor:pointer}:host .treeview-container .row-item{margin-bottom:.3rem;flex-wrap:nowrap}:host .treeview-container .row-item .bi{cursor:pointer;margin-right:.3rem}.treeview-container{overflow-y:auto;padding-right:.3rem}.treeview-text{padding:.3rem 0;white-space:nowrap}\n"]
195
+ },] }
196
+ ];
197
+ TreeviewComponent.ctorParameters = () => [
198
+ { type: TreeviewI18n },
199
+ { type: TreeviewConfig },
200
+ { type: TreeviewEventParser }
201
+ ];
202
+ TreeviewComponent.propDecorators = {
203
+ headerTemplate: [{ type: Input }],
204
+ itemTemplate: [{ type: Input }],
205
+ items: [{ type: Input }],
206
+ config: [{ type: Input }],
207
+ selectedChange: [{ type: Output }],
208
+ filterChange: [{ type: Output }]
209
+ };
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUQsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxNQUFNLGtCQUFtQixTQUFRLFlBQVk7SUFFM0MsWUFBWSxJQUFrQjtRQUM1QixLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxL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LE1BQU07YUFDUDtTQUNGO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3hCLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDckI7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDNUIsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUN6QixlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixNQUFNO2FBQ1A7U0FDRjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsZUFBZSxDQUFDO0lBQzVDLENBQUM7OztZQXpMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLDJtS0FBd0M7O2FBRXpDOzs7WUE5Q1EsWUFBWTtZQUVaLGNBQWM7WUFJZCxtQkFBbUI7Ozs2QkEwQ3pCLEtBQUs7MkJBQ0wsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7NkJBQ0wsTUFBTTsyQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgVGVtcGxhdGVSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOaWwsIGluY2x1ZGVzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyZWV2aWV3STE4biB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1pMThuJztcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSwgVHJlZXZpZXdTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5pbXBvcnQgeyBUcmVldmlld0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1jb25maWcnO1xuaW1wb3J0IHsgVHJlZXZpZXdIZWFkZXJUZW1wbGF0ZUNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaGVhZGVyLXRlbXBsYXRlLWNvbnRleHQnO1xuaW1wb3J0IHsgVHJlZXZpZXdJdGVtVGVtcGxhdGVDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWl0ZW0tdGVtcGxhdGUtY29udGV4dCc7XG5pbXBvcnQgeyBUcmVldmlld0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdHJlZXZpZXctaGVscGVyJztcbmltcG9ydCB7IFRyZWV2aWV3RXZlbnRQYXJzZXIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3RyZWV2aWV3LWV2ZW50LXBhcnNlcic7XG5cbmNsYXNzIEZpbHRlclRyZWV2aWV3SXRlbSBleHRlbmRzIFRyZWV2aWV3SXRlbSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmSXRlbTogVHJlZXZpZXdJdGVtO1xuICBjb25zdHJ1Y3RvcihpdGVtOiBUcmVldmlld0l0ZW0pIHtcbiAgICBzdXBlcih7XG4gICAgICB0ZXh0OiBpdGVtLnRleHQsXG4gICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgIGRpc2FibGVkOiBpdGVtLmRpc2FibGVkLFxuICAgICAgY2hlY2tlZDogaXRlbS5jaGVja2VkLFxuICAgICAgY29sbGFwc2VkOiBpdGVtLmNvbGxhcHNlZCxcbiAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuXG4gICAgfSk7XG4gICAgdGhpcy5yZWZJdGVtID0gaXRlbTtcbiAgfVxuXG4gIHVwZGF0ZVJlZkNoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEZpbHRlclRyZWV2aWV3SXRlbSkge1xuICAgICAgICBjaGlsZC51cGRhdGVSZWZDaGVja2VkKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgcmVmQ2hlY2tlZCA9IHRoaXMuY2hlY2tlZDtcbiAgICBpZiAocmVmQ2hlY2tlZCkge1xuICAgICAgZm9yIChjb25zdCByZWZDaGlsZCBvZiB0aGlzLnJlZkl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgaWYgKCFyZWZDaGlsZC5jaGVja2VkKSB7XG4gICAgICAgICAgcmVmQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucmVmSXRlbS5jaGVja2VkID0gcmVmQ2hlY2tlZDtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdHJlZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVldmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRyZWV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8VHJlZXZpZXdIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFRyZWV2aWV3SXRlbVRlbXBsYXRlQ29udGV4dD47XG4gIEBJbnB1dCgpIGl0ZW1zOiBUcmVldmlld0l0ZW1bXTtcbiAgQElucHV0KCkgY29uZmlnOiBUcmVldmlld0NvbmZpZztcbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBoZWFkZXJUZW1wbGF0ZUNvbnRleHQ6IFRyZWV2aWV3SGVhZGVyVGVtcGxhdGVDb250ZXh0O1xuICBhbGxJdGVtOiBUcmVldmlld0l0ZW07XG4gIGZpbHRlclRleHQgPSAnJztcbiAgZmlsdGVySXRlbXM6IFRyZWV2aWV3SXRlbVtdO1xuICBzZWxlY3Rpb246IFRyZWV2aWV3U2VsZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpMThuOiBUcmVldmlld0kxOG4sXG4gICAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlnOiBUcmVldmlld0NvbmZpZyxcbiAgICBwcml2YXRlIGV2ZW50UGFyc2VyOiBUcmVldmlld0V2ZW50UGFyc2VyXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5kZWZhdWx0Q29uZmlnO1xuICAgIHRoaXMuYWxsSXRlbSA9IG5ldyBUcmVldmlld0l0ZW0oeyB0ZXh0OiAnQWxsJywgdmFsdWU6IHVuZGVmaW5lZCB9KTtcbiAgfVxuXG4gIGdldCBoYXNGaWx0ZXJJdGVtcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzTmlsKHRoaXMuZmlsdGVySXRlbXMpICYmIHRoaXMuZmlsdGVySXRlbXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBtYXhIZWlnaHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcubWF4SGVpZ2h0fWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUhlYWRlclRlbXBsYXRlQ29udGV4dCgpO1xuICAgIHRoaXMuZ2VuZXJhdGVTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtc1NpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaXRlbXM7XG4gICAgaWYgKCFpc05pbChpdGVtc1NpbXBsZUNoYW5nZSkgJiYgIWlzTmlsKHRoaXMuaXRlbXMpKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZpbHRlckl0ZW1zKCk7XG4gICAgICB0aGlzLnVwZGF0ZUNvbGxhcHNlZE9mQWxsKCk7XG4gICAgICB0aGlzLnJhaXNlU2VsZWN0ZWRDaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBvbkFsbENvbGxhcHNlRXhwYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuYWxsSXRlbS5jb2xsYXBzZWQgPSAhdGhpcy5hbGxJdGVtLmNvbGxhcHNlZDtcbiAgICB0aGlzLmZpbHRlckl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNldENvbGxhcHNlZFJlY3Vyc2l2ZSh0aGlzLmFsbEl0ZW0uY29sbGFwc2VkKSk7XG4gIH1cblxuICBvbkZpbHRlclRleHRDaGFuZ2UodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJUZXh0ID0gdGV4dDtcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRleHQpO1xuICAgIHRoaXMudXBkYXRlRmlsdGVySXRlbXMoKTtcbiAgfVxuXG4gIG9uQWxsQ2hlY2tlZENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjaGVja2VkID0gdGhpcy5hbGxJdGVtLmNoZWNrZWQ7XG4gICAgdGhpcy5maWx0ZXJJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5zZXRDaGVja2VkUmVjdXJzaXZlKGNoZWNrZWQpO1xuICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgICAgaXRlbS51cGRhdGVSZWZDaGVja2VkKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJhaXNlU2VsZWN0ZWRDaGFuZ2UoKTtcbiAgfVxuXG4gIG9uSXRlbUNoZWNrZWRDaGFuZ2UoaXRlbTogVHJlZXZpZXdJdGVtLCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgIGl0ZW0udXBkYXRlUmVmQ2hlY2tlZCgpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlQ2hlY2tlZE9mQWxsKCk7XG4gICAgdGhpcy5yYWlzZVNlbGVjdGVkQ2hhbmdlKCk7XG4gIH1cblxuICByYWlzZVNlbGVjdGVkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVTZWxlY3Rpb24oKTtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmV2ZW50UGFyc2VyLmdldFNlbGVjdGVkQ2hhbmdlKHRoaXMpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHZhbHVlcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUhlYWRlclRlbXBsYXRlQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlclRlbXBsYXRlQ29udGV4dCA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcsXG4gICAgICBpdGVtOiB0aGlzLmFsbEl0ZW0sXG4gICAgICBvbkNoZWNrZWRDaGFuZ2U6ICgpID0+IHRoaXMub25BbGxDaGVja2VkQ2hhbmdlKCksXG4gICAgICBvbkNvbGxhcHNlRXhwYW5kOiAoKSA9PiB0aGlzLm9uQWxsQ29sbGFwc2VFeHBhbmQoKSxcbiAgICAgIG9uRmlsdGVyVGV4dENoYW5nZTogKHRleHQpID0+IHRoaXMub25GaWx0ZXJUZXh0Q2hhbmdlKHRleHQpXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgbGV0IGNoZWNrZWRJdGVtczogVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICBsZXQgdW5jaGVja2VkSXRlbXM6IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgaWYgKCFpc05pbCh0aGlzLml0ZW1zKSkge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gVHJlZXZpZXdIZWxwZXIuY29uY2F0U2VsZWN0aW9uKHRoaXMuaXRlbXMsIGNoZWNrZWRJdGVtcywgdW5jaGVja2VkSXRlbXMpO1xuICAgICAgY2hlY2tlZEl0ZW1zID0gc2VsZWN0aW9uLmNoZWNrZWQ7XG4gICAgICB1bmNoZWNrZWRJdGVtcyA9IHNlbGVjdGlvbi51bmNoZWNrZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3Rpb24gPSB7XG4gICAgICBjaGVja2VkSXRlbXMsXG4gICAgICB1bmNoZWNrZWRJdGVtc1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpbHRlckl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbHRlclRleHQgIT09ICcnKSB7XG4gICAgICBjb25zdCBmaWx0ZXJJdGVtczogVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICAgIGNvbnN0IGZpbHRlclRleHQgPSB0aGlzLmZpbHRlclRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgbmV3SXRlbSA9IHRoaXMuZmlsdGVySXRlbShpdGVtLCBmaWx0ZXJUZXh0KTtcbiAgICAgICAgaWYgKCFpc05pbChuZXdJdGVtKSkge1xuICAgICAgICAgIGZpbHRlckl0ZW1zLnB1c2gobmV3SXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWx0ZXJJdGVtcyA9IGZpbHRlckl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlckl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUNoZWNrZWRPZkFsbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJJdGVtKGl0ZW06IFRyZWV2aWV3SXRlbSwgZmlsdGVyVGV4dDogc3RyaW5nKTogVHJlZXZpZXdJdGVtIHtcbiAgICBjb25zdCBpc01hdGNoID0gaW5jbHVkZXMoaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCksIGZpbHRlclRleHQpO1xuICAgIGlmIChpc01hdGNoKSB7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFpc05pbChpdGVtLmNoaWxkcmVuKSkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbjogVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdDaGlsZCA9IHRoaXMuZmlsdGVySXRlbShjaGlsZCwgZmlsdGVyVGV4dCk7XG4gICAgICAgICAgaWYgKCFpc05pbChuZXdDaGlsZCkpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gobmV3Q2hpbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgbmV3SXRlbSA9IG5ldyBGaWx0ZXJUcmVldmlld0l0ZW0oaXRlbSk7XG4gICAgICAgICAgbmV3SXRlbS5jb2xsYXBzZWQgPSBmYWxzZTtcbiAgICAgICAgICBuZXdJdGVtLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDaGVja2VkT2ZBbGwoKTogdm9pZCB7XG4gICAgbGV0IGl0ZW1DaGVja2VkOiBib29sZWFuID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGZpbHRlckl0ZW0gb2YgdGhpcy5maWx0ZXJJdGVtcykge1xuICAgICAgaWYgKGl0ZW1DaGVja2VkID09PSBudWxsKSB7XG4gICAgICAgIGl0ZW1DaGVja2VkID0gZmlsdGVySXRlbS5jaGVja2VkO1xuICAgICAgfSBlbHNlIGlmIChpdGVtQ2hlY2tlZCAhPT0gZmlsdGVySXRlbS5jaGVja2VkKSB7XG4gICAgICAgIGl0ZW1DaGVja2VkID0gdW5kZWZpbmVkO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXRlbUNoZWNrZWQgPT09IG51bGwpIHtcbiAgICAgIGl0ZW1DaGVja2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5hbGxJdGVtLmNoZWNrZWQgPSBpdGVtQ2hlY2tlZDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29sbGFwc2VkT2ZBbGwoKTogdm9pZCB7XG4gICAgbGV0IGhhc0l0ZW1FeHBhbmRlZCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgZmlsdGVySXRlbSBvZiB0aGlzLmZpbHRlckl0ZW1zKSB7XG4gICAgICBpZiAoIWZpbHRlckl0ZW0uY29sbGFwc2VkKSB7XG4gICAgICAgIGhhc0l0ZW1FeHBhbmRlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYWxsSXRlbS5jb2xsYXBzZWQgPSAhaGFzSXRlbUV4cGFuZGVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { isNil } from 'lodash';
3
+ import { TreeviewConfig } from '../../models/treeview-config';
4
+ export class TreeviewItemComponent {
5
+ constructor(defaultConfig) {
6
+ this.defaultConfig = defaultConfig;
7
+ this.checkedChange = new EventEmitter();
8
+ this.onCollapseExpand = () => {
9
+ this.item.collapsed = !this.item.collapsed;
10
+ };
11
+ this.onCheckedChange = () => {
12
+ const checked = this.item.checked;
13
+ if (!isNil(this.item.children) && !this.config.decoupleChildFromParent) {
14
+ this.item.children.forEach(child => child.setCheckedRecursive(checked));
15
+ }
16
+ this.checkedChange.emit(checked);
17
+ };
18
+ this.config = this.defaultConfig;
19
+ }
20
+ onChildCheckedChange(child, checked) {
21
+ if (!this.config.decoupleChildFromParent) {
22
+ let itemChecked = null;
23
+ for (const childItem of this.item.children) {
24
+ if (itemChecked === null) {
25
+ itemChecked = childItem.checked;
26
+ }
27
+ else if (itemChecked !== childItem.checked) {
28
+ itemChecked = undefined;
29
+ break;
30
+ }
31
+ }
32
+ if (itemChecked === null) {
33
+ itemChecked = false;
34
+ }
35
+ if (this.item.checked !== itemChecked) {
36
+ this.item.checked = itemChecked;
37
+ }
38
+ }
39
+ this.checkedChange.emit(checked);
40
+ }
41
+ }
42
+ TreeviewItemComponent.decorators = [
43
+ { type: Component, args: [{
44
+ selector: 'ngx-treeview-item',
45
+ template: "<div *ngIf=\"item\" class=\"treeview-item\">\n <ng-template [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{item: item, onCollapseExpand: onCollapseExpand, onCheckedChange: onCheckedChange}\">\n </ng-template>\n <div *ngIf=\"!item.collapsed\">\n <ngx-treeview-item [config]=\"config\" *ngFor=\"let child of item.children\" [item]=\"child\" [template]=\"template\"\n (checkedChange)=\"onChildCheckedChange(child, $event)\">\n </ngx-treeview-item>\n </div>\n</div>\n",
46
+ styles: [":host{display:block}:host .treeview-item{white-space:nowrap}:host .treeview-item .treeview-item{margin-left:2rem}\n"]
47
+ },] }
48
+ ];
49
+ TreeviewItemComponent.ctorParameters = () => [
50
+ { type: TreeviewConfig }
51
+ ];
52
+ TreeviewItemComponent.propDecorators = {
53
+ config: [{ type: Input }],
54
+ template: [{ type: Input }],
55
+ item: [{ type: Input }],
56
+ checkedChange: [{ type: Output }]
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9jb21wb25lbnRzL3RyZWV2aWV3LWl0ZW0vdHJlZXZpZXctaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVE5RCxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLFlBQ1UsYUFBNkI7UUFBN0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBSDdCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVF0RCxxQkFBZ0IsR0FBRyxHQUFHLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxDQUFDLENBQUE7UUFFRCxvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFO2dCQUN0RSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUN6RTtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQTtRQWJDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBY0Qsb0JBQW9CLENBQUMsS0FBbUIsRUFBRSxPQUFnQjtRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRTtZQUN4QyxJQUFJLFdBQVcsR0FBWSxJQUFJLENBQUM7WUFDaEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDMUMsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO29CQUN4QixXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztpQkFDakM7cUJBQU0sSUFBSSxXQUFXLEtBQUssU0FBUyxDQUFDLE9BQU8sRUFBRTtvQkFDNUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztvQkFDeEIsTUFBTTtpQkFDUDthQUNGO1lBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUN4QixXQUFXLEdBQUcsS0FBSyxDQUFDO2FBQ3JCO1lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQzthQUNqQztTQUVGO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7O1lBcERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qiw2ZkFBNkM7O2FBRTlDOzs7WUFQUSxjQUFjOzs7cUJBU3BCLEtBQUs7dUJBQ0wsS0FBSzttQkFDTCxLQUFLOzRCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1pdGVtJztcbmltcG9ydCB7IFRyZWV2aWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWNvbmZpZyc7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW1UZW1wbGF0ZUNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaXRlbS10ZW1wbGF0ZS1jb250ZXh0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXRyZWV2aWV3LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZXZpZXctaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWV2aWV3LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVldmlld0l0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IFRyZWV2aWV3Q29uZmlnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8VHJlZXZpZXdJdGVtVGVtcGxhdGVDb250ZXh0PjtcbiAgQElucHV0KCkgaXRlbTogVHJlZXZpZXdJdGVtO1xuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRlZmF1bHRDb25maWc6IFRyZWV2aWV3Q29uZmlnXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5kZWZhdWx0Q29uZmlnO1xuICB9XG5cbiAgb25Db2xsYXBzZUV4cGFuZCA9ICgpID0+IHtcbiAgICB0aGlzLml0ZW0uY29sbGFwc2VkID0gIXRoaXMuaXRlbS5jb2xsYXBzZWQ7XG4gIH1cblxuICBvbkNoZWNrZWRDaGFuZ2UgPSAoKSA9PiB7XG4gICAgY29uc3QgY2hlY2tlZCA9IHRoaXMuaXRlbS5jaGVja2VkO1xuICAgIGlmICghaXNOaWwodGhpcy5pdGVtLmNoaWxkcmVuKSAmJiAhdGhpcy5jb25maWcuZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQpIHtcbiAgICAgIHRoaXMuaXRlbS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLnNldENoZWNrZWRSZWN1cnNpdmUoY2hlY2tlZCkpO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdChjaGVja2VkKTtcbiAgfVxuXG4gIG9uQ2hpbGRDaGVja2VkQ2hhbmdlKGNoaWxkOiBUcmVldmlld0l0ZW0sIGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlY291cGxlQ2hpbGRGcm9tUGFyZW50KSB7XG4gICAgICBsZXQgaXRlbUNoZWNrZWQ6IGJvb2xlYW4gPSBudWxsO1xuICAgICAgZm9yIChjb25zdCBjaGlsZEl0ZW0gb2YgdGhpcy5pdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIGlmIChpdGVtQ2hlY2tlZCA9PT0gbnVsbCkge1xuICAgICAgICAgIGl0ZW1DaGVja2VkID0gY2hpbGRJdGVtLmNoZWNrZWQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbUNoZWNrZWQgIT09IGNoaWxkSXRlbS5jaGVja2VkKSB7XG4gICAgICAgICAgaXRlbUNoZWNrZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1DaGVja2VkID09PSBudWxsKSB7XG4gICAgICAgIGl0ZW1DaGVja2VkID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLml0ZW0uY2hlY2tlZCAhPT0gaXRlbUNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5pdGVtLmNoZWNrZWQgPSBpdGVtQ2hlY2tlZDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KGNoZWNrZWQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TreeviewComponent } from './components/treeview/treeview.component';
5
+ import { TreeviewItemComponent } from './components/treeview-item/treeview-item.component';
6
+ import { TreeviewPipe } from './pipes/treeview.pipe';
7
+ import { TreeviewConfig } from './models/treeview-config';
8
+ import { DefaultTreeviewEventParser, TreeviewEventParser } from './helpers/treeview-event-parser';
9
+ export class TreeviewModule {
10
+ static forRoot() {
11
+ return {
12
+ ngModule: TreeviewModule,
13
+ providers: [
14
+ TreeviewConfig,
15
+ { provide: TreeviewEventParser, useClass: DefaultTreeviewEventParser }
16
+ ]
17
+ };
18
+ }
19
+ }
20
+ TreeviewModule.decorators = [
21
+ { type: NgModule, args: [{
22
+ imports: [
23
+ FormsModule,
24
+ CommonModule
25
+ ],
26
+ declarations: [
27
+ TreeviewComponent,
28
+ TreeviewItemComponent,
29
+ TreeviewPipe
30
+ ],
31
+ exports: [
32
+ TreeviewComponent,
33
+ TreeviewPipe,
34
+ ],
35
+ providers: [],
36
+ },] }
37
+ ];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdHJlZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRyZWV2aWV3L2RyLXRyZWUtdmlldy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBb0JsRyxNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUU7YUFDekU7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBMUJKLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsV0FBVztvQkFDWCxZQUFZO2lCQUNmO2dCQUNELFlBQVksRUFBRTtvQkFDVixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsWUFBWTtpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsaUJBQWlCO29CQUNqQixZQUFZO2lCQUNmO2dCQUNELFNBQVMsRUFBRSxFQUFFO2FBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyZWV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdHJlZXZpZXctaXRlbS90cmVldmlldy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVldmlld1BpcGUgfSBmcm9tICcuL3BpcGVzL3RyZWV2aWV3LnBpcGUnO1xuaW1wb3J0IHsgVHJlZXZpZXdDb25maWcgfSBmcm9tICcuL21vZGVscy90cmVldmlldy1jb25maWcnO1xuaW1wb3J0IHsgRGVmYXVsdFRyZWV2aWV3RXZlbnRQYXJzZXIsIFRyZWV2aWV3RXZlbnRQYXJzZXIgfSBmcm9tICcuL2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFRyZWV2aWV3Q29tcG9uZW50LFxuICAgICAgICBUcmVldmlld0l0ZW1Db21wb25lbnQsXG4gICAgICAgIFRyZWV2aWV3UGlwZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUcmVldmlld0NvbXBvbmVudCxcbiAgICAgICAgVHJlZXZpZXdQaXBlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBUcmVldmlld01vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUcmVldmlld01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFRyZWV2aWV3TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgVHJlZXZpZXdDb25maWcsXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBUcmVldmlld0V2ZW50UGFyc2VyLCB1c2VDbGFzczogRGVmYXVsdFRyZWV2aWV3RXZlbnRQYXJzZXIgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { isNil } from 'lodash';
3
+ export class TreeviewEventParser {
4
+ }
5
+ TreeviewEventParser.decorators = [
6
+ { type: Injectable }
7
+ ];
8
+ export class DefaultTreeviewEventParser extends TreeviewEventParser {
9
+ getSelectedChange(component) {
10
+ const checkedItems = component.selection.checkedItems;
11
+ if (!isNil(checkedItems)) {
12
+ return checkedItems.map(item => item.value);
13
+ }
14
+ return [];
15
+ }
16
+ }
17
+ DefaultTreeviewEventParser.decorators = [
18
+ { type: Injectable }
19
+ ];
20
+ export class DownlineTreeviewEventParser extends TreeviewEventParser {
21
+ getSelectedChange(component) {
22
+ const items = component.items;
23
+ if (!isNil(items)) {
24
+ let result = [];
25
+ items.forEach(item => {
26
+ const links = this.getLinks(item, null);
27
+ if (!isNil(links)) {
28
+ result = result.concat(links);
29
+ }
30
+ });
31
+ return result;
32
+ }
33
+ return [];
34
+ }
35
+ getLinks(item, parent) {
36
+ if (!isNil(item.children)) {
37
+ const link = {
38
+ item,
39
+ parent
40
+ };
41
+ let result = [];
42
+ item.children.forEach(child => {
43
+ const links = this.getLinks(child, link);
44
+ if (!isNil(links)) {
45
+ result = result.concat(links);
46
+ }
47
+ });
48
+ return result;
49
+ }
50
+ if (item.checked) {
51
+ return [{
52
+ item,
53
+ parent
54
+ }];
55
+ }
56
+ return null;
57
+ }
58
+ }
59
+ DownlineTreeviewEventParser.decorators = [
60
+ { type: Injectable }
61
+ ];
62
+ export class OrderDownlineTreeviewEventParser extends TreeviewEventParser {
63
+ constructor() {
64
+ super(...arguments);
65
+ this.currentDownlines = [];
66
+ this.parser = new DownlineTreeviewEventParser();
67
+ }
68
+ getSelectedChange(component) {
69
+ const newDownlines = this.parser.getSelectedChange(component);
70
+ if (this.currentDownlines.length === 0) {
71
+ this.currentDownlines = newDownlines;
72
+ }
73
+ else {
74
+ const intersectDownlines = [];
75
+ this.currentDownlines.forEach(downline => {
76
+ let foundIndex = -1;
77
+ const length = newDownlines.length;
78
+ for (let i = 0; i < length; i++) {
79
+ if (downline.item.value === newDownlines[i].item.value) {
80
+ foundIndex = i;
81
+ break;
82
+ }
83
+ }
84
+ if (foundIndex !== -1) {
85
+ intersectDownlines.push(newDownlines[foundIndex]);
86
+ newDownlines.splice(foundIndex, 1);
87
+ }
88
+ });
89
+ this.currentDownlines = intersectDownlines.concat(newDownlines);
90
+ }
91
+ return this.currentDownlines;
92
+ }
93
+ }
94
+ OrderDownlineTreeviewEventParser.decorators = [
95
+ { type: Injectable }
96
+ ];
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctZXZlbnQtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSy9CLE1BQU0sT0FBZ0IsbUJBQW1COzs7WUFEeEMsVUFBVTs7QUFNWCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsbUJBQW1CO0lBQ2pFLGlCQUFpQixDQUFDLFNBQTRCO1FBQzVDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEIsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzs7WUFURixVQUFVOztBQWtCWCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBQ2xFLGlCQUFpQixDQUFDLFNBQTRCO1FBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1lBQ3hDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNqQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0I7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxRQUFRLENBQUMsSUFBa0IsRUFBRSxNQUE0QjtRQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixNQUFNLElBQUksR0FBRztnQkFDWCxJQUFJO2dCQUNKLE1BQU07YUFDUCxDQUFDO1lBQ0YsSUFBSSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMvQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLENBQUM7b0JBQ04sSUFBSTtvQkFDSixNQUFNO2lCQUNQLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUE1Q0YsVUFBVTs7QUFnRFgsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLG1CQUFtQjtJQUR6RTs7UUFFVSxxQkFBZ0IsR0FBMkIsRUFBRSxDQUFDO1FBQzlDLFdBQU0sR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUM7SUE2QnJELENBQUM7SUEzQkMsaUJBQWlCLENBQUMsU0FBNEI7UUFDNUMsTUFBTSxZQUFZLEdBQTJCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxNQUFNLGtCQUFrQixHQUEyQixFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdkMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQy9CLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7d0JBQ3RELFVBQVUsR0FBRyxDQUFDLENBQUM7d0JBQ2YsTUFBTTtxQkFDUDtpQkFDRjtnQkFFRCxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDckIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUNsRCxZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDcEM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDOzs7WUEvQkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJy4uL21vZGVscy90cmVldmlldy1pdGVtJztcbmltcG9ydCB7IFRyZWV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJlZXZpZXdFdmVudFBhcnNlciB7XG4gIGFic3RyYWN0IGdldFNlbGVjdGVkQ2hhbmdlKGNvbXBvbmVudDogVHJlZXZpZXdDb21wb25lbnQpOiBhbnlbXTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERlZmF1bHRUcmVldmlld0V2ZW50UGFyc2VyIGV4dGVuZHMgVHJlZXZpZXdFdmVudFBhcnNlciB7XG4gIGdldFNlbGVjdGVkQ2hhbmdlKGNvbXBvbmVudDogVHJlZXZpZXdDb21wb25lbnQpOiBhbnlbXSB7XG4gICAgY29uc3QgY2hlY2tlZEl0ZW1zID0gY29tcG9uZW50LnNlbGVjdGlvbi5jaGVja2VkSXRlbXM7XG4gICAgaWYgKCFpc05pbChjaGVja2VkSXRlbXMpKSB7XG4gICAgICByZXR1cm4gY2hlY2tlZEl0ZW1zLm1hcChpdGVtID0+IGl0ZW0udmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvd25saW5lVHJlZXZpZXdJdGVtIHtcbiAgaXRlbTogVHJlZXZpZXdJdGVtO1xuICBwYXJlbnQ6IERvd25saW5lVHJlZXZpZXdJdGVtO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG93bmxpbmVUcmVldmlld0V2ZW50UGFyc2VyIGV4dGVuZHMgVHJlZXZpZXdFdmVudFBhcnNlciB7XG4gIGdldFNlbGVjdGVkQ2hhbmdlKGNvbXBvbmVudDogVHJlZXZpZXdDb21wb25lbnQpOiBhbnlbXSB7XG4gICAgY29uc3QgaXRlbXMgPSBjb21wb25lbnQuaXRlbXM7XG4gICAgaWYgKCFpc05pbChpdGVtcykpIHtcbiAgICAgIGxldCByZXN1bHQ6IERvd25saW5lVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGxpbmtzID0gdGhpcy5nZXRMaW5rcyhpdGVtLCBudWxsKTtcbiAgICAgICAgaWYgKCFpc05pbChsaW5rcykpIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGxpbmtzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5rcyhpdGVtOiBUcmVldmlld0l0ZW0sIHBhcmVudDogRG93bmxpbmVUcmVldmlld0l0ZW0pOiBEb3dubGluZVRyZWV2aWV3SXRlbVtdIHtcbiAgICBpZiAoIWlzTmlsKGl0ZW0uY2hpbGRyZW4pKSB7XG4gICAgICBjb25zdCBsaW5rID0ge1xuICAgICAgICBpdGVtLFxuICAgICAgICBwYXJlbnRcbiAgICAgIH07XG4gICAgICBsZXQgcmVzdWx0OiBEb3dubGluZVRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICBpdGVtLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICBjb25zdCBsaW5rcyA9IHRoaXMuZ2V0TGlua3MoY2hpbGQsIGxpbmspO1xuICAgICAgICBpZiAoIWlzTmlsKGxpbmtzKSkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQobGlua3MpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAoaXRlbS5jaGVja2VkKSB7XG4gICAgICByZXR1cm4gW3tcbiAgICAgICAgaXRlbSxcbiAgICAgICAgcGFyZW50XG4gICAgICB9XTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3JkZXJEb3dubGluZVRyZWV2aWV3RXZlbnRQYXJzZXIgZXh0ZW5kcyBUcmVldmlld0V2ZW50UGFyc2VyIHtcbiAgcHJpdmF0ZSBjdXJyZW50RG93bmxpbmVzOiBEb3dubGluZVRyZWV2aWV3SXRlbVtdID0gW107XG4gIHByaXZhdGUgcGFyc2VyID0gbmV3IERvd25saW5lVHJlZXZpZXdFdmVudFBhcnNlcigpO1xuXG4gIGdldFNlbGVjdGVkQ2hhbmdlKGNvbXBvbmVudDogVHJlZXZpZXdDb21wb25lbnQpOiBhbnlbXSB7XG4gICAgY29uc3QgbmV3RG93bmxpbmVzOiBEb3dubGluZVRyZWV2aWV3SXRlbVtdID0gdGhpcy5wYXJzZXIuZ2V0U2VsZWN0ZWRDaGFuZ2UoY29tcG9uZW50KTtcbiAgICBpZiAodGhpcy5jdXJyZW50RG93bmxpbmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5jdXJyZW50RG93bmxpbmVzID0gbmV3RG93bmxpbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbnRlcnNlY3REb3dubGluZXM6IERvd25saW5lVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICAgIHRoaXMuY3VycmVudERvd25saW5lcy5mb3JFYWNoKGRvd25saW5lID0+IHtcbiAgICAgICAgbGV0IGZvdW5kSW5kZXggPSAtMTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gbmV3RG93bmxpbmVzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChkb3dubGluZS5pdGVtLnZhbHVlID09PSBuZXdEb3dubGluZXNbaV0uaXRlbS52YWx1ZSkge1xuICAgICAgICAgICAgZm91bmRJbmRleCA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm91bmRJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICBpbnRlcnNlY3REb3dubGluZXMucHVzaChuZXdEb3dubGluZXNbZm91bmRJbmRleF0pO1xuICAgICAgICAgIG5ld0Rvd25saW5lcy5zcGxpY2UoZm91bmRJbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmN1cnJlbnREb3dubGluZXMgPSBpbnRlcnNlY3REb3dubGluZXMuY29uY2F0KG5ld0Rvd25saW5lcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudERvd25saW5lcztcbiAgfVxufVxuIl19
@@ -0,0 +1,82 @@
1
+ import { concat, isNil, pull } from 'lodash';
2
+ export const TreeviewHelper = {
3
+ findItem,
4
+ findItemInList,
5
+ findParent,
6
+ removeItem,
7
+ concatSelection
8
+ };
9
+ function findItem(root, value) {
10
+ if (isNil(root)) {
11
+ return undefined;
12
+ }
13
+ if (root.value === value) {
14
+ return root;
15
+ }
16
+ if (root.children) {
17
+ for (const child of root.children) {
18
+ const foundItem = findItem(child, value);
19
+ if (foundItem) {
20
+ return foundItem;
21
+ }
22
+ }
23
+ }
24
+ return undefined;
25
+ }
26
+ function findItemInList(list, value) {
27
+ if (isNil(list)) {
28
+ return undefined;
29
+ }
30
+ for (const item of list) {
31
+ const foundItem = findItem(item, value);
32
+ if (foundItem) {
33
+ return foundItem;
34
+ }
35
+ }
36
+ return undefined;
37
+ }
38
+ function findParent(root, item) {
39
+ if (isNil(root) || isNil(root.children)) {
40
+ return undefined;
41
+ }
42
+ for (const child of root.children) {
43
+ if (child === item) {
44
+ return root;
45
+ }
46
+ else {
47
+ const parent = findParent(child, item);
48
+ if (parent) {
49
+ return parent;
50
+ }
51
+ }
52
+ }
53
+ return undefined;
54
+ }
55
+ function removeItem(root, item) {
56
+ const parent = findParent(root, item);
57
+ if (parent) {
58
+ pull(parent.children, item);
59
+ if (parent.children.length === 0) {
60
+ parent.children = undefined;
61
+ }
62
+ else {
63
+ parent.correctChecked();
64
+ }
65
+ return true;
66
+ }
67
+ return false;
68
+ }
69
+ function concatSelection(items, checked, unchecked) {
70
+ let checkedItems = [...checked];
71
+ let uncheckedItems = [...unchecked];
72
+ for (const item of items) {
73
+ const selection = item.getSelection();
74
+ checkedItems = concat(checkedItems, selection.checkedItems);
75
+ uncheckedItems = concat(uncheckedItems, selection.uncheckedItems);
76
+ }
77
+ return {
78
+ checked: checkedItems,
79
+ unchecked: uncheckedItems
80
+ };
81
+ }
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzdDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixRQUFRO0lBQ1IsY0FBYztJQUNkLFVBQVU7SUFDVixVQUFVO0lBQ1YsZUFBZTtDQUNoQixDQUFDO0FBRUYsU0FBUyxRQUFRLENBQUMsSUFBa0IsRUFBRSxLQUFVO0lBQzlDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2YsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxTQUFTLENBQUM7YUFDbEI7U0FDRjtLQUNGO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLElBQW9CLEVBQUUsS0FBVTtJQUN0RCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUU7UUFDdkIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0tBQ0Y7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBa0IsRUFBRSxJQUFrQjtJQUN4RCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2pDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksTUFBTSxFQUFFO2dCQUNWLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtLQUNGO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQWtCLEVBQUUsSUFBa0I7SUFDeEQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxJQUFJLE1BQU0sRUFBRTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1NBQzdCO2FBQU07WUFDTCxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBcUIsRUFBRSxPQUF1QixFQUFFLFNBQXlCO0lBQ2hHLElBQUksWUFBWSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNoQyxJQUFJLGNBQWMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDcEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDeEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RCxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDbkU7SUFDRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQsIGlzTmlsLCBwdWxsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJy4uL21vZGVscy90cmVldmlldy1pdGVtJztcblxuZXhwb3J0IGNvbnN0IFRyZWV2aWV3SGVscGVyID0ge1xuICBmaW5kSXRlbSxcbiAgZmluZEl0ZW1Jbkxpc3QsXG4gIGZpbmRQYXJlbnQsXG4gIHJlbW92ZUl0ZW0sXG4gIGNvbmNhdFNlbGVjdGlvblxufTtcblxuZnVuY3Rpb24gZmluZEl0ZW0ocm9vdDogVHJlZXZpZXdJdGVtLCB2YWx1ZTogYW55KTogVHJlZXZpZXdJdGVtIHtcbiAgaWYgKGlzTmlsKHJvb3QpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChyb290LnZhbHVlID09PSB2YWx1ZSkge1xuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgaWYgKHJvb3QuY2hpbGRyZW4pIHtcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHJvb3QuY2hpbGRyZW4pIHtcbiAgICAgIGNvbnN0IGZvdW5kSXRlbSA9IGZpbmRJdGVtKGNoaWxkLCB2YWx1ZSk7XG4gICAgICBpZiAoZm91bmRJdGVtKSB7XG4gICAgICAgIHJldHVybiBmb3VuZEl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZmluZEl0ZW1Jbkxpc3QobGlzdDogVHJlZXZpZXdJdGVtW10sIHZhbHVlOiBhbnkpOiBUcmVldmlld0l0ZW0ge1xuICBpZiAoaXNOaWwobGlzdCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZm9yIChjb25zdCBpdGVtIG9mIGxpc3QpIHtcbiAgICBjb25zdCBmb3VuZEl0ZW0gPSBmaW5kSXRlbShpdGVtLCB2YWx1ZSk7XG4gICAgaWYgKGZvdW5kSXRlbSkge1xuICAgICAgcmV0dXJuIGZvdW5kSXRlbTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBmaW5kUGFyZW50KHJvb3Q6IFRyZWV2aWV3SXRlbSwgaXRlbTogVHJlZXZpZXdJdGVtKTogVHJlZXZpZXdJdGVtIHtcbiAgaWYgKGlzTmlsKHJvb3QpIHx8IGlzTmlsKHJvb3QuY2hpbGRyZW4pKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGZvciAoY29uc3QgY2hpbGQgb2Ygcm9vdC5jaGlsZHJlbikge1xuICAgIGlmIChjaGlsZCA9PT0gaXRlbSkge1xuICAgICAgcmV0dXJuIHJvb3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGZpbmRQYXJlbnQoY2hpbGQsIGl0ZW0pO1xuICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUl0ZW0ocm9vdDogVHJlZXZpZXdJdGVtLCBpdGVtOiBUcmVldmlld0l0ZW0pOiBib29sZWFuIHtcbiAgY29uc3QgcGFyZW50ID0gZmluZFBhcmVudChyb290LCBpdGVtKTtcbiAgaWYgKHBhcmVudCkge1xuICAgIHB1bGwocGFyZW50LmNoaWxkcmVuLCBpdGVtKTtcbiAgICBpZiAocGFyZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcGFyZW50LmNoaWxkcmVuID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJlbnQuY29ycmVjdENoZWNrZWQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGNvbmNhdFNlbGVjdGlvbihpdGVtczogVHJlZXZpZXdJdGVtW10sIGNoZWNrZWQ6IFRyZWV2aWV3SXRlbVtdLCB1bmNoZWNrZWQ6IFRyZWV2aWV3SXRlbVtdKTogeyBbazogc3RyaW5nXTogVHJlZXZpZXdJdGVtW10gfSB7XG4gIGxldCBjaGVja2VkSXRlbXMgPSBbLi4uY2hlY2tlZF07XG4gIGxldCB1bmNoZWNrZWRJdGVtcyA9IFsuLi51bmNoZWNrZWRdO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBpdGVtLmdldFNlbGVjdGlvbigpO1xuICAgIGNoZWNrZWRJdGVtcyA9IGNvbmNhdChjaGVja2VkSXRlbXMsIHNlbGVjdGlvbi5jaGVja2VkSXRlbXMpO1xuICAgIHVuY2hlY2tlZEl0ZW1zID0gY29uY2F0KHVuY2hlY2tlZEl0ZW1zLCBzZWxlY3Rpb24udW5jaGVja2VkSXRlbXMpO1xuICB9XG4gIHJldHVybiB7XG4gICAgY2hlY2tlZDogY2hlY2tlZEl0ZW1zLFxuICAgIHVuY2hlY2tlZDogdW5jaGVja2VkSXRlbXNcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ export class TreeviewConfig {
3
+ constructor() {
4
+ this.hasAllCheckBox = true;
5
+ this.hasFilter = false;
6
+ this.hasCollapseExpand = false;
7
+ this.decoupleChildFromParent = false;
8
+ this.maxHeight = 500;
9
+ }
10
+ get hasDivider() {
11
+ return this.hasFilter || this.hasAllCheckBox || this.hasCollapseExpand;
12
+ }
13
+ static create(fields) {
14
+ const config = new TreeviewConfig();
15
+ Object.assign(config, fields);
16
+ return config;
17
+ }
18
+ }
19
+ TreeviewConfig.decorators = [
20
+ { type: Injectable }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRUUsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxHQUFHLENBQUM7SUFpQmxCLENBQUM7SUFmQyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDekUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFNcEI7UUFDQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OztZQXRCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZXZpZXdDb25maWcge1xuICBoYXNBbGxDaGVja0JveCA9IHRydWU7XG4gIGhhc0ZpbHRlciA9IGZhbHNlO1xuICBoYXNDb2xsYXBzZUV4cGFuZCA9IGZhbHNlO1xuICBkZWNvdXBsZUNoaWxkRnJvbVBhcmVudCA9IGZhbHNlO1xuICBtYXhIZWlnaHQgPSA1MDA7XG5cbiAgZ2V0IGhhc0RpdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzRmlsdGVyIHx8IHRoaXMuaGFzQWxsQ2hlY2tCb3ggfHwgdGhpcy5oYXNDb2xsYXBzZUV4cGFuZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGZpZWxkcz86IHtcbiAgICBoYXNBbGxDaGVja0JveD86IGJvb2xlYW4sXG4gICAgaGFzRmlsdGVyPzogYm9vbGVhbixcbiAgICBoYXNDb2xsYXBzZUV4cGFuZD86IGJvb2xlYW4sXG4gICAgZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQ/OiBib29sZWFuXG4gICAgbWF4SGVpZ2h0PzogbnVtYmVyLFxuICB9KTogVHJlZXZpZXdDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBUcmVldmlld0NvbmZpZygpO1xuICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCBmaWVsZHMpO1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctaGVhZGVyLXRlbXBsYXRlLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaGVhZGVyLXRlbXBsYXRlLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJy4vdHJlZXZpZXctaXRlbSc7XG5pbXBvcnQgeyBUcmVldmlld0NvbmZpZyB9IGZyb20gJy4vdHJlZXZpZXctY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmVldmlld0hlYWRlclRlbXBsYXRlQ29udGV4dCB7XG4gIGNvbmZpZzogVHJlZXZpZXdDb25maWc7XG4gIGl0ZW06IFRyZWV2aWV3SXRlbTtcbiAgb25Db2xsYXBzZUV4cGFuZDogKCkgPT4gdm9pZDtcbiAgb25DaGVja2VkQ2hhbmdlOiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgb25GaWx0ZXJUZXh0Q2hhbmdlOiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xufVxuIl19