@datarailsshared/datarailsshared 1.4.186 → 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.
- package/bundles/datarailsshared-datarailsshared.umd.js +886 -2
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.4.188.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +1 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/datarailsshared-datarailsshared.js +2 -1
- package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +3 -3
- package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +1 -1
- package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +210 -0
- package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +58 -0
- package/esm2015/lib/dr-treeview/dr-tree-view.module.js +38 -0
- package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +97 -0
- package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +82 -0
- package/esm2015/lib/dr-treeview/models/treeview-config.js +22 -0
- package/esm2015/lib/dr-treeview/models/treeview-header-template-context.js +2 -0
- package/esm2015/lib/dr-treeview/models/treeview-i18n.js +42 -0
- package/esm2015/lib/dr-treeview/models/treeview-item-template-context.js +2 -0
- package/esm2015/lib/dr-treeview/models/treeview-item.js +155 -0
- package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +17 -0
- package/esm2015/public-api.js +10 -1
- package/fesm2015/datarailsshared-datarailsshared.js +697 -4
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +3 -0
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +39 -0
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +15 -0
- package/lib/dr-treeview/dr-tree-view.module.d.ts +4 -0
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +21 -0
- package/lib/dr-treeview/helpers/treeview-helper.d.ts +16 -0
- package/lib/dr-treeview/models/treeview-config.d.ts +15 -0
- package/lib/dr-treeview/models/treeview-header-template-context.d.ts +9 -0
- package/lib/dr-treeview/models/treeview-i18n.d.ts +15 -0
- package/lib/dr-treeview/models/treeview-item-template-context.d.ts +6 -0
- package/lib/dr-treeview/models/treeview-item.d.ts +35 -0
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +9 -0
- package/datarailsshared-datarailsshared-1.4.186.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,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3RJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDaEksT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ2hJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDckcsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ2pJLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sb0dBQW9HLENBQUM7QUFDNUosT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxrR0FBa0csQ0FBQztBQUN6SixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUMvRyxPQUFPLEVBQUMsZ0NBQWdDLElBQUksR0FBRyxFQUFDLE1BQU0sNEZBQTRGLENBQUM7QUFDbkosT0FBTyxFQUFDLG1DQUFtQyxJQUFJLEdBQUcsRUFBQyxNQUFNLG9HQUFvRyxDQUFDO0FBQzlKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUMvSCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDM0csT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUMzSSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7Y29tcG9uZW50cyBhcyDJtWF9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHtEckJhZGdlU3RhdHVzQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vbGliL2RyLWJhZGdlLXN0YXR1cy9kci1iYWRnZS1zdGF0dXMuY29tcG9uZW50JztcbmV4cG9ydCB7RHJDaGF0Rm9ybUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtEckNoYXRNZXNzYWdlQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQge0RyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgYXMgybV6fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7RHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQge0RyQ2hhdE1lc3NhZ2VGaWxlQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7RHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0IHtEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1zdWdnZXN0aW9ucy9jaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRG90Rmxhc2hpbmdDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50JztcbmV4cG9ydCB7RGlhbG9nTW9kYWxXcmFwcGVyQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RGlhbG9nV3JhcHBlckNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL2RyLWRpYWxvZy9jb21wb25lbnRzL2RpYWxvZy13cmFwcGVyL2RpYWxvZy13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRHluYW1pY1RhZ0NvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vbGliL2RyLWR5bmFtaWMtdGFnL2RyLWR5bmFtaWMtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQge0RyRHluYW1pY1RhZ01vZHVsZSBhcyDJtXJ9IGZyb20gJy4vbGliL2RyLWR5bmFtaWMtdGFnL2RyLWR5bmFtaWMtdGFnLm1vZHVsZSc7XG5leHBvcnQge0RyRGF0ZVBpY2tlckZvcm1hdERpcmVjdGl2ZSBhcyDJtWp9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZGlyZWN0aXZlcy9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7RHJEYXRlUGlja2VyV2l0aFRpbWVmcmFtZUNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCB7RHJEYXRlUGlja2VyQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlci9kci1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEckRhdGVQaWNrZXJDdXN0b21IZWFkZXJDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEclNob3dUaW1lZnJhbWVQaXBlIGFzIMm1bH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1zaG93LXRpbWVmcmFtZS5waXBlJztcbmV4cG9ydCB7RHJEYXRlUGlja2VyU2VydmljZSBhcyDJtWh9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XG5leHBvcnQge0RyU2VsZWN0QWRkSXRlbUNvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge0RyU2NlbmFyaW9Db25maWd1cmF0aW9uQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0RyU2NlbmFyaW9UYWdDb25maWd1cmF0aW9uQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7VG9vbHRpcEluZm9TaW1wbGVDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvLXNpbXBsZS90b29sdGlwLWluZm8tc2ltcGxlLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBJbmZvQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtaW5mby90b29sdGlwLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7VG9vbHRpcE5vQm9keUNvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLW5vLWJvZHkvdG9vbHRpcC1uby1ib2R5LmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBQcm9jZXNzRGVmYXVsdENvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC5jb21wb25lbnQnO1xuZXhwb3J0IHtUcmVldmlld0l0ZW1Db21wb25lbnQgYXMgybViZH0gZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy1pdGVtL3RyZWV2aWV3LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7UE9QVVBfQU5JTUFUSU9OIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL2NvbnN0YW50cyc7XG5leHBvcnQge1N0ZXBwZXJDb21wb25lbnQgYXMgybV0fSBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JzsiXX0=
|
|
@@ -74,8 +74,8 @@ export class DialogWrapperComponent {
|
|
|
74
74
|
DialogWrapperComponent.decorators = [
|
|
75
75
|
{ type: Component, args: [{
|
|
76
76
|
selector: 'dr-dialog-wrapper',
|
|
77
|
-
template: "<div class=\"dialog-wrapper\"\n [class.dialog-wrapper--confirmation-no-title]=\"dialogData.theme?.isConfirmation && !dialogData.title\">\n <i class=\"dr-icon-exit\" data-test=\"close_btn\" (click)=\"closeDialog()\" *ngIf=\"!dialogData?.hideCloseBtn\"></i>\n\n <div header class=\"dialog-wrapper__header\" *ngIf=\"dialogData.title\">\n <h1 class=\"dialog-wrapper__header__title\" data-test=\"dialogTitle\">{{ dialogData.title }}</h1>\n <h1 class=\"dialog-wrapper__header__subtitle\" data-test=\"dialogSubtitle\"\n *ngIf=\"dialogData.subtitle\">{{ dialogData.subtitle }}</h1>\n </div>\n <div class=\"dialog-wrapper__content\"\n [class.dialog-wrapper__content--no-padding]=\"dialogData.theme?.contentNoPadding\"\n [ngClass]=\"{ 'flex-position': dialogData.contentIcon?.class && !childComponent }\">\n <span *ngIf=\"dialogData.contentIcon?.class\" class=\"dialog-wrapper__content__icon\">\n <i [ngClass]=\"dialogData.contentIcon.class\" [style.color]=\"dialogData.contentIcon?.color || 'inherit'\"></i>\n </span>\n <span [innerHTML]=\"dialogData.content\"></span>\n <span #content class=\"dialog-wrapper__content__anchor\"> </span>\n </div>\n <dr-details-list *ngIf=\"dialogData.details\"\n [title]=\"dialogData.details.title\"\n [items]=\"dialogData.details.items\">\n </dr-details-list>\n <div footer class=\"dialog-wrapper__footer\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <div class=\"dialog-wrapper__footer__buttons\">\n <span *ngIf=\"dialogData.customButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.customButton.isDisabled && dialogData.tooltips?.customDisabled\">\n <dr-button (click)=\"onDecline()\"\n [theme]=\"'secondary'\"\n [isLoading]=\"isLoading\"\n data-test=\"declineBtn\"\n [disabled]=\"dialogData.customButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.custom\">{{ dialogData.customButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.cancelButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.cancelButton.isDisabled && dialogData.tooltips?.cancelDisabled\">\n <dr-button (click)=\"closeDialog()\"\n [theme]=\"'secondary'\"\n data-test=\"closeBtn\"\n [disabled]=\"dialogData.cancelButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.cancel\">{{ dialogData.cancelButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.acceptButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.acceptButton.isDisabled && dialogData.tooltips?.acceptDisabled\">\n <dr-button (click)=\"onAcceptDialog()\"\n [theme]=\"dialogData.acceptButton?.theme || 'primary'\"\n [isLoading]=\"isLoading\"\n data-test=\"acceptBtn\"\n [disabled]=\"dialogData.acceptButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.accept\">{{ dialogData.acceptButton.label }}</dr-button>\n </span>\n </div>\n </div>\n</div>\n",
|
|
78
|
-
styles: [":host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,.medium-modal-max-height:host{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:85vh}:host.large-modal{min-width:750px;max-width:750px}:host.medium-large-modal{min-width:669px;max-width:669px}:host.xl-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}:host.xl-custom-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}::ng-deep .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative}::ng-deep .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:20px;color:#51566f;cursor:pointer}::ng-deep .dialog-wrapper__header{display:flex;flex-direction:column;padding:8px 52px 8px 32px;border-bottom:1px solid #e5e6ea}::ng-deep .dialog-wrapper__header__title{color:#151b3f;position:static;font-weight:600;font-size:18px;line-height:24px}::ng-deep .dialog-wrapper__header__subtitle{font-size:14px;line-height:20px;margin:0}::ng-deep .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%}::ng-deep .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px}::ng-deep .dialog-wrapper__content__anchor{display:none}::ng-deep .dialog-wrapper__content--no-padding{padding:0}::ng-deep .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative}::ng-deep .dialog-wrapper__content.flex-position{display:flex}::ng-deep .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px}::ng-deep .dialog-wrapper__footer{border-top:1px solid #e5e6ea}::ng-deep .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px}::ng-deep .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px}\n"]
|
|
77
|
+
template: "<div class=\"dialog-wrapper\"\n [class.dialog-wrapper--confirmation-no-title]=\"dialogData.theme?.isConfirmation && !dialogData.title\">\n <i class=\"dr-icon-exit\" data-test=\"close_btn\" (click)=\"closeDialog()\" *ngIf=\"!dialogData?.hideCloseBtn\"></i>\n\n <div header class=\"dialog-wrapper__header\" *ngIf=\"dialogData.title\">\n <h1 class=\"dialog-wrapper__header__title\" data-test=\"dialogTitle\">{{ dialogData.title }}</h1>\n <h1 class=\"dialog-wrapper__header__subtitle\" data-test=\"dialogSubtitle\"\n *ngIf=\"dialogData.subtitle\">{{ dialogData.subtitle }}</h1>\n </div>\n <div class=\"dialog-wrapper__content\"\n [class.dialog-wrapper__content--no-padding]=\"dialogData.theme?.contentNoPadding\"\n [ngClass]=\"{ 'flex-position': dialogData.contentIcon?.class && !childComponent }\">\n <span *ngIf=\"dialogData.contentIcon?.class\" class=\"dialog-wrapper__content__icon\">\n <i [ngClass]=\"dialogData.contentIcon.class\" [style.color]=\"dialogData.contentIcon?.color || 'inherit'\"></i>\n </span>\n <span class=\"dialog-content__wrapper\" [innerHTML]=\"dialogData.content\"></span>\n <span #content class=\"dialog-wrapper__content__anchor\"> </span>\n </div>\n <dr-details-list *ngIf=\"dialogData.details\"\n [title]=\"dialogData.details.title\"\n [items]=\"dialogData.details.items\">\n </dr-details-list>\n <div footer class=\"dialog-wrapper__footer\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <div class=\"dialog-wrapper__footer__buttons\">\n <span *ngIf=\"dialogData.customButton\"\n class=\"dialog-wrapper__footer__button-wrapper dialog-wrapper__footer__button-wrapper--custom\"\n [drTooltip]=\"dialogData.customButton.isDisabled && dialogData.tooltips?.customDisabled\">\n <dr-button (click)=\"onDecline()\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n [isLoading]=\"isLoading\"\n data-test=\"declineBtn\"\n [disabled]=\"dialogData.customButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.custom\">{{ dialogData.customButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.cancelButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.cancelButton.isDisabled && dialogData.tooltips?.cancelDisabled\">\n <dr-button (click)=\"closeDialog()\"\n [theme]=\"dialogData.cancelButton?.theme || 'secondary'\"\n data-test=\"closeBtn\"\n [disabled]=\"dialogData.cancelButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.cancel\">{{ dialogData.cancelButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.acceptButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.acceptButton.isDisabled && dialogData.tooltips?.acceptDisabled\">\n <dr-button (click)=\"onAcceptDialog()\"\n [theme]=\"dialogData.acceptButton?.theme || 'primary'\"\n [isLoading]=\"isLoading\"\n data-test=\"acceptBtn\"\n [disabled]=\"dialogData.acceptButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.accept\">{{ dialogData.acceptButton.label }}</dr-button>\n </span>\n </div>\n </div>\n</div>\n",
|
|
78
|
+
styles: [":host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,.medium-modal-max-height:host{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:85vh}:host.large-modal{min-width:750px;max-width:750px}:host.medium-large-modal{min-width:669px;max-width:669px}:host.xl-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}:host.xl-custom-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}::ng-deep .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative}::ng-deep .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:20px;color:#51566f;cursor:pointer}::ng-deep .dialog-wrapper__header{display:flex;flex-direction:column;padding:8px 52px 8px 32px;border-bottom:1px solid #e5e6ea}::ng-deep .dialog-wrapper__header__title{color:#151b3f;position:static;font-weight:600;font-size:18px;line-height:24px}::ng-deep .dialog-wrapper__header__subtitle{font-size:14px;line-height:20px;margin:0}::ng-deep .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%}::ng-deep .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px}::ng-deep .dialog-wrapper__content__anchor{display:none}::ng-deep .dialog-wrapper__content--no-padding{padding:0}::ng-deep .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative}::ng-deep .dialog-wrapper__content.flex-position{display:flex}::ng-deep .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line}::ng-deep .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px}::ng-deep .dialog-wrapper__footer{border-top:1px solid #e5e6ea}::ng-deep .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px}::ng-deep .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}\n"]
|
|
79
79
|
},] }
|
|
80
80
|
];
|
|
81
81
|
DialogWrapperComponent.ctorParameters = () => [
|
|
@@ -89,4 +89,4 @@ DialogWrapperComponent.propDecorators = {
|
|
|
89
89
|
content: [{ type: ViewChild, args: ['content', { read: ViewContainerRef },] }],
|
|
90
90
|
class: [{ type: HostBinding, args: ['class',] }]
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU85RCxNQUFNLE9BQU8sc0JBQXNCO0lBVS9CLFlBQW1CLFNBQStDLEVBQzlDLGFBQTRCLEVBQzVCLEdBQXNCLEVBQ3RCLHdCQUFrRCxFQUMxQixVQUFvQjs7UUFKN0MsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDOUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFVO1FBVjFDLFVBQUssR0FBYyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxLQUFLLDBDQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFD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QUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM3SSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNuQyxPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBakZKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixrckhBQThDOzthQUVqRDs7O1lBWHlCLFlBQVk7WUFLN0IsYUFBYTtZQWZsQixpQkFBaUI7WUFHakIsd0JBQXdCOzRDQWlDWCxNQUFNLFNBQUMsZUFBZTs7O3NCQVpsQyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO29CQUUvQyxXQUFXLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERhdGFQcm9wLCBTaXplTW9kYWwgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kaWFsb2ctd3JhcHBlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dXcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgY29udGVudDogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzczogU2l6ZU1vZGFsID0gdGhpcy5kaWFsb2dEYXRhPy50aGVtZT8ubm9UaGVtZVNpemVDbGFzcyA/IG51bGwgOiB0aGlzLmRpYWxvZ0RhdGE/LnRoZW1lPy50aGVtZVNpemUgfHwgJ21lZGl1bS1tb2RhbCc7XG4gICAgY2hpbGRDb21wb25lbnQ6IGFueTtcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgc2F2aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ1dyYXBwZXJDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRpYWxvZ0RhdGE6IERhdGFQcm9wKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IEVycm9yIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEuY2hpbGQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoJ0V4cGVjdGVkIGNvbXBvbmVudFR5cGVDaGlsZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuZGlhbG9nRGF0YS5jaGlsZCk7XG4gICAgICAgIHRoaXMuY2hpbGRDb21wb25lbnQgPSB0aGlzLmNvbnRlbnQuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpLmluc3RhbmNlO1xuICAgICAgICB0aGlzLmNoaWxkQ29tcG9uZW50LmNsb3NlRGlhbG9nID0gdGhpcy5jbG9zZURpYWxvZy5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmNoaWxkQ29tcG9uZW50Lm9uQWNjZXB0RGlhbG9nID0gdGhpcy5vbkFjY2VwdERpYWxvZy5iaW5kKHRoaXMpO1xuXG4gICAgICAgIC8vIHBhc3MgZGF0YSB0byBjb21wb25lbnQgY2hpbGRcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nRGF0YS5jaGlsZERhdGEpIHtcbiAgICAgICAgICAgIF8uYXNzaWduKHRoaXMuY2hpbGRDb21wb25lbnQsIHRoaXMuZGlhbG9nRGF0YS5jaGlsZERhdGEpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNhbGwgY29tcG9uZW50IGNoaWxkIGluaXQgZnVuYyAtIGxvb2tzIGxpa2UgZG91YmxlIGluaXRcbiAgICAgICAgLy8gaWYgKHRoaXMuY2hpbGRDb21wb25lbnQubmdPbkluaXQpIHtcbiAgICAgICAgLy8gICB0aGlzLmNoaWxkQ29tcG9uZW50Lm5nT25Jbml0KCk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKGRhdGE/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSB8fCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZW5hYmxlQWNjZXB0QnV0dG9uKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkRlY2xpbmUoKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgb25BY2NlcHREaWFsb2coZGF0YT86IGFueSkge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEgfHwgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnVuY05hbWUgPSB0aGlzLmRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uLmZ1bmN0aW9ucztcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRDb21wb25lbnRbZnVuY05hbWVdKSB0aGlzLmNoaWxkQ29tcG9uZW50W2Z1bmNOYW1lXSgpO1xuICAgICAgICBjb25zdCBsb2FkRnVuY05hbWUgPSB0aGlzLmRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uLmxvYWRpbmc7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkQ29tcG9uZW50W2xvYWRGdW5jTmFtZV0pIHRoaXMuaXNMb2FkaW5nID0gdGhpcy5jaGlsZENvbXBvbmVudFtsb2FkRnVuY05hbWVdKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nRGF0YS5jb25maXJtRm4pIHtcbiAgICAgICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dEYXRhLmNvbmZpcm1GbigpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBjYXRjaEVycm9yKGVycm9yID0+IHRoaXMuZGlhbG9nU2VydmljZS50aHJvd0VycihlcnJvciwgdGhpcy5zYXZpbmckKSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEgfHwgdHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNoaWxkQ29tcG9uZW50ICYmICF0aGlzLmNoaWxkQ29tcG9uZW50W2Z1bmNOYW1lXSkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSB8fCB0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -22,4 +22,4 @@ export var DIALOG_FIELD_TYPE;
|
|
|
22
22
|
DIALOG_FIELD_TYPE["DATE_PICKER"] = "date_picker";
|
|
23
23
|
DIALOG_FIELD_TYPE["CHECKBOX"] = "checkbox";
|
|
24
24
|
})(DIALOG_FIELD_TYPE || (DIALOG_FIELD_TYPE = {}));
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4SEEsTUFBTSxDQUFOLElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyw0REFBNkMsQ0FBQTtJQUM3QyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixpREFBa0MsQ0FBQTtBQUN0QyxDQUFDLEVBVFcsV0FBVyxLQUFYLFdBQVcsUUFTdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsZ0RBQTJCLENBQUE7SUFDM0IsMENBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG50eXBlIERpYWxvZ0NvbmZpZyA9IE9taXQ8TWF0RGlhbG9nQ29uZmlnLCAnZGF0YSc+O1xuXG4vLyBEYXRhIE9iaiBmb3Igb3BlbkRpYWxvZ1dyYXBwZXIoKVxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhPFQgPSBhbnk+IGV4dGVuZHMgRGlhbG9nQ29uZmlnIHtcbiAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcbiAgICAgICAgY2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIGNvbnRlbnQ/OiBhbnk7XG4gICAgICAgIGNvbnRlbnRJY29uPzoge1xuICAgICAgICAgICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYWNjZXB0QnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgICAgICBjYW5jZWxCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgICAgIGN1c3RvbUJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICAgICAgdG9vbHRpcHM/OiBhbnk7XG4gICAgICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICAgICAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgICAgICBjaGlsZD86IENvbXBvbmVudFR5cGU8VD47XG4gICAgICAgIGNoaWxkRGF0YT86IFBhcnRpYWw8VD47XG4gICAgICAgIHRoZW1lPzoge1xuICAgICAgICAgICAgdGhlbWVTaXplPzogU2l6ZU1vZGFsO1xuICAgICAgICAgICAgdHlwZT86ICdzdWNjZXNzZnVsJztcbiAgICAgICAgICAgIGNvbnRlbnROb1BhZGRpbmc/OiBib29sZWFuO1xuICAgICAgICAgICAgaXNDb25maXJtYXRpb24/OiBib29sZWFuO1xuICAgICAgICAgICAgbm9UaGVtZVNpemVDbGFzcz86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgICAgIGNvbmZpcm1Gbj86IGFueTtcbiAgICAgICAgZmllbGRzPzogTW9kYWxGb3JtRmllbGRbXTtcbiAgICAgICAgaGlkZUNsb3NlQnRuPzogYm9vbGVhbjtcbiAgICAgICAgZm9vdGVyVGVtcGxhdGVEYXRhPzogRm9vdGVyVGVtcGxhdGVEYXRhO1xuICAgICAgICBkZXRhaWxzPzoge1xuICAgICAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgICAgICBpdGVtcz86IHN0cmluZ1tdIHwgT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuLy8gRGF0YSBPYmogZm9yIG9wZW5Db25maXJtRGlhbG9nKClcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICAgIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBjb250ZW50SWNvbj86IHtcbiAgICAgICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWNjZXB0QnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgIGNhbmNlbEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICBjdXN0b21CdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgdG9vbHRpcHM/OiBhbnk7XG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgIGNvbmZpcm1Gbj86IChyZXNwb25zZT86IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgZm9vdGVyVGVtcGxhdGVEYXRhPzogRm9vdGVyVGVtcGxhdGVEYXRhO1xuICAgIGRldGFpbHM/OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICBpdGVtcz86IHN0cmluZ1tdIHwgT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gICAgfTtcbiAgICB0aGVtZT86IHtcbiAgICAgICAgdGhlbWVTaXplPzogU2l6ZU1vZGFsO1xuICAgIH07XG59XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuQ29uZmlybURpYWxvZ01vZGFsKClcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ01vZGFsRGF0YSBleHRlbmRzIENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICBjb25maXJtRm4/OiBhbnk7XG4gICAgaGlkZUNsb3NlQnRuPzogYm9vbGVhbjtcbiAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgZmllbGRzPzogTW9kYWxGb3JtRmllbGRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJUZW1wbGF0ZURhdGEge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBhY3Rpb246IChvYmpUb1NhdmU/OiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbEZvcm1GaWVsZCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IFREaWFsb2dGaWVsZFR5cGU7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgaXNMYWJlbEZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgaXRlbXM/OiBhbnlbXTtcbiAgICBpdGVtcyQ/OiBPYnNlcnZhYmxlPGFueVtdPiB8IE9ic2VydmFibGU8YW55PjtcbiAgICBkZWZhdWx0PzogYW55O1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGJpbmRMYWJlbD86IHN0cmluZztcbiAgICBiaW5kVmFsdWU/OiBzdHJpbmc7XG4gICAgdmFsaWRhdG9ycz86IGFueVtdO1xuICAgIGRhdGVQaWNrZXJGb3JtYXQ/OiBUaW1lZnJhbWVPcHRpb247XG59XG5cbmV4cG9ydCB0eXBlIFNpemVNb2RhbCA9XG4gICAgfCAnc21hbGwtbW9kYWwnXG4gICAgfCAnbWVkaXVtLXNtYWxsLW1vZGFsJ1xuICAgIHwgJ21lZGl1bS1tb2RhbCdcbiAgICB8ICdtZWRpdW0tbW9kYWwtbWF4LWhlaWdodCdcbiAgICB8ICdtZWRpdW0tbGFyZ2UtbW9kYWwnXG4gICAgfCAnbGFyZ2UtbW9kYWwnXG4gICAgfCAneGwtbW9kYWwnXG4gICAgfCAneGwtY3VzdG9tLW1vZGFsJztcblxuZXhwb3J0IHR5cGUgRGF0YVByb3A8VCA9IGFueT4gPSBEaWFsb2dEYXRhPFQ+WydkYXRhJ107XG5cbmV4cG9ydCB0eXBlIERpYWxvZ1RoZW1lID0gRGF0YVByb3BbJ3RoZW1lJ107XG5cbmV4cG9ydCB0eXBlIERpYWxvZ0Zvb3RlckJ1dHRvbiA9IHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBsb2FkaW5nTGFiZWw/OiBzdHJpbmc7XG4gICAgZnVuY3Rpb25zPzogYW55O1xuICAgIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGxvYWRpbmc/OiBhbnk7XG4gICAgdGhlbWU/OiBhbnk7XG59O1xuXG5leHBvcnQgZW51bSBESUFMT0dfU0laRSB7XG4gICAgU01BTEwgPSAnc21hbGwtbW9kYWwnLFxuICAgIE1FRElVTSA9ICdtZWRpdW0tbW9kYWwnLFxuICAgIE1FRElVTV9TTUFMTCA9ICdtZWRpdW0tc21hbGwtbW9kYWwnLFxuICAgIE1FRElVTV9NQVhfSEVJR0hUID0gJ21lZGl1bS1tb2RhbC1tYXgtaGVpZ2h0JyxcbiAgICBNRURJVU1fTEFSR0UgPSAnbWVkaXVtLWxhcmdlLW1vZGFsJyxcbiAgICBMQVJHRSA9ICdsYXJnZS1tb2RhbCcsXG4gICAgWF9MQVJHRSA9ICd4bC1tb2RhbCcsXG4gICAgWF9DVVNUT01fTEFSR0UgPSAneGwtY3VzdG9tLW1vZGFsJyxcbn1cblxuZXhwb3J0IGVudW0gRElBTE9HX0JVVFRPTl9MQUJFTCB7XG4gICAgU0FWRSA9ICdTYXZlJyxcbiAgICBDQU5DRUwgPSAnQ2FuY2VsJyxcbiAgICBDTE9TRSA9ICdDbG9zZScsXG59XG5cbmV4cG9ydCBlbnVtIERJQUxPR19GSUVMRF9UWVBFIHtcbiAgICBJTlBVVCA9ICdpbnB1dCcsXG4gICAgU0VMRUNUID0gJ3NlbGVjdCcsXG4gICAgREFURV9QSUNLRVIgPSAnZGF0ZV9waWNrZXInLFxuICAgIENIRUNLQk9YID0gJ2NoZWNrYm94Jyxcbn1cblxuZXhwb3J0IHR5cGUgVERpYWxvZ0ZpZWxkVHlwZSA9IERJQUxPR19GSUVMRF9UWVBFO1xuIl19
|
|
@@ -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==
|