cmat 0.0.6 → 0.0.7
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/components/breadcrumb/public-api.d.ts +2 -0
- package/components/card/public-api.d.ts +1 -0
- package/components/cascade/public-api.d.ts +1 -0
- package/components/material-datetimepicker/public-api.d.ts +1 -0
- package/components/pagination/public-api.d.ts +1 -0
- package/components/popover/popover-trigger.d.ts +121 -0
- package/components/popover/popover.target.d.ts +8 -0
- package/components/popover/public-api.d.ts +3 -0
- package/components/select-tree/public-api.d.ts +2 -0
- package/components/toast/public-api.d.ts +4 -0
- package/esm2022/components/breadcrumb/public-api.mjs +3 -1
- package/esm2022/components/card/public-api.mjs +2 -1
- package/esm2022/components/cascade/public-api.mjs +2 -1
- package/esm2022/components/chip-input/chip-input.component.mjs +2 -2
- package/esm2022/components/material-datetimepicker/public-api.mjs +2 -1
- package/esm2022/components/pagination/public-api.mjs +2 -1
- package/esm2022/components/popover/popover-trigger.mjs +444 -0
- package/esm2022/components/popover/popover.target.mjs +18 -0
- package/esm2022/components/popover/public-api.mjs +4 -1
- package/esm2022/components/select-tree/public-api.mjs +3 -1
- package/esm2022/components/toast/public-api.mjs +5 -1
- package/fesm2022/cmat-components-chip-input.mjs +1 -1
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +458 -3
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +4 -1
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +1 -1
- package/package.json +70 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-components-popover.mjs","sources":["../../../projects/cmat/components/popover/popover.errors.ts","../../../projects/cmat/components/popover/popover.component.ts","../../../projects/cmat/components/popover/popover.component.html","../../../projects/cmat/components/popover/cmat-components-popover.ts"],"sourcesContent":["\r\n/**\r\n * Throws an exception for the case when popover trigger doesn't have a valid cmat-popover instance\r\n */\r\nexport function throwCmatPopoverMissingError(): void {\r\n throw Error(`cmat-popover-trigger: must pass in an cmat-popover instance.\r\n\r\n Example:\r\n <cmat-popover #popover=\"cmatPopover\"></cmat-popover>\r\n <button [cmatPopoverTriggerFor]=\"popover\"></button>`);\r\n}\r\n\r\n/**\r\n * Throws an exception for the case when popover's cmatPopoverPosition[0] value isn't valid.\r\n * In other words, it doesn't match 'above', 'below', 'before' or 'after'.\r\n */\r\nexport function throwCmatPopoverInvalidPositionStart(): void {\r\n throw Error(`cmatPopoverPosition[0] value must be either 'above', 'below', 'before' or 'after'.\r\n Example: <cmat-popover [position]=\"['below', 'after']\" #popover=\"cmatPopover\"></cmat-popover>`);\r\n}\r\n\r\n/**\r\n * Throws an exception for the case when popover's cmatPopoverPosition[1] value isn't valid.\r\n * In other words, it doesn't match 'above', 'below', 'before', 'after' or 'center'.\r\n */\r\nexport function throwCmatPopoverInvalidPositionEnd(): void {\r\n throw Error(`cmatPopoverPosition[1] value must be either 'above', 'below', 'before', 'after' or 'center'.\r\n Example: <cmat-popover [position]=\"['below', 'after']\" #popover=\"cmatPopover\"></cmat-popover>`);\r\n}\r\n","/* eslint-disable @typescript-eslint/naming-convention */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AnimationEvent } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Directionality } from '@angular/cdk/bidi';\r\n\r\nimport { CmatPopoverPosition, CmatPopoverScrollStrategy, CmatPopoverTriggerEvent } from './popover.type';\r\nimport { throwCmatPopoverInvalidPositionEnd, throwCmatPopoverInvalidPositionStart } from './popover.errors';\r\nimport { CmatPopoverPanel } from './popover.interfaces';\r\nimport { cmatAnimations } from 'cmat/animations';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'cmat-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [cmatAnimations],\r\n exportAs: 'cmatPopover',\r\n standalone: true,\r\n imports: [NgStyle, NgClass,A11yModule]\r\n})\r\nexport class CmatPopoverComponent implements CmatPopoverPanel, OnDestroy {\r\n static ngAcceptInputType_closeOnPanelClick: BooleanInput;\r\n static ngAcceptInputType_closeOnBackdropClick: BooleanInput;\r\n static ngAcceptInputType_disableAnimation: BooleanInput;\r\n static ngAcceptInputType_focusTrapEnabled: BooleanInput;\r\n static ngAcceptInputType_focusTrapAutoCaptureEnabled: BooleanInput;\r\n\r\n /** Event emitted when the popover is closed. */\r\n @Output() closed = new EventEmitter<void>();\r\n\r\n @ViewChild(TemplateRef) templateRef!: TemplateRef<any>;\r\n\r\n @HostBinding('attr.role') role = 'dialog';\r\n /** Config object to be passed into the popover's arrow ngStyle */\r\n @Input()\r\n popoverPanelStyles = {};\r\n\r\n /** Config object to be passed into the popover's arrow ngStyle */\r\n @Input()\r\n public popoverArrowStyles = {};\r\n\r\n /** Config object to be passed into the popover's content ngStyle */\r\n @Input()\r\n public popoverContentStyles = {};\r\n /** Whether popover's `targetElement` is defined */\r\n public containerPositioning = false;\r\n\r\n /** Closing disabled on popover */\r\n public closeDisabled = false;\r\n\r\n /** Config object to be passed into the popover's ngClass */\r\n classList: { [key: string]: boolean } = {};\r\n\r\n /** Emits the current animation state whenever it changes. */\r\n _onAnimationStateChange = new EventEmitter<AnimationEvent>();\r\n\r\n /** Settings for popover, view setters and getters for more detail */\r\n private _position: CmatPopoverPosition = ['below', 'after'];\r\n private _triggerEvent: CmatPopoverTriggerEvent = 'hover';\r\n private _scrollStrategy: CmatPopoverScrollStrategy = 'reposition';\r\n private _enterDelay = 100;\r\n private _leaveDelay = 100;\r\n private _panelOffsetX = 0;\r\n private _panelOffsetY = 0;\r\n private _closeOnPanelClick = false;\r\n private _closeOnBackdropClick = true;\r\n private _disableAnimation = false;\r\n private _focusTrapEnabled = true;\r\n private _focusTrapAutoCaptureEnabled = true;\r\n private _arrowOffsetX = 20;\r\n private _arrowOffsetY = 20;\r\n private _arrowWidth = 16;\r\n private _arrowHeight = 16;\r\n\r\n constructor(\r\n @Optional() private _dir: Directionality,\r\n private _elementRef: ElementRef,\r\n public zone: NgZone\r\n ) {\r\n this.setPositionClasses();\r\n }\r\n\r\n get position(): CmatPopoverPosition {\r\n return this._position;\r\n }\r\n /** Position of the popover. */\r\n @Input()\r\n set position(value: CmatPopoverPosition) {\r\n if (!['before', 'after', 'above', 'below'].includes(value[0])) {\r\n throwCmatPopoverInvalidPositionStart();\r\n }\r\n if (!['before', 'after', 'above', 'below', 'center'].includes(value[1])) {\r\n throwCmatPopoverInvalidPositionEnd();\r\n }\r\n this._position = value;\r\n this.setPositionClasses();\r\n }\r\n\r\n /** Popover trigger event */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get triggerEvent(): CmatPopoverTriggerEvent {\r\n return this._triggerEvent;\r\n }\r\n @Input()\r\n set triggerEvent(value: CmatPopoverTriggerEvent) {\r\n this._triggerEvent = value;\r\n }\r\n\r\n /** Popover scroll strategy */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get scrollStrategy(): CmatPopoverScrollStrategy {\r\n return this._scrollStrategy;\r\n }\r\n @Input()\r\n set scrollStrategy(value: CmatPopoverScrollStrategy) {\r\n this._scrollStrategy = value;\r\n }\r\n\r\n /** Popover enter delay */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get enterDelay(): number {\r\n return this._enterDelay;\r\n }\r\n\r\n @Input()\r\n set enterDelay(value: number) {\r\n this._enterDelay = value;\r\n }\r\n\r\n /** Popover leave delay */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get leaveDelay(): number {\r\n return this._leaveDelay;\r\n }\r\n\r\n @Input()\r\n set leaveDelay(value: number) {\r\n this._leaveDelay = value;\r\n }\r\n\r\n /** Popover target offset x */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get xOffset(): number {\r\n return this._panelOffsetX;\r\n }\r\n @Input()\r\n set xOffset(value: number) {\r\n this._panelOffsetX = value;\r\n }\r\n\r\n /** Popover target offset y */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get yOffset(): number {\r\n return this._panelOffsetY;\r\n }\r\n\r\n @Input()\r\n set yOffset(value: number) {\r\n this._panelOffsetY = value;\r\n }\r\n\r\n /** Popover arrow offset x */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowOffsetX(): number {\r\n return this._arrowOffsetX;\r\n }\r\n\r\n @Input()\r\n set arrowOffsetX(value: number) {\r\n this._arrowOffsetX = value;\r\n }\r\n\r\n /** Popover arrow offset y */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowOffsetY(): number {\r\n return this._arrowOffsetY;\r\n }\r\n\r\n @Input()\r\n set arrowOffsetY(value: number) {\r\n this._arrowOffsetY = value;\r\n }\r\n\r\n /** Popover arrow width */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowWidth(): number {\r\n return this._arrowWidth;\r\n }\r\n\r\n @Input()\r\n set arrowWidth(value: number) {\r\n this._arrowWidth = value;\r\n }\r\n\r\n /** Popover arrow height */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowHeight(): number {\r\n return this._arrowHeight;\r\n }\r\n @Input()\r\n set arrowHeight(value: number) {\r\n this._arrowHeight = value;\r\n }\r\n\r\n /** Popover close on container click */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get closeOnPanelClick(): boolean {\r\n return this._closeOnPanelClick;\r\n }\r\n\r\n @Input()\r\n set closeOnPanelClick(value: boolean) {\r\n this._closeOnPanelClick = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Popover close on backdrop click */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get closeOnBackdropClick(): boolean {\r\n return this._closeOnBackdropClick;\r\n }\r\n @Input()\r\n set closeOnBackdropClick(value: boolean) {\r\n this._closeOnBackdropClick = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Disable animations of popover and all child elements */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get disableAnimation(): boolean {\r\n return this._disableAnimation;\r\n }\r\n\r\n @Input()\r\n set disableAnimation(value: boolean) {\r\n this._disableAnimation = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Popover focus trap using cdkTrapFocus */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get focusTrapEnabled(): boolean {\r\n return this._focusTrapEnabled;\r\n }\r\n\r\n @Input()\r\n set focusTrapEnabled(value: boolean) {\r\n this._focusTrapEnabled = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Popover focus trap auto capture using cdkTrapFocusAutoCapture */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get focusTrapAutoCaptureEnabled(): boolean {\r\n return this._focusTrapAutoCaptureEnabled;\r\n }\r\n\r\n @Input()\r\n set focusTrapAutoCaptureEnabled(value: boolean) {\r\n this._focusTrapAutoCaptureEnabled = coerceBooleanProperty(value);\r\n }\r\n\r\n /**\r\n * This method takes classes set on the host md-popover element and applies them on the\r\n * popover template that displays in the overlay container. Otherwise, it's difficult\r\n * to style the containing popover from outside the component.\r\n *\r\n * @param classes list of class names\r\n */\r\n @Input()\r\n set panelClass(classes: string) {\r\n if (classes && classes.length) {\r\n this.classList = classes.split(' ').reduce((obj: any, className: string) => {\r\n obj[className] = true;\r\n return obj;\r\n }, {});\r\n\r\n this._elementRef.nativeElement.className = '';\r\n this.setPositionClasses();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.emitCloseEvent();\r\n this.closed.complete();\r\n }\r\n\r\n /** Handle a keyboard event from the popover, delegating to the appropriate action. */\r\n handleKeydown(event: KeyboardEvent): void {\r\n switch (event.code) {\r\n case 'Escape':\r\n this.emitCloseEvent();\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * This emits a close event to which the trigger is subscribed. When emitted, the\r\n * trigger will close the popover.\r\n */\r\n emitCloseEvent(): void {\r\n this.closed.emit();\r\n }\r\n\r\n /** Close popover on click if closeOnPanelClick is true */\r\n onClick(): void {\r\n if (this.closeOnPanelClick) {\r\n this.emitCloseEvent();\r\n }\r\n }\r\n\r\n /**\r\n * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\r\n * https://github.com/angular/material2/pull/5493#issuecomment-313085323\r\n */\r\n /** Disables close of popover when leaving trigger element and mouse over the popover */\r\n onMouseOver(): void {\r\n if (this.triggerEvent === 'hover') {\r\n this.closeDisabled = true;\r\n }\r\n }\r\n\r\n onFocus(): void {\r\n //do someting\r\n }\r\n\r\n /** Enables close of popover when mouse leaving popover element */\r\n onMouseLeave(): void {\r\n if (this.triggerEvent === 'hover') {\r\n this.closeDisabled = false;\r\n this.emitCloseEvent();\r\n }\r\n }\r\n\r\n // TODO: Refactor how styles are set and updated on the component, use best practices.\r\n // TODO: If arrow left and right positioning is requested, see if flex direction can be used to work with order.\r\n /** Sets the current styles for the popover to allow for dynamically changing settings */\r\n setCurrentStyles(pos = this.position): void {\r\n const left =\r\n pos[1] === 'after'\r\n ? `${this.arrowOffsetX - this.arrowWidth / 2}px`\r\n : pos[1] === 'center'\r\n ? `calc(50% - ${this.arrowWidth / 2}px)`\r\n : '';\r\n const right = pos[1] === 'before' ? `${this.arrowOffsetX - this.arrowWidth / 2}px` : '';\r\n\r\n const bottom =\r\n pos[1] === 'above'\r\n ? `${this.arrowOffsetY - this.arrowHeight / 2}px`\r\n : pos[1] === 'center'\r\n ? `calc(50% - ${this.arrowHeight / 2}px)`\r\n : '';\r\n const top = pos[1] === 'below' ? `${this.arrowOffsetY - this.arrowHeight / 2}px` : '';\r\n\r\n this.popoverArrowStyles =\r\n pos[0] === 'above' || pos[0] === 'below'\r\n ? {\r\n left: this._dir.value === 'ltr' ? left : right,\r\n right: this._dir.value === 'ltr' ? right : left,\r\n }\r\n : {\r\n top,\r\n bottom,\r\n };\r\n }\r\n\r\n /**\r\n * It's necessary to set position-based classes to ensure the popover panel animation\r\n * folds out from the correct direction.\r\n */\r\n setPositionClasses(pos = this.position): void {\r\n this.classList['cmat-popover-before-above'] = pos[0] === 'before' && pos[1] === 'above';\r\n this.classList['cmat-popover-before-center'] = pos[0] === 'before' && pos[1] === 'center';\r\n this.classList['cmat-popover-before-below'] = pos[0] === 'before' && pos[1] === 'below';\r\n this.classList['cmat-popover-after-above'] = pos[0] === 'after' && pos[1] === 'above';\r\n this.classList['cmat-popover-after-center'] = pos[0] === 'after' && pos[1] === 'center';\r\n this.classList['cmat-popover-after-below'] = pos[0] === 'after' && pos[1] === 'below';\r\n this.classList['cmat-popover-above-before'] = pos[0] === 'above' && pos[1] === 'before';\r\n this.classList['cmat-popover-above-center'] = pos[0] === 'above' && pos[1] === 'center';\r\n this.classList['cmat-popover-above-after'] = pos[0] === 'above' && pos[1] === 'after';\r\n this.classList['cmat-popover-below-before'] = pos[0] === 'below' && pos[1] === 'before';\r\n this.classList['cmat-popover-below-center'] = pos[0] === 'below' && pos[1] === 'center';\r\n this.classList['cmat-popover-below-after'] = pos[0] === 'below' && pos[1] === 'after';\r\n }\r\n}\r\n","<ng-template>\r\n <div class=\"cmat-popover-panel shadow\" role=\"dialog\" [ngClass]=\"classList\" [ngStyle]=\"popoverPanelStyles\"\r\n (keydown)=\"handleKeydown($event)\" (click)=\"onClick()\" (focus)=\"onFocus()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\"\r\n [@.disabled]=\"disableAnimation\" [@transform]=\"'enter'\">\r\n <div class=\"cmat-popover-direction-arrow\" [ngStyle]=\"popoverArrowStyles\"></div>\r\n <div class=\"cmat-popover-content\" [ngStyle]=\"popoverContentStyles\" [cdkTrapFocus]=\"focusTrapEnabled\"\r\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-components-popover.mjs","sources":["../../../projects/cmat/components/popover/popover.errors.ts","../../../projects/cmat/components/popover/popover.component.ts","../../../projects/cmat/components/popover/popover.component.html","../../../projects/cmat/components/popover/popover-trigger.ts","../../../projects/cmat/components/popover/popover.target.ts","../../../projects/cmat/components/popover/cmat-components-popover.ts"],"sourcesContent":["\r\n/**\r\n * Throws an exception for the case when popover trigger doesn't have a valid cmat-popover instance\r\n */\r\nexport function throwCmatPopoverMissingError(): void {\r\n throw Error(`cmat-popover-trigger: must pass in an cmat-popover instance.\r\n\r\n Example:\r\n <cmat-popover #popover=\"cmatPopover\"></cmat-popover>\r\n <button [cmatPopoverTriggerFor]=\"popover\"></button>`);\r\n}\r\n\r\n/**\r\n * Throws an exception for the case when popover's cmatPopoverPosition[0] value isn't valid.\r\n * In other words, it doesn't match 'above', 'below', 'before' or 'after'.\r\n */\r\nexport function throwCmatPopoverInvalidPositionStart(): void {\r\n throw Error(`cmatPopoverPosition[0] value must be either 'above', 'below', 'before' or 'after'.\r\n Example: <cmat-popover [position]=\"['below', 'after']\" #popover=\"cmatPopover\"></cmat-popover>`);\r\n}\r\n\r\n/**\r\n * Throws an exception for the case when popover's cmatPopoverPosition[1] value isn't valid.\r\n * In other words, it doesn't match 'above', 'below', 'before', 'after' or 'center'.\r\n */\r\nexport function throwCmatPopoverInvalidPositionEnd(): void {\r\n throw Error(`cmatPopoverPosition[1] value must be either 'above', 'below', 'before', 'after' or 'center'.\r\n Example: <cmat-popover [position]=\"['below', 'after']\" #popover=\"cmatPopover\"></cmat-popover>`);\r\n}\r\n","/* eslint-disable @typescript-eslint/naming-convention */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AnimationEvent } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Directionality } from '@angular/cdk/bidi';\r\n\r\nimport { CmatPopoverPosition, CmatPopoverScrollStrategy, CmatPopoverTriggerEvent } from './popover.type';\r\nimport { throwCmatPopoverInvalidPositionEnd, throwCmatPopoverInvalidPositionStart } from './popover.errors';\r\nimport { CmatPopoverPanel } from './popover.interfaces';\r\nimport { cmatAnimations } from 'cmat/animations';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'cmat-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [cmatAnimations],\r\n exportAs: 'cmatPopover',\r\n standalone: true,\r\n imports: [NgStyle, NgClass,A11yModule]\r\n})\r\nexport class CmatPopoverComponent implements CmatPopoverPanel, OnDestroy {\r\n static ngAcceptInputType_closeOnPanelClick: BooleanInput;\r\n static ngAcceptInputType_closeOnBackdropClick: BooleanInput;\r\n static ngAcceptInputType_disableAnimation: BooleanInput;\r\n static ngAcceptInputType_focusTrapEnabled: BooleanInput;\r\n static ngAcceptInputType_focusTrapAutoCaptureEnabled: BooleanInput;\r\n\r\n /** Event emitted when the popover is closed. */\r\n @Output() closed = new EventEmitter<void>();\r\n\r\n @ViewChild(TemplateRef) templateRef!: TemplateRef<any>;\r\n\r\n @HostBinding('attr.role') role = 'dialog';\r\n /** Config object to be passed into the popover's arrow ngStyle */\r\n @Input()\r\n popoverPanelStyles = {};\r\n\r\n /** Config object to be passed into the popover's arrow ngStyle */\r\n @Input()\r\n public popoverArrowStyles = {};\r\n\r\n /** Config object to be passed into the popover's content ngStyle */\r\n @Input()\r\n public popoverContentStyles = {};\r\n /** Whether popover's `targetElement` is defined */\r\n public containerPositioning = false;\r\n\r\n /** Closing disabled on popover */\r\n public closeDisabled = false;\r\n\r\n /** Config object to be passed into the popover's ngClass */\r\n classList: { [key: string]: boolean } = {};\r\n\r\n /** Emits the current animation state whenever it changes. */\r\n _onAnimationStateChange = new EventEmitter<AnimationEvent>();\r\n\r\n /** Settings for popover, view setters and getters for more detail */\r\n private _position: CmatPopoverPosition = ['below', 'after'];\r\n private _triggerEvent: CmatPopoverTriggerEvent = 'hover';\r\n private _scrollStrategy: CmatPopoverScrollStrategy = 'reposition';\r\n private _enterDelay = 100;\r\n private _leaveDelay = 100;\r\n private _panelOffsetX = 0;\r\n private _panelOffsetY = 0;\r\n private _closeOnPanelClick = false;\r\n private _closeOnBackdropClick = true;\r\n private _disableAnimation = false;\r\n private _focusTrapEnabled = true;\r\n private _focusTrapAutoCaptureEnabled = true;\r\n private _arrowOffsetX = 20;\r\n private _arrowOffsetY = 20;\r\n private _arrowWidth = 16;\r\n private _arrowHeight = 16;\r\n\r\n constructor(\r\n @Optional() private _dir: Directionality,\r\n private _elementRef: ElementRef,\r\n public zone: NgZone\r\n ) {\r\n this.setPositionClasses();\r\n }\r\n\r\n get position(): CmatPopoverPosition {\r\n return this._position;\r\n }\r\n /** Position of the popover. */\r\n @Input()\r\n set position(value: CmatPopoverPosition) {\r\n if (!['before', 'after', 'above', 'below'].includes(value[0])) {\r\n throwCmatPopoverInvalidPositionStart();\r\n }\r\n if (!['before', 'after', 'above', 'below', 'center'].includes(value[1])) {\r\n throwCmatPopoverInvalidPositionEnd();\r\n }\r\n this._position = value;\r\n this.setPositionClasses();\r\n }\r\n\r\n /** Popover trigger event */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get triggerEvent(): CmatPopoverTriggerEvent {\r\n return this._triggerEvent;\r\n }\r\n @Input()\r\n set triggerEvent(value: CmatPopoverTriggerEvent) {\r\n this._triggerEvent = value;\r\n }\r\n\r\n /** Popover scroll strategy */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get scrollStrategy(): CmatPopoverScrollStrategy {\r\n return this._scrollStrategy;\r\n }\r\n @Input()\r\n set scrollStrategy(value: CmatPopoverScrollStrategy) {\r\n this._scrollStrategy = value;\r\n }\r\n\r\n /** Popover enter delay */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get enterDelay(): number {\r\n return this._enterDelay;\r\n }\r\n\r\n @Input()\r\n set enterDelay(value: number) {\r\n this._enterDelay = value;\r\n }\r\n\r\n /** Popover leave delay */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get leaveDelay(): number {\r\n return this._leaveDelay;\r\n }\r\n\r\n @Input()\r\n set leaveDelay(value: number) {\r\n this._leaveDelay = value;\r\n }\r\n\r\n /** Popover target offset x */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get xOffset(): number {\r\n return this._panelOffsetX;\r\n }\r\n @Input()\r\n set xOffset(value: number) {\r\n this._panelOffsetX = value;\r\n }\r\n\r\n /** Popover target offset y */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get yOffset(): number {\r\n return this._panelOffsetY;\r\n }\r\n\r\n @Input()\r\n set yOffset(value: number) {\r\n this._panelOffsetY = value;\r\n }\r\n\r\n /** Popover arrow offset x */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowOffsetX(): number {\r\n return this._arrowOffsetX;\r\n }\r\n\r\n @Input()\r\n set arrowOffsetX(value: number) {\r\n this._arrowOffsetX = value;\r\n }\r\n\r\n /** Popover arrow offset y */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowOffsetY(): number {\r\n return this._arrowOffsetY;\r\n }\r\n\r\n @Input()\r\n set arrowOffsetY(value: number) {\r\n this._arrowOffsetY = value;\r\n }\r\n\r\n /** Popover arrow width */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowWidth(): number {\r\n return this._arrowWidth;\r\n }\r\n\r\n @Input()\r\n set arrowWidth(value: number) {\r\n this._arrowWidth = value;\r\n }\r\n\r\n /** Popover arrow height */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get arrowHeight(): number {\r\n return this._arrowHeight;\r\n }\r\n @Input()\r\n set arrowHeight(value: number) {\r\n this._arrowHeight = value;\r\n }\r\n\r\n /** Popover close on container click */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get closeOnPanelClick(): boolean {\r\n return this._closeOnPanelClick;\r\n }\r\n\r\n @Input()\r\n set closeOnPanelClick(value: boolean) {\r\n this._closeOnPanelClick = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Popover close on backdrop click */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get closeOnBackdropClick(): boolean {\r\n return this._closeOnBackdropClick;\r\n }\r\n @Input()\r\n set closeOnBackdropClick(value: boolean) {\r\n this._closeOnBackdropClick = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Disable animations of popover and all child elements */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get disableAnimation(): boolean {\r\n return this._disableAnimation;\r\n }\r\n\r\n @Input()\r\n set disableAnimation(value: boolean) {\r\n this._disableAnimation = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Popover focus trap using cdkTrapFocus */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get focusTrapEnabled(): boolean {\r\n return this._focusTrapEnabled;\r\n }\r\n\r\n @Input()\r\n set focusTrapEnabled(value: boolean) {\r\n this._focusTrapEnabled = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Popover focus trap auto capture using cdkTrapFocusAutoCapture */\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get focusTrapAutoCaptureEnabled(): boolean {\r\n return this._focusTrapAutoCaptureEnabled;\r\n }\r\n\r\n @Input()\r\n set focusTrapAutoCaptureEnabled(value: boolean) {\r\n this._focusTrapAutoCaptureEnabled = coerceBooleanProperty(value);\r\n }\r\n\r\n /**\r\n * This method takes classes set on the host md-popover element and applies them on the\r\n * popover template that displays in the overlay container. Otherwise, it's difficult\r\n * to style the containing popover from outside the component.\r\n *\r\n * @param classes list of class names\r\n */\r\n @Input()\r\n set panelClass(classes: string) {\r\n if (classes && classes.length) {\r\n this.classList = classes.split(' ').reduce((obj: any, className: string) => {\r\n obj[className] = true;\r\n return obj;\r\n }, {});\r\n\r\n this._elementRef.nativeElement.className = '';\r\n this.setPositionClasses();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.emitCloseEvent();\r\n this.closed.complete();\r\n }\r\n\r\n /** Handle a keyboard event from the popover, delegating to the appropriate action. */\r\n handleKeydown(event: KeyboardEvent): void {\r\n switch (event.code) {\r\n case 'Escape':\r\n this.emitCloseEvent();\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * This emits a close event to which the trigger is subscribed. When emitted, the\r\n * trigger will close the popover.\r\n */\r\n emitCloseEvent(): void {\r\n this.closed.emit();\r\n }\r\n\r\n /** Close popover on click if closeOnPanelClick is true */\r\n onClick(): void {\r\n if (this.closeOnPanelClick) {\r\n this.emitCloseEvent();\r\n }\r\n }\r\n\r\n /**\r\n * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\r\n * https://github.com/angular/material2/pull/5493#issuecomment-313085323\r\n */\r\n /** Disables close of popover when leaving trigger element and mouse over the popover */\r\n onMouseOver(): void {\r\n if (this.triggerEvent === 'hover') {\r\n this.closeDisabled = true;\r\n }\r\n }\r\n\r\n onFocus(): void {\r\n //do someting\r\n }\r\n\r\n /** Enables close of popover when mouse leaving popover element */\r\n onMouseLeave(): void {\r\n if (this.triggerEvent === 'hover') {\r\n this.closeDisabled = false;\r\n this.emitCloseEvent();\r\n }\r\n }\r\n\r\n // TODO: Refactor how styles are set and updated on the component, use best practices.\r\n // TODO: If arrow left and right positioning is requested, see if flex direction can be used to work with order.\r\n /** Sets the current styles for the popover to allow for dynamically changing settings */\r\n setCurrentStyles(pos = this.position): void {\r\n const left =\r\n pos[1] === 'after'\r\n ? `${this.arrowOffsetX - this.arrowWidth / 2}px`\r\n : pos[1] === 'center'\r\n ? `calc(50% - ${this.arrowWidth / 2}px)`\r\n : '';\r\n const right = pos[1] === 'before' ? `${this.arrowOffsetX - this.arrowWidth / 2}px` : '';\r\n\r\n const bottom =\r\n pos[1] === 'above'\r\n ? `${this.arrowOffsetY - this.arrowHeight / 2}px`\r\n : pos[1] === 'center'\r\n ? `calc(50% - ${this.arrowHeight / 2}px)`\r\n : '';\r\n const top = pos[1] === 'below' ? `${this.arrowOffsetY - this.arrowHeight / 2}px` : '';\r\n\r\n this.popoverArrowStyles =\r\n pos[0] === 'above' || pos[0] === 'below'\r\n ? {\r\n left: this._dir.value === 'ltr' ? left : right,\r\n right: this._dir.value === 'ltr' ? right : left,\r\n }\r\n : {\r\n top,\r\n bottom,\r\n };\r\n }\r\n\r\n /**\r\n * It's necessary to set position-based classes to ensure the popover panel animation\r\n * folds out from the correct direction.\r\n */\r\n setPositionClasses(pos = this.position): void {\r\n this.classList['cmat-popover-before-above'] = pos[0] === 'before' && pos[1] === 'above';\r\n this.classList['cmat-popover-before-center'] = pos[0] === 'before' && pos[1] === 'center';\r\n this.classList['cmat-popover-before-below'] = pos[0] === 'before' && pos[1] === 'below';\r\n this.classList['cmat-popover-after-above'] = pos[0] === 'after' && pos[1] === 'above';\r\n this.classList['cmat-popover-after-center'] = pos[0] === 'after' && pos[1] === 'center';\r\n this.classList['cmat-popover-after-below'] = pos[0] === 'after' && pos[1] === 'below';\r\n this.classList['cmat-popover-above-before'] = pos[0] === 'above' && pos[1] === 'before';\r\n this.classList['cmat-popover-above-center'] = pos[0] === 'above' && pos[1] === 'center';\r\n this.classList['cmat-popover-above-after'] = pos[0] === 'above' && pos[1] === 'after';\r\n this.classList['cmat-popover-below-before'] = pos[0] === 'below' && pos[1] === 'before';\r\n this.classList['cmat-popover-below-center'] = pos[0] === 'below' && pos[1] === 'center';\r\n this.classList['cmat-popover-below-after'] = pos[0] === 'below' && pos[1] === 'after';\r\n }\r\n}\r\n","<ng-template>\r\n <div class=\"cmat-popover-panel shadow\" role=\"dialog\" [ngClass]=\"classList\" [ngStyle]=\"popoverPanelStyles\"\r\n (keydown)=\"handleKeydown($event)\" (click)=\"onClick()\" (focus)=\"onFocus()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\"\r\n [@.disabled]=\"disableAnimation\" [@transform]=\"'enter'\">\r\n <div class=\"cmat-popover-direction-arrow\" [ngStyle]=\"popoverArrowStyles\"></div>\r\n <div class=\"cmat-popover-content\" [ngStyle]=\"popoverContentStyles\" [cdkTrapFocus]=\"focusTrapEnabled\"\r\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n ConnectedPosition,\r\n FlexibleConnectedPositionStrategy,\r\n HorizontalConnectionPos,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n ScrollStrategy,\r\n VerticalConnectionPos,\r\n} from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\n\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { CmatPopoverPanel, CmatTarget } from './popover.interfaces';\r\nimport {\r\n CmatPopoverPosition,\r\n CmatPopoverPositionStart,\r\n CmatPopoverScrollStrategy,\r\n CmatPopoverTriggerEvent,\r\n} from './popover.type';\r\nimport { throwCmatPopoverMissingError } from './popover.errors';\r\n\r\n/**\r\n * This directive is intended to be used in conjunction with an cmat-popover tag. It is\r\n * responsible for toggling the display of the provided popover instance.\r\n */\r\n\r\n@Directive({\r\n selector: '[cmatPopoverTriggerFor],[cmatPopoverTargetAt],[cmatPopoverTriggerOn]',\r\n standalone:true,\r\n exportAs: 'cmatPopoverTrigger'\r\n})\r\nexport class CmatPopoverTriggerDirective implements AfterViewInit, OnDestroy {\r\n @HostBinding('attr.aria-haspopup') ariaHaspopup = true;\r\n /** References the popover instance that the trigger is associated with. */\r\n @Input('cmatPopoverTriggerFor') popover!: CmatPopoverPanel;\r\n\r\n /** References the popover target instance that the trigger is associated with. */\r\n @Input('cmatPopoverTargetAt') targetElement!: CmatTarget;\r\n\r\n /** Popover trigger event */\r\n @Input('cmatPopoverTriggerOn') triggerEvent!: CmatPopoverTriggerEvent;\r\n\r\n /** Event emitted when the associated popover is opened. */\r\n @Output() popoverOpened = new EventEmitter<void>();\r\n\r\n /** Event emitted when the associated popover is closed. */\r\n @Output() popoverClosed = new EventEmitter<void>();\r\n\r\n popoverOpened$ = new Subject<void>();\r\n popoverClosed$ = new Subject<void>();\r\n\r\n private _portal!: TemplatePortal;\r\n private _overlayRef: OverlayRef | null = null;\r\n private _popoverOpen = false;\r\n private _halt = false;\r\n private _backdropSubscription!: Subscription;\r\n private _positionSubscription!: Subscription;\r\n private _detachmentsSubscription!: Subscription;\r\n\r\n private _mouseoverTimer: any;\r\n\r\n // tracking input type is necessary so it's possible to only auto-focus\r\n // the first item of the list when the popover is opened via the keyboard\r\n private _openedByMouse = false;\r\n\r\n private _onDestroy = new Subject<void>();\r\n\r\n\r\n\r\n constructor(\r\n private _overlay: Overlay,\r\n private _elementRef: ElementRef,\r\n private _viewContainerRef: ViewContainerRef,\r\n @Optional() private _dir: Directionality,\r\n private _changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n\r\n /** Whether the popover is open. */\r\n get popoverOpen(): boolean {\r\n return this._popoverOpen;\r\n }\r\n /** The text direction of the containing app. */\r\n get dir(): Direction {\r\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(): void {\r\n if (this.popover.triggerEvent === 'click') {\r\n this.togglePopover();\r\n }\r\n }\r\n\r\n @HostListener('mouseenter', ['$event'])\r\n onMouseEnter(): void {\r\n this._halt = false;\r\n if (this.popover.triggerEvent === 'hover') {\r\n this._mouseoverTimer = setTimeout(() => {\r\n this.openPopover();\r\n }, this.popover.enterDelay);\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n onMouseLeave(): void {\r\n if (this.popover.triggerEvent === 'hover') {\r\n if (this._mouseoverTimer) {\r\n clearTimeout(this._mouseoverTimer);\r\n this._mouseoverTimer = null;\r\n }\r\n if (this._popoverOpen) {\r\n setTimeout(() => {\r\n if (!this.popover.closeDisabled) {\r\n this.closePopover();\r\n }\r\n }, this.popover.leaveDelay);\r\n } else {\r\n this._halt = true;\r\n }\r\n }\r\n }\r\n @HostListener('mousedown', ['$event'])\r\n handleMousedown(event: MouseEvent): void {\r\n if (event && !isFakeMousedownFromScreenReader(event)) {\r\n this._openedByMouse = true;\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n this._checkPopover();\r\n this._setCurrentConfig();\r\n this.popover.closed.subscribe(() => this.closePopover());\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyPopover();\r\n }\r\n\r\n\r\n\r\n /** Toggles the popover between the open and closed states. */\r\n togglePopover(): void {\r\n return this._popoverOpen ? this.closePopover() : this.openPopover();\r\n }\r\n\r\n /** Opens the popover. */\r\n openPopover(): void {\r\n if (!this._popoverOpen && !this._halt) {\r\n this._createOverlay().attach(this._portal);\r\n\r\n this._subscribeToBackdrop();\r\n this._subscribeToDetachments();\r\n\r\n this._initPopover();\r\n }\r\n }\r\n\r\n /** Closes the popover. */\r\n closePopover(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef.detach();\r\n this._resetPopover();\r\n }\r\n\r\n this.destroyPopover();\r\n }\r\n\r\n /** Removes the popover from the DOM. */\r\n destroyPopover(): void {\r\n if (this._mouseoverTimer) {\r\n clearTimeout(this._mouseoverTimer);\r\n this._mouseoverTimer = null;\r\n }\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = null;\r\n this._cleanUpSubscriptions();\r\n }\r\n\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n\r\n /** Focuses the popover trigger. */\r\n focus(): void {\r\n this._elementRef.nativeElement.focus();\r\n }\r\n\r\n /**\r\n * This method ensures that the popover closes when the overlay backdrop is clicked.\r\n * We do not use first() here because doing so would not catch clicks from within\r\n * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\r\n * explicitly when the popover is closed or destroyed.\r\n */\r\n private _subscribeToBackdrop(): void {\r\n if (this._overlayRef) {\r\n /** Only subscribe to backdrop if trigger event is click */\r\n if (this.triggerEvent === 'click' && this.popover.closeOnBackdropClick === true) {\r\n this._overlayRef\r\n .backdropClick()\r\n .pipe(takeUntil(this.popoverClosed$), takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.popover.emitCloseEvent();\r\n });\r\n }\r\n }\r\n }\r\n\r\n private _subscribeToDetachments(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef\r\n .detachments()\r\n .pipe(takeUntil(this.popoverClosed$), takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this._setPopoverClosed();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * This method sets the popover state to open and focuses the first item if\r\n * the popover was opened via the keyboard.\r\n */\r\n private _initPopover(): void {\r\n this._setPopoverOpened();\r\n }\r\n\r\n /**\r\n * This method resets the popover when it's closed, most importantly restoring\r\n * focus to the popover trigger if the popover was opened via the keyboard.\r\n */\r\n private _resetPopover(): void {\r\n this._setPopoverClosed();\r\n\r\n // Focus only needs to be reset to the host element if the popover was opened\r\n // by the keyboard and manually shifted to the first popover item.\r\n if (!this._openedByMouse) {\r\n this.focus();\r\n }\r\n this._openedByMouse = false;\r\n }\r\n\r\n /** set state rather than toggle to support triggers sharing a popover */\r\n private _setPopoverOpened(): void {\r\n if (!this._popoverOpen) {\r\n this._popoverOpen = true;\r\n\r\n this.popoverOpened$.next();\r\n this.popoverOpened.emit();\r\n }\r\n }\r\n\r\n /** set state rather than toggle to support triggers sharing a popover */\r\n private _setPopoverClosed(): void {\r\n if (this._popoverOpen) {\r\n this._popoverOpen = false;\r\n\r\n this.popoverClosed$.next();\r\n this.popoverClosed.emit();\r\n }\r\n }\r\n\r\n /**\r\n * This method checks that a valid instance of MdPopover has been passed into\r\n * mdPopoverTriggerFor. If not, an exception is thrown.\r\n */\r\n private _checkPopover(): void {\r\n if (!this.popover) {\r\n throwCmatPopoverMissingError();\r\n }\r\n }\r\n\r\n /**\r\n * This method creates the overlay from the provided popover's template and saves its\r\n * OverlayRef so that it can be attached to the DOM when openPopover is called.\r\n */\r\n private _createOverlay(): OverlayRef {\r\n if (!this._overlayRef) {\r\n this._portal = new TemplatePortal(this.popover.templateRef, this._viewContainerRef);\r\n const config = this._getOverlayConfig();\r\n this._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\r\n this._overlayRef = this._overlay.create(config);\r\n }\r\n\r\n return this._overlayRef;\r\n }\r\n\r\n /**\r\n * This method builds the configuration object needed to create the overlay, the OverlayConfig.\r\n *\r\n * @returns OverlayConfig\r\n */\r\n private _getOverlayConfig(): OverlayConfig {\r\n const overlayState = new OverlayConfig();\r\n overlayState.positionStrategy = this._getPosition();\r\n\r\n /** Display overlay backdrop if trigger event is click */\r\n if (this.triggerEvent === 'click') {\r\n overlayState.hasBackdrop = true;\r\n overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\r\n }\r\n\r\n overlayState.direction = this._dir;\r\n overlayState.scrollStrategy = this._getOverlayScrollStrategy(this.popover.scrollStrategy);\r\n\r\n return overlayState;\r\n }\r\n\r\n /**\r\n * This method returns the scroll strategy used by the cdk/overlay.\r\n */\r\n private _getOverlayScrollStrategy(strategy: CmatPopoverScrollStrategy): ScrollStrategy {\r\n switch (strategy) {\r\n case 'noop':\r\n return this._overlay.scrollStrategies.noop();\r\n case 'close':\r\n return this._overlay.scrollStrategies.close();\r\n case 'block':\r\n return this._overlay.scrollStrategies.block();\r\n case 'reposition':\r\n default:\r\n return this._overlay.scrollStrategies.reposition();\r\n }\r\n }\r\n\r\n /**\r\n * Listens to changes in the position of the overlay and sets the correct classes\r\n * on the popover based on the new position. This ensures the animation origin is always\r\n * correct, even if a fallback position is used for the overlay.\r\n */\r\n private _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\r\n this._positionSubscription = position.positionChanges.subscribe((change) => {\r\n const posX =\r\n change.connectionPair.overlayX === 'start'\r\n ? 'after'\r\n : change.connectionPair.overlayX === 'end'\r\n ? 'before'\r\n : 'center';\r\n const posY =\r\n change.connectionPair.overlayY === 'top'\r\n ? 'below'\r\n : change.connectionPair.overlayY === 'bottom'\r\n ? 'above'\r\n : 'center';\r\n\r\n const pos: CmatPopoverPosition =\r\n this.popover.position[0] === 'above' || this.popover.position[0] === 'below'\r\n ? [posY as CmatPopoverPositionStart, posX]\r\n : [posX as CmatPopoverPositionStart, posY];\r\n\r\n // required for ChangeDetectionStrategy.OnPush\r\n this._changeDetectorRef.markForCheck();\r\n\r\n this.popover.zone.run(() => {\r\n this.popover.setCurrentStyles(pos);\r\n this.popover.setPositionClasses(pos);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * This method builds the position strategy for the overlay, so the popover is properly connected\r\n * to the trigger.\r\n *\r\n * @returns ConnectedPositionStrategy\r\n */\r\n private _getPosition(): FlexibleConnectedPositionStrategy {\r\n const [originX, origin2ndX, origin3rdX]: HorizontalConnectionPos[] =\r\n this.popover.position[0] === 'before' || this.popover.position[1] === 'after'\r\n ? ['start', 'center', 'end']\r\n : this.popover.position[0] === 'after' || this.popover.position[1] === 'before'\r\n ? ['end', 'center', 'start']\r\n : ['center', 'start', 'end'];\r\n\r\n const [originY, origin2ndY, origin3rdY]: VerticalConnectionPos[] =\r\n this.popover.position[0] === 'above' || this.popover.position[1] === 'below'\r\n ? ['top', 'center', 'bottom']\r\n : this.popover.position[0] === 'below' || this.popover.position[1] === 'above'\r\n ? ['bottom', 'center', 'top']\r\n : ['center', 'top', 'bottom'];\r\n\r\n const [overlayX, overlayFallbackX]: HorizontalConnectionPos[] =\r\n this.popover.position[0] === 'below' || this.popover.position[0] === 'above'\r\n ? [originX, originX]\r\n : this.popover.position[0] === 'before'\r\n ? ['end', 'start']\r\n : ['start', 'end'];\r\n\r\n const [overlayY, overlayFallbackY]: VerticalConnectionPos[] =\r\n this.popover.position[0] === 'before' || this.popover.position[0] === 'after'\r\n ? [originY, originY]\r\n : this.popover.position[0] === 'below'\r\n ? ['top', 'bottom']\r\n : ['bottom', 'top'];\r\n\r\n const originFallbackX = overlayX;\r\n const originFallbackY = overlayY;\r\n\r\n const offsetX =\r\n this.popover.xOffset && !isNaN(Number(this.popover.xOffset))\r\n ? Number(this.dir === 'ltr' ? this.popover.xOffset : -this.popover.xOffset)\r\n : 0;\r\n const offsetY =\r\n this.popover.yOffset && !isNaN(Number(this.popover.yOffset))\r\n ? Number(this.popover.yOffset)\r\n : 0;\r\n\r\n /**\r\n * For overriding position element, when `cmatPopoverTargetAt` has a valid element reference.\r\n * Useful for sticking popover to parent element and offsetting arrow to trigger element.\r\n * If undefined defaults to the trigger element reference.\r\n */\r\n let element = this._elementRef;\r\n if (typeof this.targetElement !== 'undefined') {\r\n this.popover.containerPositioning = true;\r\n element = this.targetElement._elementRef;\r\n }\r\n\r\n let positions: ConnectedPosition[] = [{ originX, originY, overlayX, overlayY }];\r\n\r\n if (this.popover.position[0] === 'above' || this.popover.position[0] === 'below') {\r\n positions = [\r\n { originX, originY, overlayX, overlayY, offsetY },\r\n { originX: origin2ndX, originY, overlayX: origin2ndX, overlayY, offsetY },\r\n { originX: origin3rdX, originY, overlayX: origin3rdX, overlayY, offsetY },\r\n {\r\n originX,\r\n originY: originFallbackY,\r\n overlayX,\r\n overlayY: overlayFallbackY,\r\n offsetY: -offsetY,\r\n },\r\n {\r\n originX: origin2ndX,\r\n originY: originFallbackY,\r\n overlayX: origin2ndX,\r\n overlayY: overlayFallbackY,\r\n offsetY: -offsetY,\r\n },\r\n {\r\n originX: origin3rdX,\r\n originY: originFallbackY,\r\n overlayX: origin3rdX,\r\n overlayY: overlayFallbackY,\r\n offsetY: -offsetY,\r\n },\r\n ];\r\n }\r\n\r\n if (this.popover.position[0] === 'before' || this.popover.position[0] === 'after') {\r\n positions = [\r\n { originX, originY, overlayX, overlayY, offsetX },\r\n { originX, originY: origin2ndY, overlayX, overlayY: origin2ndY, offsetX },\r\n { originX, originY: origin3rdY, overlayX, overlayY: origin3rdY, offsetX },\r\n {\r\n originX: originFallbackX,\r\n originY,\r\n overlayX: overlayFallbackX,\r\n overlayY,\r\n offsetX: -offsetX,\r\n },\r\n {\r\n originX: originFallbackX,\r\n originY: origin2ndY,\r\n overlayX: overlayFallbackX,\r\n overlayY: origin2ndY,\r\n offsetX: -offsetX,\r\n },\r\n {\r\n originX: originFallbackX,\r\n originY: origin3rdY,\r\n overlayX: overlayFallbackX,\r\n overlayY: origin3rdY,\r\n offsetX: -offsetX,\r\n },\r\n ];\r\n }\r\n\r\n return this._overlay\r\n .position()\r\n .flexibleConnectedTo(element)\r\n .withLockedPosition()\r\n .withPositions(positions)\r\n .withDefaultOffsetX(offsetX)\r\n .withDefaultOffsetY(offsetY);\r\n }\r\n\r\n private _cleanUpSubscriptions(): void {\r\n if (this._backdropSubscription) {\r\n this._backdropSubscription.unsubscribe();\r\n }\r\n if (this._positionSubscription) {\r\n this._positionSubscription.unsubscribe();\r\n }\r\n if (this._detachmentsSubscription) {\r\n this._detachmentsSubscription.unsubscribe();\r\n }\r\n }\r\n private _setCurrentConfig(): void {\r\n if (this.triggerEvent) {\r\n this.popover.triggerEvent = this.triggerEvent;\r\n }\r\n\r\n this.popover.setCurrentStyles();\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'cmat-popover-target, [cmatPopoverTarget]',\r\n standalone:true,\r\n exportAs: 'cmatPopoverTarget',\r\n})\r\nexport class CmatPopoverTargetDirective {\r\n constructor(public elementRef: ElementRef) {\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -443,9 +443,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
443
443
|
args: ['componentSelect', { static: true }]
|
|
444
444
|
}] } });
|
|
445
445
|
|
|
446
|
+
class CmatSelectTreeNode {
|
|
447
|
+
}
|
|
448
|
+
|
|
446
449
|
/**
|
|
447
450
|
* Generated bundle index. Do not edit.
|
|
448
451
|
*/
|
|
449
452
|
|
|
450
|
-
export { CmatSelectTreeComponent };
|
|
453
|
+
export { CmatSelectTreeComponent, CmatSelectTreeFlatNode, CmatSelectTreeNode };
|
|
451
454
|
//# sourceMappingURL=cmat-components-select-tree.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-components-select-tree.mjs","sources":["../../../projects/cmat/components/select-tree/select-tree.flatnode.ts","../../../projects/cmat/components/select-tree/select-tree.component.ts","../../../projects/cmat/components/select-tree/select-tree.component.html","../../../projects/cmat/components/select-tree/cmat-components-select-tree.ts"],"sourcesContent":["export class CmatSelectTreeFlatNode {\r\n id: string | number;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { merge, ReplaySubject, Subject } from 'rxjs';\r\n\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\n\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener, MatTreeModule } from '@angular/material/tree';\r\nimport { MatSelect, MatSelectModule } from '@angular/material/select';\r\nimport { CmatSelectTreeFlatNode } from './select-tree.flatnode';\r\nimport { CmatSelectTreeNode } from './select-tree.node';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { CmatSelectSearchComponent } from 'cmat/components/select-search';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { NgClass, AsyncPipe, NgStyle } from '@angular/common';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { isNil } from 'lodash-es';\r\n\r\n@Component({\r\n selector: 'cmat-select-tree',\r\n templateUrl: './select-tree.component.html',\r\n styleUrls: ['./select-tree.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatSelectTreeComponent),\r\n multi: true\r\n }\r\n ],\r\n standalone: true,\r\n imports: [MatFormFieldModule, MatIconModule, MatSelectModule, CmatSelectSearchComponent, FormsModule,\r\n ReactiveFormsModule, MatTreeModule, NgClass, MatButtonModule, MatCheckboxModule, AsyncPipe, NgStyle]\r\n})\r\nexport class CmatSelectTreeComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {\r\n\r\n @Input() dataSource: CmatSelectTreeNode[];\r\n\r\n @Input() showLabel: boolean = true;\r\n\r\n @Input() noEntriesFoundLabel = '无结果';\r\n\r\n @Input() showNoFoundLabel = true;\r\n\r\n @Input() placeholder: string = '部门';\r\n\r\n @Input() prefixIcon: string = 'heroicons_outline:building-library';\r\n\r\n @Input() multiple: boolean;\r\n\r\n @Input() required: boolean;\r\n\r\n @Input() overallSearchEnabled: boolean = true;\r\n\r\n @Input() canNull: boolean = false;\r\n\r\n @Input() customTriggerLabelFn: (value: CmatSelectTreeNode[]) => string;\r\n\r\n @Input() customTriggerLabelTemplate: string;\r\n\r\n @Input() expandable: boolean;\r\n\r\n @Input() showToggleAllCheckbox: boolean = false;\r\n\r\n @ViewChild('componentSelect', { static: true }) private _matSelect: MatSelect;\r\n\r\n flatNodeMap = new Map<CmatSelectTreeFlatNode, CmatSelectTreeNode>();\r\n\r\n nestedNodeMap = new Map<CmatSelectTreeNode, CmatSelectTreeFlatNode>();\r\n\r\n selectedParent: CmatSelectTreeFlatNode | null = null;\r\n\r\n treeControl: FlatTreeControl<CmatSelectTreeFlatNode>;\r\n\r\n treeFlattener: MatTreeFlattener<CmatSelectTreeNode, CmatSelectTreeFlatNode>;\r\n\r\n checklistSelection = new SelectionModel<CmatSelectTreeFlatNode>(true);\r\n\r\n treeDataSource: MatTreeFlatDataSource<CmatSelectTreeNode, CmatSelectTreeFlatNode>;\r\n\r\n overallFilterControl: FormControl;\r\n\r\n isIndeterminate = false;\r\n isChecked = false;\r\n dataCount: number = 0;\r\n selectControl:FormControl=new FormControl(); \r\n\r\n matSelectData: ReplaySubject<any[]> = new ReplaySubject<any[]>(1);\r\n\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n constructor(private _cd: ChangeDetectorRef) {\r\n this.overallFilterControl = new FormControl();\r\n\r\n this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel,\r\n this.isExpandable, this.getChildren);\r\n this.treeControl = new FlatTreeControl<CmatSelectTreeFlatNode>(this.getLevel, this.isExpandable);\r\n this.treeDataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n }\r\n\r\n getLevel = (node: CmatSelectTreeFlatNode): number => node.level;\r\n\r\n isExpandable = (node: CmatSelectTreeFlatNode): boolean => node.expandable;\r\n\r\n getChildren = (node: CmatSelectTreeNode): CmatSelectTreeNode[] | null => node.children;\r\n\r\n hasChild = (_: number, _nodeData: CmatSelectTreeFlatNode): boolean => _nodeData.expandable;\r\n\r\n hasNoContent = (_: number, _nodeData: CmatSelectTreeFlatNode): boolean => _nodeData.name === '';\r\n\r\n transformer = (node: CmatSelectTreeNode, level: number): CmatSelectTreeFlatNode => {\r\n const existingNode = this.nestedNodeMap.get(node);\r\n const flatNode = existingNode && existingNode.name === node.name\r\n ? existingNode\r\n : new CmatSelectTreeFlatNode();\r\n flatNode.id = node.id;\r\n flatNode.name = node.name;\r\n flatNode.level = level;\r\n flatNode.expandable = !!node.children && node.children.length > 0;\r\n this.flatNodeMap.set(flatNode, node);\r\n this.nestedNodeMap.set(node, flatNode);\r\n return flatNode;\r\n };\r\n\r\n ngOnInit(): void {\r\n this.multiple = this.multiple || false;\r\n this.required = this.required || false;\r\n\r\n this.treeDataSource.data = this.dataSource;\r\n this.dataCount = this.treeControl.dataNodes.length;\r\n\r\n this.matSelectData.next(this.treeControl.dataNodes);\r\n\r\n if (this.expandable) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n let panelClass: string = '';\r\n if (!this.overallSearchEnabled) {\r\n panelClass = 'cmat-select-search-panel overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom';\r\n }\r\n\r\n if (this._matSelect.panelClass) {\r\n if (Array.isArray(this._matSelect.panelClass)) {\r\n (this._matSelect.panelClass as string[]).push(panelClass);\r\n } else if (typeof this._matSelect.panelClass === 'string') {\r\n this._matSelect.panelClass = [this._matSelect.panelClass, panelClass];\r\n } else if (typeof this._matSelect.panelClass === 'object') {\r\n this._matSelect.panelClass.entries[panelClass] = true;\r\n }\r\n } else {\r\n this._matSelect.panelClass = panelClass;\r\n }\r\n\r\n\r\n this._matSelect.openedChange\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((opened) => {\r\n if (opened && this.multiple) {\r\n this.checklistSelection.selected.forEach((node) => {\r\n if (node.expandable) {\r\n const descendants = this.treeControl.getDescendants(node);\r\n this.checklistSelection.select(...descendants);\r\n }\r\n });\r\n }\r\n\r\n if (!opened) {\r\n if (this.overallSearchEnabled) {\r\n this._resetFilters();\r\n }\r\n\r\n setTimeout(() => {\r\n if (!isNil(this.checklistSelection.selected)) {\r\n\r\n if (this.multiple) {\r\n const findOutNode: CmatSelectTreeFlatNode[] = [];\r\n this.checklistSelection.selected.forEach((node) => {\r\n const parentNode = this.getParentNode(node);\r\n if (parentNode && this.checklistSelection.isSelected(parentNode)) {\r\n findOutNode.push(node);\r\n }\r\n });\r\n\r\n findOutNode.forEach((node) => {\r\n this.checklistSelection.deselect(node);\r\n });\r\n\r\n this._matSelect.writeValue(this.checklistSelection.selected);\r\n\r\n if (this._matSelect.value !== this.checklistSelection.selected) {\r\n this._matSelect.value = this.checklistSelection.selected;\r\n }\r\n this._matSelect._onChange(this.checklistSelection.selected);\r\n\r\n } else {\r\n if (this.checklistSelection.selected && this.checklistSelection.selected.length > 0) {\r\n this._matSelect.writeValue(this.checklistSelection.selected[0]);\r\n if (this._matSelect.value !== this.checklistSelection.selected[0]) {\r\n this._matSelect.value = this.checklistSelection.selected[0];\r\n }\r\n this._matSelect._onChange(this.checklistSelection.selected[0]);\r\n }\r\n }\r\n }\r\n }, 200);\r\n\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n merge(this.overallFilterControl.valueChanges)\r\n .pipe(takeUntil(this._unsubscribeAll), debounceTime(200))\r\n .subscribe(() => {\r\n const dataClone: CmatSelectTreeNode[] = JSON.parse(JSON.stringify([...this.dataSource]));\r\n\r\n const arr: number[] = [];\r\n\r\n for (let i = dataClone.length - 1; i >= 0; i--) {\r\n if (!this._applyColumnLevelFilters(dataClone[i], this.overallFilterControl.value.toLowerCase())) {\r\n arr.push(i);\r\n }\r\n }\r\n arr.forEach((v) => { dataClone.splice(v, 1); });\r\n\r\n this.treeDataSource.data = dataClone;\r\n this.matSelectData.next(this.treeControl.dataNodes);\r\n if (this.expandable) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n this._updateSelect(this.checklistSelection.selected);\r\n\r\n this._cd.detectChanges();\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void): void {\r\n const proxyFn: (value: any) => void = (value: any) => {\r\n fn(value);\r\n };\r\n this._matSelect.registerOnChange(proxyFn);\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._matSelect.registerOnTouched(fn);\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._matSelect.setDisabledState(isDisabled);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (!isNil(value)) {\r\n this._updateChecklistSelection(value);\r\n } else {\r\n this.checklistSelection.clear();\r\n }\r\n if (this.multiple) {\r\n this._matSelect.writeValue(this.checklistSelection.selected);\r\n if (this._matSelect.value !== this.checklistSelection.selected) {\r\n this._matSelect.value = this.checklistSelection.selected;\r\n }\r\n } else {\r\n this._matSelect.writeValue(this.checklistSelection.selected[0]);\r\n if (this._matSelect.value !== this.checklistSelection.selected[0]) {\r\n this._matSelect.value = this.checklistSelection.selected[0];\r\n }\r\n }\r\n }\r\n\r\n simpleTriggerLabelFn(value: CmatSelectTreeFlatNode[]): string {\r\n return value.map((node) => {\r\n\r\n if (isNil(node)) {\r\n return '';\r\n }\r\n if (isNil(this.customTriggerLabelTemplate)\r\n || typeof this.customTriggerLabelTemplate !== 'string'\r\n || this.customTriggerLabelTemplate.trim().length === 0) {\r\n return `${node.id}`;\r\n }\r\n let atLeastPartialSubstitution = false;\r\n const substitution: string = this.customTriggerLabelTemplate.replace(/[$][{]([^}]+)[}]/g, (_, key) =>\r\n !isNil((node as any)[key]) && (atLeastPartialSubstitution = true) ? (node as any)[key] : '');\r\n if (atLeastPartialSubstitution === false) {\r\n return `${node.id}`;\r\n }\r\n return substitution.trim();\r\n }).join(', ');\r\n }\r\n\r\n /** Whether all the descendants of the node are selected. */\r\n descendantsAllSelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n return descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n\r\n this.checklistSelection.isSelected(node) ? this.checklistSelection.select(...descendants) : this.checklistSelection.deselect(...descendants);\r\n\r\n this.checkAllParentsSelection(node);\r\n\r\n if (this.showToggleAllCheckbox) {\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n }\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\r\n todoLeafItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n this.checkAllParentsSelection(node);\r\n\r\n if (this.showToggleAllCheckbox) {\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n }\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n clearSelection():void{\r\n this.checklistSelection.clear();\r\n }\r\n\r\n /* Checks all the parents when a leaf node is selected/unselected */\r\n checkAllParentsSelection(node: CmatSelectTreeFlatNode): void {\r\n let parent: CmatSelectTreeFlatNode | null = this.getParentNode(node);\r\n while (parent) {\r\n parent.expandable = true;\r\n this.treeControl.expand(parent);\r\n this.checkRootNodeSelection(parent);\r\n parent = this.getParentNode(parent);\r\n }\r\n }\r\n\r\n /** Check root node checked state and change it accordingly */\r\n checkRootNodeSelection(node: CmatSelectTreeFlatNode): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n } else if (!nodeSelected && (descAllSelected || descendants.length === 0)) {\r\n this.checklistSelection.select(node);\r\n }\r\n }\r\n\r\n /* Get the parent node of a node */\r\n getParentNode(node: CmatSelectTreeFlatNode): CmatSelectTreeFlatNode | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.treeControl.dataNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n toggleSelectAll(selectAllValue: boolean): void {\r\n if (selectAllValue) {\r\n this.treeControl.dataNodes.forEach((node) => {\r\n this.checklistSelection.select(node);\r\n this.checkAllParentsSelection(node);\r\n });\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n } else {\r\n this.checklistSelection.clear();\r\n this.isChecked = false;\r\n this.isIndeterminate = false;\r\n }\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 && o2 ? o1?.name === o2?.name && o1?.id === o2?.id : o1 === o2;\r\n }\r\n trackByFn(index: number, item: any): any {\r\n return index || item;\r\n }\r\n\r\n private _updateChecklistSelection(value: any[]): void {\r\n this.checklistSelection.clear();\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.treeControl.dataNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n }\r\n\r\n private _updateSelect(value: any[]): void {\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n if (this.overallSearchEnabled)//有搜索功能,转化选中节点为当前数据源节点\r\n {\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.treeControl.dataNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n this.checklistSelection.deselect(item);\r\n\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n if (this.multiple) {\r\n this.checklistSelection.selected.forEach((item) => {\r\n this.checkAllParentsSelection(item);\r\n }\r\n );\r\n }\r\n\r\n if (this.showToggleAllCheckbox) {\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n }\r\n }\r\n }\r\n\r\n private _applyColumnLevelFilters(node: CmatSelectTreeNode, filter: string): boolean {\r\n let result = false;\r\n\r\n if (node && node.children && node.children.length > 0) {\r\n for (let i = node.children.length - 1; i >= 0; i--) {\r\n const resultTemp = this._applyColumnLevelFilters(node.children[i], filter);\r\n\r\n if (!resultTemp) {\r\n node.children.splice(i, 1);\r\n }\r\n\r\n result = resultTemp || result;\r\n }\r\n }\r\n\r\n if (node && node.children && node.children.length === 0) {\r\n node.children = null;\r\n }\r\n\r\n const cellValue = node['name'].toLowerCase();\r\n if (cellValue.indexOf(filter) > -1) {\r\n result = true;\r\n }\r\n return result;\r\n }\r\n\r\n private _resetFilters(): void {\r\n if (this.overallSearchEnabled) {\r\n this.overallFilterControl.setValue('');\r\n }\r\n }\r\n}\r\n","<mat-form-field class=\"w-full\">\n @if (showLabel) {\n <mat-label>{{placeholder}}</mat-label>\n }\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"prefixIcon\" matPrefix></mat-icon>\n <mat-select #componentSelect [formControl]=\"selectControl\" [placeholder]=\"placeholder\" [multiple]=\"multiple\" [required]=\"required\"\n [compareWith]=\"compareObjects\" panelClass=\"scrollbar-custom\">\n <mat-select-trigger>\n @if (!customTriggerLabelFn) {\n {{simpleTriggerLabelFn(checklistSelection.selected)}}\n }\n @else{\n {{customTriggerLabelFn}}\n }\n </mat-select-trigger>\n\n <div>\n @if (overallSearchEnabled) {\n <mat-option>\n <cmat-select-search [showNoFoundLabel]=\"showNoFoundLabel\" [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [formControl]=\"overallFilterControl\" [clearSearchInput]=\"true\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\" [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\" [showToggleAllCheckbox]=\"showToggleAllCheckbox\">\n </cmat-select-search>\n </mat-option>\n }\n @if (canNull&&treeDataSource.data.length!==0) {\n <mat-option (click)=\"clearSelection()\">空</mat-option>\n }\n @for (selectData of matSelectData | async ; track trackByFn($index, selectData)) {\n <mat-option class=\"hidden\"\n [value]=\"selectData\">{{selectData.name}}</mat-option>\n }\n\n <mat-tree [dataSource]=\"treeDataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\n [ngClass]=\"checklistSelection.isSelected(node)?'selected':''\"\n (click)=\"todoLeafItemSelectionToggle($event,node)\">\n <button type=\"button\" mat-icon-button disabled>\n\n </button>\n @if (multiple) {\n <mat-checkbox class=\"checklist-leaf-node text-current\"\n [checked]=\"checklistSelection.isSelected(node)\">{{node.name}}</mat-checkbox>\n }\n @if (!multiple) {\n <span class=\"text-current\">{{node.name}}</span>\n }\n </mat-tree-node>\n\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding\n [ngClass]=\"checklistSelection.isSelected(node)?'selected':''\"\n (click)=\"todoItemSelectionToggle($event,node)\">\n <button type=\"button\" mat-icon-button matTreeNodeToggle\n [attr.aria-label]=\"'toggle ' + node.filename\">\n <mat-icon class=\"mat-icon-rtl-mirror\"\n [svgIcon]=\"treeControl.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'\">\n </mat-icon>\n </button>\n @if (multiple) {\n <mat-checkbox [checked]=\"descendantsAllSelected(node)\"\n [indeterminate]=\"descendantsPartiallySelected(node)\" class=\"text-current\">{{node.name}}</mat-checkbox>\n }\n @if (!multiple) {\n <span class=\"text-current\">{{node.name}}</span>\n }\n </mat-tree-node>\n </mat-tree>\n </div>\n </mat-select>\n</mat-form-field>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-components-select-tree.mjs","sources":["../../../projects/cmat/components/select-tree/select-tree.flatnode.ts","../../../projects/cmat/components/select-tree/select-tree.component.ts","../../../projects/cmat/components/select-tree/select-tree.component.html","../../../projects/cmat/components/select-tree/select-tree.node.ts","../../../projects/cmat/components/select-tree/cmat-components-select-tree.ts"],"sourcesContent":["export class CmatSelectTreeFlatNode {\r\n id: string | number;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { merge, ReplaySubject, Subject } from 'rxjs';\r\n\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\n\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener, MatTreeModule } from '@angular/material/tree';\r\nimport { MatSelect, MatSelectModule } from '@angular/material/select';\r\nimport { CmatSelectTreeFlatNode } from './select-tree.flatnode';\r\nimport { CmatSelectTreeNode } from './select-tree.node';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { CmatSelectSearchComponent } from 'cmat/components/select-search';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { NgClass, AsyncPipe, NgStyle } from '@angular/common';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { isNil } from 'lodash-es';\r\n\r\n@Component({\r\n selector: 'cmat-select-tree',\r\n templateUrl: './select-tree.component.html',\r\n styleUrls: ['./select-tree.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatSelectTreeComponent),\r\n multi: true\r\n }\r\n ],\r\n standalone: true,\r\n imports: [MatFormFieldModule, MatIconModule, MatSelectModule, CmatSelectSearchComponent, FormsModule,\r\n ReactiveFormsModule, MatTreeModule, NgClass, MatButtonModule, MatCheckboxModule, AsyncPipe, NgStyle]\r\n})\r\nexport class CmatSelectTreeComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {\r\n\r\n @Input() dataSource: CmatSelectTreeNode[];\r\n\r\n @Input() showLabel: boolean = true;\r\n\r\n @Input() noEntriesFoundLabel = '无结果';\r\n\r\n @Input() showNoFoundLabel = true;\r\n\r\n @Input() placeholder: string = '部门';\r\n\r\n @Input() prefixIcon: string = 'heroicons_outline:building-library';\r\n\r\n @Input() multiple: boolean;\r\n\r\n @Input() required: boolean;\r\n\r\n @Input() overallSearchEnabled: boolean = true;\r\n\r\n @Input() canNull: boolean = false;\r\n\r\n @Input() customTriggerLabelFn: (value: CmatSelectTreeNode[]) => string;\r\n\r\n @Input() customTriggerLabelTemplate: string;\r\n\r\n @Input() expandable: boolean;\r\n\r\n @Input() showToggleAllCheckbox: boolean = false;\r\n\r\n @ViewChild('componentSelect', { static: true }) private _matSelect: MatSelect;\r\n\r\n flatNodeMap = new Map<CmatSelectTreeFlatNode, CmatSelectTreeNode>();\r\n\r\n nestedNodeMap = new Map<CmatSelectTreeNode, CmatSelectTreeFlatNode>();\r\n\r\n selectedParent: CmatSelectTreeFlatNode | null = null;\r\n\r\n treeControl: FlatTreeControl<CmatSelectTreeFlatNode>;\r\n\r\n treeFlattener: MatTreeFlattener<CmatSelectTreeNode, CmatSelectTreeFlatNode>;\r\n\r\n checklistSelection = new SelectionModel<CmatSelectTreeFlatNode>(true);\r\n\r\n treeDataSource: MatTreeFlatDataSource<CmatSelectTreeNode, CmatSelectTreeFlatNode>;\r\n\r\n overallFilterControl: FormControl;\r\n\r\n isIndeterminate = false;\r\n isChecked = false;\r\n dataCount: number = 0;\r\n selectControl:FormControl=new FormControl(); \r\n\r\n matSelectData: ReplaySubject<any[]> = new ReplaySubject<any[]>(1);\r\n\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n constructor(private _cd: ChangeDetectorRef) {\r\n this.overallFilterControl = new FormControl();\r\n\r\n this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel,\r\n this.isExpandable, this.getChildren);\r\n this.treeControl = new FlatTreeControl<CmatSelectTreeFlatNode>(this.getLevel, this.isExpandable);\r\n this.treeDataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n }\r\n\r\n getLevel = (node: CmatSelectTreeFlatNode): number => node.level;\r\n\r\n isExpandable = (node: CmatSelectTreeFlatNode): boolean => node.expandable;\r\n\r\n getChildren = (node: CmatSelectTreeNode): CmatSelectTreeNode[] | null => node.children;\r\n\r\n hasChild = (_: number, _nodeData: CmatSelectTreeFlatNode): boolean => _nodeData.expandable;\r\n\r\n hasNoContent = (_: number, _nodeData: CmatSelectTreeFlatNode): boolean => _nodeData.name === '';\r\n\r\n transformer = (node: CmatSelectTreeNode, level: number): CmatSelectTreeFlatNode => {\r\n const existingNode = this.nestedNodeMap.get(node);\r\n const flatNode = existingNode && existingNode.name === node.name\r\n ? existingNode\r\n : new CmatSelectTreeFlatNode();\r\n flatNode.id = node.id;\r\n flatNode.name = node.name;\r\n flatNode.level = level;\r\n flatNode.expandable = !!node.children && node.children.length > 0;\r\n this.flatNodeMap.set(flatNode, node);\r\n this.nestedNodeMap.set(node, flatNode);\r\n return flatNode;\r\n };\r\n\r\n ngOnInit(): void {\r\n this.multiple = this.multiple || false;\r\n this.required = this.required || false;\r\n\r\n this.treeDataSource.data = this.dataSource;\r\n this.dataCount = this.treeControl.dataNodes.length;\r\n\r\n this.matSelectData.next(this.treeControl.dataNodes);\r\n\r\n if (this.expandable) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n let panelClass: string = '';\r\n if (!this.overallSearchEnabled) {\r\n panelClass = 'cmat-select-search-panel overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom';\r\n }\r\n\r\n if (this._matSelect.panelClass) {\r\n if (Array.isArray(this._matSelect.panelClass)) {\r\n (this._matSelect.panelClass as string[]).push(panelClass);\r\n } else if (typeof this._matSelect.panelClass === 'string') {\r\n this._matSelect.panelClass = [this._matSelect.panelClass, panelClass];\r\n } else if (typeof this._matSelect.panelClass === 'object') {\r\n this._matSelect.panelClass.entries[panelClass] = true;\r\n }\r\n } else {\r\n this._matSelect.panelClass = panelClass;\r\n }\r\n\r\n\r\n this._matSelect.openedChange\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((opened) => {\r\n if (opened && this.multiple) {\r\n this.checklistSelection.selected.forEach((node) => {\r\n if (node.expandable) {\r\n const descendants = this.treeControl.getDescendants(node);\r\n this.checklistSelection.select(...descendants);\r\n }\r\n });\r\n }\r\n\r\n if (!opened) {\r\n if (this.overallSearchEnabled) {\r\n this._resetFilters();\r\n }\r\n\r\n setTimeout(() => {\r\n if (!isNil(this.checklistSelection.selected)) {\r\n\r\n if (this.multiple) {\r\n const findOutNode: CmatSelectTreeFlatNode[] = [];\r\n this.checklistSelection.selected.forEach((node) => {\r\n const parentNode = this.getParentNode(node);\r\n if (parentNode && this.checklistSelection.isSelected(parentNode)) {\r\n findOutNode.push(node);\r\n }\r\n });\r\n\r\n findOutNode.forEach((node) => {\r\n this.checklistSelection.deselect(node);\r\n });\r\n\r\n this._matSelect.writeValue(this.checklistSelection.selected);\r\n\r\n if (this._matSelect.value !== this.checklistSelection.selected) {\r\n this._matSelect.value = this.checklistSelection.selected;\r\n }\r\n this._matSelect._onChange(this.checklistSelection.selected);\r\n\r\n } else {\r\n if (this.checklistSelection.selected && this.checklistSelection.selected.length > 0) {\r\n this._matSelect.writeValue(this.checklistSelection.selected[0]);\r\n if (this._matSelect.value !== this.checklistSelection.selected[0]) {\r\n this._matSelect.value = this.checklistSelection.selected[0];\r\n }\r\n this._matSelect._onChange(this.checklistSelection.selected[0]);\r\n }\r\n }\r\n }\r\n }, 200);\r\n\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n merge(this.overallFilterControl.valueChanges)\r\n .pipe(takeUntil(this._unsubscribeAll), debounceTime(200))\r\n .subscribe(() => {\r\n const dataClone: CmatSelectTreeNode[] = JSON.parse(JSON.stringify([...this.dataSource]));\r\n\r\n const arr: number[] = [];\r\n\r\n for (let i = dataClone.length - 1; i >= 0; i--) {\r\n if (!this._applyColumnLevelFilters(dataClone[i], this.overallFilterControl.value.toLowerCase())) {\r\n arr.push(i);\r\n }\r\n }\r\n arr.forEach((v) => { dataClone.splice(v, 1); });\r\n\r\n this.treeDataSource.data = dataClone;\r\n this.matSelectData.next(this.treeControl.dataNodes);\r\n if (this.expandable) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n this._updateSelect(this.checklistSelection.selected);\r\n\r\n this._cd.detectChanges();\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void): void {\r\n const proxyFn: (value: any) => void = (value: any) => {\r\n fn(value);\r\n };\r\n this._matSelect.registerOnChange(proxyFn);\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._matSelect.registerOnTouched(fn);\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._matSelect.setDisabledState(isDisabled);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (!isNil(value)) {\r\n this._updateChecklistSelection(value);\r\n } else {\r\n this.checklistSelection.clear();\r\n }\r\n if (this.multiple) {\r\n this._matSelect.writeValue(this.checklistSelection.selected);\r\n if (this._matSelect.value !== this.checklistSelection.selected) {\r\n this._matSelect.value = this.checklistSelection.selected;\r\n }\r\n } else {\r\n this._matSelect.writeValue(this.checklistSelection.selected[0]);\r\n if (this._matSelect.value !== this.checklistSelection.selected[0]) {\r\n this._matSelect.value = this.checklistSelection.selected[0];\r\n }\r\n }\r\n }\r\n\r\n simpleTriggerLabelFn(value: CmatSelectTreeFlatNode[]): string {\r\n return value.map((node) => {\r\n\r\n if (isNil(node)) {\r\n return '';\r\n }\r\n if (isNil(this.customTriggerLabelTemplate)\r\n || typeof this.customTriggerLabelTemplate !== 'string'\r\n || this.customTriggerLabelTemplate.trim().length === 0) {\r\n return `${node.id}`;\r\n }\r\n let atLeastPartialSubstitution = false;\r\n const substitution: string = this.customTriggerLabelTemplate.replace(/[$][{]([^}]+)[}]/g, (_, key) =>\r\n !isNil((node as any)[key]) && (atLeastPartialSubstitution = true) ? (node as any)[key] : '');\r\n if (atLeastPartialSubstitution === false) {\r\n return `${node.id}`;\r\n }\r\n return substitution.trim();\r\n }).join(', ');\r\n }\r\n\r\n /** Whether all the descendants of the node are selected. */\r\n descendantsAllSelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n return descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n\r\n this.checklistSelection.isSelected(node) ? this.checklistSelection.select(...descendants) : this.checklistSelection.deselect(...descendants);\r\n\r\n this.checkAllParentsSelection(node);\r\n\r\n if (this.showToggleAllCheckbox) {\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n }\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\r\n todoLeafItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n this.checkAllParentsSelection(node);\r\n\r\n if (this.showToggleAllCheckbox) {\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n }\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n clearSelection():void{\r\n this.checklistSelection.clear();\r\n }\r\n\r\n /* Checks all the parents when a leaf node is selected/unselected */\r\n checkAllParentsSelection(node: CmatSelectTreeFlatNode): void {\r\n let parent: CmatSelectTreeFlatNode | null = this.getParentNode(node);\r\n while (parent) {\r\n parent.expandable = true;\r\n this.treeControl.expand(parent);\r\n this.checkRootNodeSelection(parent);\r\n parent = this.getParentNode(parent);\r\n }\r\n }\r\n\r\n /** Check root node checked state and change it accordingly */\r\n checkRootNodeSelection(node: CmatSelectTreeFlatNode): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n } else if (!nodeSelected && (descAllSelected || descendants.length === 0)) {\r\n this.checklistSelection.select(node);\r\n }\r\n }\r\n\r\n /* Get the parent node of a node */\r\n getParentNode(node: CmatSelectTreeFlatNode): CmatSelectTreeFlatNode | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.treeControl.dataNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n toggleSelectAll(selectAllValue: boolean): void {\r\n if (selectAllValue) {\r\n this.treeControl.dataNodes.forEach((node) => {\r\n this.checklistSelection.select(node);\r\n this.checkAllParentsSelection(node);\r\n });\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n } else {\r\n this.checklistSelection.clear();\r\n this.isChecked = false;\r\n this.isIndeterminate = false;\r\n }\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 && o2 ? o1?.name === o2?.name && o1?.id === o2?.id : o1 === o2;\r\n }\r\n trackByFn(index: number, item: any): any {\r\n return index || item;\r\n }\r\n\r\n private _updateChecklistSelection(value: any[]): void {\r\n this.checklistSelection.clear();\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.treeControl.dataNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n }\r\n\r\n private _updateSelect(value: any[]): void {\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n if (this.overallSearchEnabled)//有搜索功能,转化选中节点为当前数据源节点\r\n {\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.treeControl.dataNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n this.checklistSelection.deselect(item);\r\n\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n if (this.multiple) {\r\n this.checklistSelection.selected.forEach((item) => {\r\n this.checkAllParentsSelection(item);\r\n }\r\n );\r\n }\r\n\r\n if (this.showToggleAllCheckbox) {\r\n this.isIndeterminate = this.checklistSelection.selected.length < this.dataCount && this.checklistSelection.selected.length > 0;\r\n this.isChecked = this.checklistSelection.selected.length === this.dataCount;\r\n }\r\n }\r\n }\r\n\r\n private _applyColumnLevelFilters(node: CmatSelectTreeNode, filter: string): boolean {\r\n let result = false;\r\n\r\n if (node && node.children && node.children.length > 0) {\r\n for (let i = node.children.length - 1; i >= 0; i--) {\r\n const resultTemp = this._applyColumnLevelFilters(node.children[i], filter);\r\n\r\n if (!resultTemp) {\r\n node.children.splice(i, 1);\r\n }\r\n\r\n result = resultTemp || result;\r\n }\r\n }\r\n\r\n if (node && node.children && node.children.length === 0) {\r\n node.children = null;\r\n }\r\n\r\n const cellValue = node['name'].toLowerCase();\r\n if (cellValue.indexOf(filter) > -1) {\r\n result = true;\r\n }\r\n return result;\r\n }\r\n\r\n private _resetFilters(): void {\r\n if (this.overallSearchEnabled) {\r\n this.overallFilterControl.setValue('');\r\n }\r\n }\r\n}\r\n","<mat-form-field class=\"w-full\">\n @if (showLabel) {\n <mat-label>{{placeholder}}</mat-label>\n }\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"prefixIcon\" matPrefix></mat-icon>\n <mat-select #componentSelect [formControl]=\"selectControl\" [placeholder]=\"placeholder\" [multiple]=\"multiple\" [required]=\"required\"\n [compareWith]=\"compareObjects\" panelClass=\"scrollbar-custom\">\n <mat-select-trigger>\n @if (!customTriggerLabelFn) {\n {{simpleTriggerLabelFn(checklistSelection.selected)}}\n }\n @else{\n {{customTriggerLabelFn}}\n }\n </mat-select-trigger>\n\n <div>\n @if (overallSearchEnabled) {\n <mat-option>\n <cmat-select-search [showNoFoundLabel]=\"showNoFoundLabel\" [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [formControl]=\"overallFilterControl\" [clearSearchInput]=\"true\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\" [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\" [showToggleAllCheckbox]=\"showToggleAllCheckbox\">\n </cmat-select-search>\n </mat-option>\n }\n @if (canNull&&treeDataSource.data.length!==0) {\n <mat-option (click)=\"clearSelection()\">空</mat-option>\n }\n @for (selectData of matSelectData | async ; track trackByFn($index, selectData)) {\n <mat-option class=\"hidden\"\n [value]=\"selectData\">{{selectData.name}}</mat-option>\n }\n\n <mat-tree [dataSource]=\"treeDataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\n [ngClass]=\"checklistSelection.isSelected(node)?'selected':''\"\n (click)=\"todoLeafItemSelectionToggle($event,node)\">\n <button type=\"button\" mat-icon-button disabled>\n\n </button>\n @if (multiple) {\n <mat-checkbox class=\"checklist-leaf-node text-current\"\n [checked]=\"checklistSelection.isSelected(node)\">{{node.name}}</mat-checkbox>\n }\n @if (!multiple) {\n <span class=\"text-current\">{{node.name}}</span>\n }\n </mat-tree-node>\n\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding\n [ngClass]=\"checklistSelection.isSelected(node)?'selected':''\"\n (click)=\"todoItemSelectionToggle($event,node)\">\n <button type=\"button\" mat-icon-button matTreeNodeToggle\n [attr.aria-label]=\"'toggle ' + node.filename\">\n <mat-icon class=\"mat-icon-rtl-mirror\"\n [svgIcon]=\"treeControl.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'\">\n </mat-icon>\n </button>\n @if (multiple) {\n <mat-checkbox [checked]=\"descendantsAllSelected(node)\"\n [indeterminate]=\"descendantsPartiallySelected(node)\" class=\"text-current\">{{node.name}}</mat-checkbox>\n }\n @if (!multiple) {\n <span class=\"text-current\">{{node.name}}</span>\n }\n </mat-tree-node>\n </mat-tree>\n </div>\n </mat-select>\n</mat-form-field>","export class CmatSelectTreeNode {\r\n id: string | number;\r\n children: CmatSelectTreeNode[] | null;\r\n name: string;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -201,5 +201,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
201
201
|
* Generated bundle index. Do not edit.
|
|
202
202
|
*/
|
|
203
203
|
|
|
204
|
-
export { CmaToastComponent, CmatToastModalComponent };
|
|
204
|
+
export { CmaToastComponent, CmatToastModalComponent, CmatToastService };
|
|
205
205
|
//# sourceMappingURL=cmat-components-toast.mjs.map
|