@ptsecurity/mosaic 15.6.0 → 15.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +140 -4
- package/_visual.scss +2 -0
- package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
- package/checkbox/_checkbox-theme.scss +4 -0
- package/checkbox/checkbox.scss +4 -7
- package/core/formatters/index.d.ts +1 -1
- package/core/formatters/number/formatter.d.ts +25 -0
- package/core/forms/_forms-theme.scss +112 -0
- package/core/locales/en-US.d.ts +1 -2
- package/core/locales/es-LA.d.ts +9 -0
- package/core/locales/fa-IR.d.ts +9 -0
- package/core/locales/index.d.ts +0 -2
- package/core/locales/locale-service.d.ts +39 -5
- package/core/locales/pt-BR.d.ts +9 -0
- package/core/locales/ru-RU.d.ts +1 -2
- package/core/locales/zh-CN.d.ts +9 -0
- package/core/option/option.d.ts +36 -7
- package/core/overlay/overlay-position-map.d.ts +7 -1
- package/core/pop-up/pop-up.d.ts +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -5
- package/core/styles/_core.scss +0 -1
- package/core/styles/_variables.scss +1 -0
- package/core/styles/theming/_scrollbars.scss +9 -3
- package/core/styles/theming/_theming.scss +1 -0
- package/datepicker/calendar-header.component.d.ts +8 -2
- package/datepicker/calendar.component.d.ts +3 -4
- package/datepicker/month-view.component.d.ts +3 -4
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +27 -24
- package/esm2020/button/button.component.mjs +6 -3
- package/esm2020/checkbox/checkbox.mjs +2 -2
- package/esm2020/code-block/actionbar.component.mjs +1 -1
- package/esm2020/core/formatters/index.mjs +9 -4
- package/esm2020/core/formatters/number/formatter.mjs +90 -1
- package/esm2020/core/locales/en-US.mjs +3 -4
- package/esm2020/core/locales/es-LA.mjs +11 -2
- package/esm2020/core/locales/fa-IR.mjs +11 -2
- package/esm2020/core/locales/index.mjs +1 -3
- package/esm2020/core/locales/locale-service.mjs +4 -4
- package/esm2020/core/locales/pt-BR.mjs +11 -2
- package/esm2020/core/locales/ru-RU.mjs +3 -4
- package/esm2020/core/locales/zh-CN.mjs +11 -2
- package/esm2020/core/option/option.mjs +43 -7
- package/esm2020/core/overlay/overlay-position-map.mjs +7 -1
- package/esm2020/core/pop-up/pop-up.mjs +1 -1
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/datepicker/calendar-header.component.mjs +8 -7
- package/esm2020/datepicker/calendar.component.mjs +5 -14
- package/esm2020/datepicker/datepicker-input.directive.mjs +7 -6
- package/esm2020/datepicker/month-view.component.mjs +6 -15
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +3 -2
- package/esm2020/file-upload/file-drop.mjs +40 -3
- package/esm2020/file-upload/file-upload.mjs +1 -1
- package/esm2020/file-upload/multiple-file-upload.component.mjs +11 -7
- package/esm2020/file-upload/single-file-upload.component.mjs +10 -6
- package/esm2020/form-field/form-field.mjs +2 -2
- package/esm2020/form-field/validate.directive.mjs +9 -3
- package/esm2020/loader-overlay/loader-overlay.component.mjs +2 -2
- package/esm2020/modal/modal.component.mjs +7 -11
- package/esm2020/modal/modal.module.mjs +8 -4
- package/esm2020/navbar/navbar.component.mjs +20 -10
- package/esm2020/navbar/vertical-navbar.animation.mjs +2 -2
- package/esm2020/navbar/vertical-navbar.component.mjs +11 -7
- package/esm2020/popover/popover.component.mjs +2 -2
- package/esm2020/select/select-option.directive.mjs +15 -3
- package/esm2020/select/select.component.mjs +49 -22
- package/esm2020/tabs/tab-group.component.mjs +1 -1
- package/esm2020/tabs/tab.component.mjs +13 -4
- package/esm2020/tags/tag-list.component.mjs +5 -4
- package/esm2020/timezone/timezone-select.component.mjs +3 -3
- package/esm2020/title/title.directive.mjs +2 -2
- package/esm2020/toast/toast-animations.mjs +2 -1
- package/esm2020/toast/toast-container.component.mjs +21 -7
- package/esm2020/toast/toast.component.mjs +7 -2
- package/esm2020/toast/toast.module.mjs +10 -4
- package/esm2020/toast/toast.service.mjs +2 -1
- package/esm2020/toggle/toggle.component.mjs +3 -3
- package/esm2020/tooltip/tooltip.component.mjs +16 -4
- package/esm2020/tree/control/base-tree-control.mjs +1 -1
- package/esm2020/tree/control/flat-tree-control.filters.mjs +46 -0
- package/esm2020/tree/control/flat-tree-control.mjs +26 -44
- package/esm2020/tree/control/tree-control.mjs +1 -1
- package/esm2020/tree/padding.directive.mjs +2 -2
- package/esm2020/tree/public-api.mjs +2 -1
- package/esm2020/tree/toggle.mjs +2 -4
- package/esm2020/tree/tree-option.component.mjs +6 -3
- package/esm2020/tree/tree-selection.component.mjs +6 -5
- package/esm2020/tree-select/tree-select.component.mjs +28 -12
- package/esm2020/tree-select/tree-select.module.mjs +6 -6
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +30 -24
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +5 -2
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-code-block.mjs +1 -1
- package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +196 -31
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +20 -36
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +2 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs +57 -11
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +10 -3
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.mjs +12 -12
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +28 -18
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +64 -24
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +13 -4
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +4 -3
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-title.mjs +1 -1
- package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toast.mjs +35 -10
- package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +15 -3
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +33 -16
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +85 -54
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +27 -24
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +5 -2
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-code-block.mjs +1 -1
- package/fesm2020/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +196 -30
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +20 -36
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +2 -1
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs +56 -11
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +10 -4
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-modal.mjs +11 -11
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +28 -18
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +62 -23
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +13 -4
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tags.mjs +4 -3
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-title.mjs +1 -1
- package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toast.mjs +33 -10
- package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +15 -3
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +32 -16
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs +84 -54
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/file-upload/file-drop.d.ts +2 -1
- package/file-upload/file-upload.d.ts +4 -1
- package/file-upload/multiple-file-upload.component.d.ts +6 -5
- package/file-upload/single-file-upload.component.d.ts +6 -5
- package/form-field/_form-field-theme.scss +4 -0
- package/form-field/form-field.scss +0 -2
- package/loader-overlay/loader-overlay.scss +3 -0
- package/modal/modal.module.d.ts +2 -1
- package/modal/modal.scss +14 -2
- package/navbar/navbar.component.d.ts +5 -2
- package/navbar/vertical-navbar.component.d.ts +4 -2
- package/package.json +4 -7
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -1
- package/radio/_radio-theme.scss +4 -0
- package/select/select-option.directive.d.ts +2 -0
- package/select/select.component.d.ts +15 -11
- package/select/select.scss +5 -1
- package/tags/tag-list.scss +4 -0
- package/toast/toast-animations.d.ts +1 -0
- package/toast/toast-container.component.d.ts +7 -3
- package/toast/toast.component.d.ts +2 -0
- package/toast/toast.service.d.ts +2 -0
- package/toggle/_toggle-theme.scss +13 -1
- package/toggle/toggle.scss +6 -2
- package/tooltip/tooltip.component.d.ts +4 -1
- package/tree/control/base-tree-control.d.ts +1 -1
- package/tree/control/flat-tree-control.d.ts +5 -3
- package/tree/control/flat-tree-control.filters.d.ts +26 -0
- package/tree/control/tree-control.d.ts +1 -1
- package/tree/public-api.d.ts +1 -0
- package/tree/tree-option.scss +4 -2
- package/tree-select/tree-select.component.d.ts +9 -3
- package/tree-select/tree-select.module.d.ts +1 -1
- package/core/forms/_forms.scss +0 -109
@@ -8,8 +8,8 @@ import { BehaviorSubject, Subject, Observable, of, merge, asyncScheduler } from
|
|
8
8
|
import * as i1$1 from 'rxjs/internal/scheduler/AsyncScheduler';
|
9
9
|
import { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';
|
10
10
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
11
|
-
import { TreeSizePaddingLeft } from '@mosaic-design/tokens-fe-2022/web';
|
12
|
-
import { takeUntil,
|
11
|
+
import { TreeSizePaddingLeft } from '@mosaic-design/tokens-fe-2022/web/index.js';
|
12
|
+
import { takeUntil, take, delay, map } from 'rxjs/operators';
|
13
13
|
import { TAB, hasModifierKey, SPACE, LEFT_ARROW, RIGHT_ARROW, isVerticalMovement, isSelectAll, isCopy, DOWN_ARROW, UP_ARROW, ENTER, HOME, END, PAGE_UP, PAGE_DOWN } from '@ptsecurity/cdk/keycodes';
|
14
14
|
import { McDropdownTrigger } from '@ptsecurity/mosaic/dropdown';
|
15
15
|
import { McTooltipTrigger } from '@ptsecurity/mosaic/tooltip';
|
@@ -348,8 +348,7 @@ class McTreeNodeToggleBaseDirective extends McTreeNodeToggleMixinBase {
|
|
348
348
|
this.treeNode = treeNode;
|
349
349
|
this._recursive = false;
|
350
350
|
this.tree.treeControl.filterValue
|
351
|
-
.
|
352
|
-
.subscribe((state) => this.disabled = state);
|
351
|
+
.subscribe((value) => this.disabled = !!value);
|
353
352
|
}
|
354
353
|
get recursive() {
|
355
354
|
return this._recursive;
|
@@ -539,6 +538,9 @@ class McTreeOption extends McTreeNode {
|
|
539
538
|
else {
|
540
539
|
this.tree.selectionModel.deselect(this.data);
|
541
540
|
}
|
541
|
+
if (this.showCheckbox) {
|
542
|
+
this.updateCheckboxState();
|
543
|
+
}
|
542
544
|
this.markForCheck();
|
543
545
|
}
|
544
546
|
focus(focusOrigin) {
|
@@ -642,7 +644,7 @@ class McTreeOption extends McTreeNode {
|
|
642
644
|
{ provide: McTreeNode, useExisting: McTreeOption },
|
643
645
|
{ provide: MC_TITLE_TEXT_REF, useExisting: McTreeOption },
|
644
646
|
{ provide: MC_OPTION_ACTION_PARENT, useExisting: McTreeOption }
|
645
|
-
], queries: [{ propertyName: "toggleElementDirective", first: true, predicate: McTreeNodeToggleDirective, descendants: true }, { propertyName: "toggleElementComponent", first: true, predicate: McTreeNodeToggleComponent, descendants: true }, { propertyName: "pseudoCheckbox", first: true, predicate: McPseudoCheckbox, descendants: true }, { propertyName: "actionButton", first: true, predicate: McOptionActionComponent, descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: McTooltipTrigger, descendants: true }, { propertyName: "dropdownTrigger", first: true, predicate: McDropdownTrigger, descendants: true }], viewQueries: [{ propertyName: "parentTextElement", first: true, predicate: ["mcTitleContainer"], descendants: true }, { propertyName: "toggleWrapper", first: true, predicate: ["toggleWrapper"], descendants: true }], exportAs: ["mcTreeOption"], usesInheritance: true, ngImport: i0, template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\" #mcTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-tree-option{box-sizing:border-box;display:flex;align-items:center;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox
|
647
|
+
], queries: [{ propertyName: "toggleElementDirective", first: true, predicate: McTreeNodeToggleDirective, descendants: true }, { propertyName: "toggleElementComponent", first: true, predicate: McTreeNodeToggleComponent, descendants: true }, { propertyName: "pseudoCheckbox", first: true, predicate: McPseudoCheckbox, descendants: true }, { propertyName: "actionButton", first: true, predicate: McOptionActionComponent, descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: McTooltipTrigger, descendants: true }, { propertyName: "dropdownTrigger", first: true, predicate: McDropdownTrigger, descendants: true }], viewQueries: [{ propertyName: "parentTextElement", first: true, predicate: ["mcTitleContainer"], descendants: true }, { propertyName: "toggleWrapper", first: true, predicate: ["toggleWrapper"], descendants: true }], exportAs: ["mcTreeOption"], usesInheritance: true, ngImport: i0, template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\" #mcTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mc-tree-option{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:center;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox{margin-right:var(--mc-tree-size-icon-padding, 8px)}.mc-tree-option .mc-option-action{display:none}.mc-tree-option:not([disabled]):hover .mc-option-action,.mc-tree-option:not([disabled]).mc-focused .mc-option-action,.mc-tree-option:not([disabled]).mc-action-button-focused .mc-option-action{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
646
648
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTreeOption, decorators: [{
|
647
649
|
type: Component,
|
648
650
|
args: [{ selector: 'mc-tree-option', exportAs: 'mcTreeOption', host: {
|
@@ -661,7 +663,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
661
663
|
{ provide: McTreeNode, useExisting: McTreeOption },
|
662
664
|
{ provide: MC_TITLE_TEXT_REF, useExisting: McTreeOption },
|
663
665
|
{ provide: MC_OPTION_ACTION_PARENT, useExisting: McTreeOption }
|
664
|
-
], template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\" #mcTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-tree-option{box-sizing:border-box;display:flex;align-items:center;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox
|
666
|
+
], template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\" #mcTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mc-tree-option{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:center;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox{margin-right:var(--mc-tree-size-icon-padding, 8px)}.mc-tree-option .mc-option-action{display:none}.mc-tree-option:not([disabled]):hover .mc-option-action,.mc-tree-option:not([disabled]).mc-focused .mc-option-action,.mc-tree-option:not([disabled]).mc-action-button-focused .mc-option-action{display:flex}\n"] }]
|
665
667
|
}], ctorParameters: function () {
|
666
668
|
return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
667
669
|
type: Inject,
|
@@ -1103,11 +1105,13 @@ class McTreeSelection extends McTreeBase {
|
|
1103
1105
|
this.emitChangeEvent(option);
|
1104
1106
|
}
|
1105
1107
|
selectActiveOptions() {
|
1108
|
+
var _a;
|
1106
1109
|
const options = this.renderedOptions.toArray();
|
1107
1110
|
let fromIndex = this.keyManager.previousActiveItemIndex;
|
1108
1111
|
let toIndex = this.keyManager.previousActiveItemIndex = this.keyManager.activeItemIndex;
|
1109
|
-
const selectedOptionState = options[fromIndex].selected;
|
1110
|
-
if (toIndex === fromIndex) {
|
1112
|
+
const selectedOptionState = (_a = options[fromIndex]) === null || _a === void 0 ? void 0 : _a.selected;
|
1113
|
+
if (toIndex === fromIndex || fromIndex === -1) {
|
1114
|
+
options[toIndex].toggle();
|
1111
1115
|
return;
|
1112
1116
|
}
|
1113
1117
|
if (fromIndex > toIndex) {
|
@@ -1147,8 +1151,8 @@ class McTreeSelection extends McTreeBase {
|
|
1147
1151
|
selectAllOptions() {
|
1148
1152
|
const optionsToSelect = this.renderedOptions
|
1149
1153
|
.filter((option) => !option.disabled);
|
1150
|
-
optionsToSelect
|
1151
|
-
|
1154
|
+
const hasDeselectedOptions = optionsToSelect.some((option) => !option.selected);
|
1155
|
+
optionsToSelect.forEach((option) => option.setSelected(hasDeselectedOptions));
|
1152
1156
|
this.onSelectAll.emit(new McTreeSelectAllEvent(this, optionsToSelect));
|
1153
1157
|
}
|
1154
1158
|
copyActiveOption() {
|
@@ -1455,6 +1459,52 @@ class BaseTreeControl {
|
|
1455
1459
|
}
|
1456
1460
|
}
|
1457
1461
|
|
1462
|
+
class FilterByViewValue {
|
1463
|
+
constructor(control) {
|
1464
|
+
this.control = control;
|
1465
|
+
}
|
1466
|
+
handle(value) {
|
1467
|
+
this.result = this.control.dataNodes
|
1468
|
+
.filter((node) => this.control.compareViewValues(this.control.getViewValue(node), value));
|
1469
|
+
return this.result;
|
1470
|
+
}
|
1471
|
+
}
|
1472
|
+
class FilterParentsForNodes {
|
1473
|
+
constructor(control) {
|
1474
|
+
this.control = control;
|
1475
|
+
}
|
1476
|
+
handle(_, prevFilter) {
|
1477
|
+
const result = new Set();
|
1478
|
+
this.control.dataNodes
|
1479
|
+
.filter((node) => prevFilter === null || prevFilter === void 0 ? void 0 : prevFilter.result.includes(node))
|
1480
|
+
.forEach((node) => {
|
1481
|
+
this.control.getParents(node, [])
|
1482
|
+
.forEach((parent) => result.add(parent));
|
1483
|
+
result.add(node);
|
1484
|
+
});
|
1485
|
+
this.result = Array.from(result);
|
1486
|
+
return this.result;
|
1487
|
+
}
|
1488
|
+
}
|
1489
|
+
class FilterByValues {
|
1490
|
+
constructor(control) {
|
1491
|
+
this.control = control;
|
1492
|
+
this.values = [];
|
1493
|
+
this.setValues = (values) => {
|
1494
|
+
this.values = values;
|
1495
|
+
};
|
1496
|
+
}
|
1497
|
+
handle(_, prevFilter) {
|
1498
|
+
const found = this.control.dataNodes
|
1499
|
+
.filter((node) => this.values.includes(this.control.getValue(node)));
|
1500
|
+
this.result = Array.from(new Set([...((prevFilter === null || prevFilter === void 0 ? void 0 : prevFilter.result) || []), ...found]));
|
1501
|
+
return this.result;
|
1502
|
+
}
|
1503
|
+
getValues() {
|
1504
|
+
return this.values;
|
1505
|
+
}
|
1506
|
+
}
|
1507
|
+
|
1458
1508
|
function defaultCompareValues(firstValue, secondValue) {
|
1459
1509
|
return firstValue === secondValue;
|
1460
1510
|
}
|
@@ -1483,6 +1533,7 @@ class FlatTreeControl extends BaseTreeControl {
|
|
1483
1533
|
this.compareValues = compareValues;
|
1484
1534
|
this.compareViewValues = compareViewValues;
|
1485
1535
|
this.isDisabled = isDisabled;
|
1536
|
+
this.setFilters(new FilterByViewValue(this), new FilterParentsForNodes(this));
|
1486
1537
|
}
|
1487
1538
|
/**
|
1488
1539
|
* Gets a list of the data node's subtree of descendent data nodes.
|
@@ -1525,62 +1576,42 @@ class FlatTreeControl extends BaseTreeControl {
|
|
1525
1576
|
hasValue(value) {
|
1526
1577
|
return this.dataNodes.find((node) => this.compareValues(this.getValue(node), value));
|
1527
1578
|
}
|
1528
|
-
filterNodes(value) {
|
1579
|
+
filterNodes(value = null) {
|
1529
1580
|
this.saveExpansionState();
|
1530
|
-
|
1531
|
-
this.
|
1532
|
-
|
1533
|
-
|
1534
|
-
|
1535
|
-
filteredNodes.forEach((filteredNode) => {
|
1536
|
-
this.getParents(filteredNode, [])
|
1537
|
-
.forEach((node) => {
|
1538
|
-
filteredNodesWithTheirParents.add(node);
|
1539
|
-
this.expandDataNode(node);
|
1540
|
-
});
|
1541
|
-
filteredNodesWithTheirParents.add(filteredNode);
|
1542
|
-
this.expandDataNode(filteredNode);
|
1543
|
-
if (this.isExpandable(filteredNode)) {
|
1544
|
-
const childNodeLevel = this.getLevel(filteredNode) + 1;
|
1545
|
-
this.getDescendants(filteredNode)
|
1546
|
-
.filter((childNode) => this.getLevel(childNode) === childNodeLevel)
|
1547
|
-
.filter((childNode) => !this.isExpandable(childNode) || !this.hasFilteredDescendant(childNode, filteredNodes))
|
1548
|
-
.forEach((childNode) => {
|
1549
|
-
filteredNodesWithTheirParents.add(childNode);
|
1550
|
-
this.expandDataNode(childNode);
|
1551
|
-
});
|
1552
|
-
}
|
1581
|
+
let result = [];
|
1582
|
+
this.filters
|
1583
|
+
.forEach((filter, index, filters) => {
|
1584
|
+
const prevFilter = filters[index - 1] || null;
|
1585
|
+
result = filter.handle(value, prevFilter);
|
1553
1586
|
});
|
1554
|
-
this.filterModel.
|
1587
|
+
this.filterModel.clear();
|
1588
|
+
this.filterModel.select(...result);
|
1589
|
+
// set current expansion state according to filtered tree
|
1590
|
+
this.expansionModel.setSelection(...result.filter((node) => this.isExpandable(node)));
|
1555
1591
|
this.updateFilterValue(value);
|
1556
|
-
|
1592
|
+
Promise.resolve()
|
1593
|
+
.then(() => this.restoreExpansionState());
|
1557
1594
|
}
|
1558
|
-
|
1559
|
-
|
1595
|
+
getFilters() {
|
1596
|
+
return this.filters;
|
1560
1597
|
}
|
1561
|
-
|
1562
|
-
|
1563
|
-
|
1564
|
-
|
1598
|
+
setFilters(...filters) {
|
1599
|
+
this.filters = filters;
|
1600
|
+
}
|
1601
|
+
updateFilterValue(value) {
|
1602
|
+
Promise.resolve()
|
1603
|
+
.then(() => this.filterValue.next(value));
|
1565
1604
|
}
|
1566
1605
|
saveExpansionState() {
|
1567
|
-
if (this.filterValue.value
|
1606
|
+
if (!this.filterValue.value) {
|
1568
1607
|
this.expandedItemsBeforeFiltration = this.expansionModel.selected;
|
1569
1608
|
}
|
1570
1609
|
}
|
1571
1610
|
restoreExpansionState() {
|
1572
|
-
if (this.filterValue.value
|
1573
|
-
this.expansionModel.
|
1574
|
-
this.expansionModel.select(...this.expandedItemsBeforeFiltration);
|
1611
|
+
if (!this.filterValue.value) {
|
1612
|
+
this.expansionModel.setSelection(...this.expandedItemsBeforeFiltration);
|
1575
1613
|
}
|
1576
1614
|
}
|
1577
|
-
hasFilteredDescendant(dataNode, filteredNodes) {
|
1578
|
-
const filteredViewValues = filteredNodes
|
1579
|
-
.map((node) => this.getViewValue(node));
|
1580
|
-
return this.getDescendants(dataNode)
|
1581
|
-
.filter((node) => filteredViewValues.includes(this.getViewValue(node)))
|
1582
|
-
.length > 0;
|
1583
|
-
}
|
1584
1615
|
}
|
1585
1616
|
|
1586
1617
|
/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
|
@@ -1812,5 +1843,5 @@ class McTreeNestedDataSource extends DataSource {
|
|
1812
1843
|
* Generated bundle index. Do not edit.
|
1813
1844
|
*/
|
1814
1845
|
|
1815
|
-
export { BaseTreeControl, FlatTreeControl, MC_SELECTION_TREE_VALUE_ACCESSOR, MC_TREE_OPTION_PARENT_COMPONENT, McTree, McTreeBase, McTreeCopyEvent, McTreeFlatDataSource, McTreeFlattener, McTreeModule, McTreeNavigationChange, McTreeNestedDataSource, McTreeNode, McTreeNodeDef, McTreeNodeOutlet, McTreeNodeOutletContext, McTreeNodePadding, McTreeNodeToggleBase, McTreeNodeToggleBaseDirective, McTreeNodeToggleComponent, McTreeNodeToggleDirective, McTreeNodeToggleMixinBase, McTreeOption, McTreeOptionChange, McTreeSelectAllEvent, McTreeSelection, McTreeSelectionChange, NestedTreeControl, defaultCompareValues, defaultCompareViewValues };
|
1846
|
+
export { BaseTreeControl, FilterByValues, FilterByViewValue, FilterParentsForNodes, FlatTreeControl, MC_SELECTION_TREE_VALUE_ACCESSOR, MC_TREE_OPTION_PARENT_COMPONENT, McTree, McTreeBase, McTreeCopyEvent, McTreeFlatDataSource, McTreeFlattener, McTreeModule, McTreeNavigationChange, McTreeNestedDataSource, McTreeNode, McTreeNodeDef, McTreeNodeOutlet, McTreeNodeOutletContext, McTreeNodePadding, McTreeNodeToggleBase, McTreeNodeToggleBaseDirective, McTreeNodeToggleComponent, McTreeNodeToggleDirective, McTreeNodeToggleMixinBase, McTreeOption, McTreeOptionChange, McTreeSelectAllEvent, McTreeSelection, McTreeSelectionChange, NestedTreeControl, defaultCompareValues, defaultCompareViewValues };
|
1816
1847
|
//# sourceMappingURL=ptsecurity-mosaic-tree.mjs.map
|