@ptsecurity/mosaic 12.2.2 → 12.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +14 -150
- package/bundles/ptsecurity-mosaic-button.umd.js +2 -2
- package/bundles/ptsecurity-mosaic-core.umd.js +0 -2
- package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +8 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +2 -2
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +14 -19
- package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +2 -2
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +217 -30
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +52 -47
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +1 -0
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +3 -3
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
- package/esm2015/button/button.component.js +2 -2
- package/esm2015/core/pop-up/pop-up-trigger.js +1 -3
- package/esm2015/datepicker/datepicker-input.directive.js +9 -2
- package/esm2015/form-field/cleaner.js +3 -3
- package/esm2015/list/list-selection.component.js +15 -20
- package/esm2015/popover/popover-confirm.component.js +2 -2
- package/esm2015/popover/popover.component.js +2 -2
- package/esm2015/splitter/splitter.component.js +179 -32
- package/esm2015/splitter/splitter.module.js +4 -2
- package/esm2015/tags/tag.component.js +51 -48
- package/esm2015/tree/toggle.js +3 -3
- package/esm2015/tree/tree-option.component.js +2 -2
- package/esm2015/tree-select/tree-select.component.js +2 -1
- package/fesm2015/ptsecurity-mosaic-button.js +2 -2
- package/fesm2015/ptsecurity-mosaic-core.js +0 -2
- package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js +8 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +2 -2
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.js +14 -19
- package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +2 -2
- package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +181 -32
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.js +50 -47
- package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js +1 -0
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.js +3 -3
- package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
- package/package.json +4 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/splitter/splitter.component.d.ts +41 -3
- package/splitter/splitter.module.d.ts +1 -1
- package/tags/tag.component.d.ts +20 -20
- package/tree/toggle.d.ts +1 -1
- package/tree/tree-option.component.d.ts +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-popover.js","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover-confirm.component.ts","../../../packages/mosaic/popover/popover-confirm.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input('mcPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('mcPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('mcPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('mcPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = PopUpTriggers.Click;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = PopUpTriggers.Click;\n\n @Input('mcPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Normal, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Normal;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Normal;\n\n @Input('mcPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n @Output('mcPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActions() {\n return merge(\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER,\n this.overlayRef!.detachments()\n );\n }\n}\n","<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\" *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { mcPopoverAnimations } from './popover-animations';\nimport { MC_POPOVER_SCROLL_STRATEGY, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\nexport const MC_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'mc-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverConfirmComponent extends McPopoverComponent {\n themePalette = ThemePalette;\n\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n\n\n@Directive({\n selector: '[mcPopoverConfirm]',\n exportAs: 'mcPopoverConfirm',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverConfirmTrigger extends McPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('mcPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('mcPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(MC_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(MC_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) { return; }\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return McPopoverConfirmComponent;\n }\n}\n","<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\n\nimport { McPopoverConfirmComponent, McPopoverConfirmTrigger } from './popover-confirm.component';\nimport { MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],\n providers: [MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER],\n entryComponents: [McPopoverComponent, McPopoverConfirmComponent]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-popover.js","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover-confirm.component.ts","../../../packages/mosaic/popover/popover-confirm.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input('mcPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('mcPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('mcPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('mcPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = PopUpTriggers.Click;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = PopUpTriggers.Click;\n\n @Input('mcPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Normal, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Normal;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Normal;\n\n @Input('mcPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n @Output('mcPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActions() {\n return merge(\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER,\n this.overlayRef!.detachments()\n );\n }\n}\n","<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\"\n [ngClass]=\"{ 'mc-popover__content_padding_bottom': footer }\"\n *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { mcPopoverAnimations } from './popover-animations';\nimport { MC_POPOVER_SCROLL_STRATEGY, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\nexport const MC_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'mc-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverConfirmComponent extends McPopoverComponent {\n themePalette = ThemePalette;\n\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n\n\n@Directive({\n selector: '[mcPopoverConfirm]',\n exportAs: 'mcPopoverConfirm',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverConfirmTrigger extends McPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('mcPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('mcPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(MC_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(MC_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) { return; }\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return McPopoverConfirmComponent;\n }\n}\n","<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\n\nimport { McPopoverConfirmComponent, McPopoverConfirmTrigger } from './popover-confirm.component';\nimport { MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],\n providers: [MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER],\n entryComponents: [McPopoverComponent, McPopoverConfirmComponent]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i1 from '@angular/common';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import * as i0 from '@angular/core';
|
4
|
-
import { Directive, Input, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChildren, NgModule } from '@angular/core';
|
4
|
+
import { Directive, Input, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChildren, ViewChild, NgModule } from '@angular/core';
|
5
5
|
import { McIconModule } from '@ptsecurity/mosaic/icon';
|
6
6
|
import { coerceNumberProperty, coerceCssPixelValue, coerceBooleanProperty } from '@angular/cdk/coercion';
|
7
7
|
|
@@ -37,32 +37,38 @@ class McGutterDirective {
|
|
37
37
|
set size(size) {
|
38
38
|
this._size = coerceNumberProperty(size);
|
39
39
|
}
|
40
|
+
get isVertical() {
|
41
|
+
return this._direction === Direction.Vertical;
|
42
|
+
}
|
40
43
|
ngOnInit() {
|
41
44
|
this.setStyle("flex-basis" /* FlexBasis */, coerceCssPixelValue(this.size));
|
42
|
-
this.setStyle(this.isVertical
|
45
|
+
this.setStyle(this.isVertical ? "height" /* Height */ : "width" /* Width */, coerceCssPixelValue(this.size));
|
43
46
|
this.setStyle("order" /* Order */, this.order);
|
44
|
-
if (!this.isVertical
|
47
|
+
if (!this.isVertical) {
|
45
48
|
this.setStyle("height" /* Height */, '100%');
|
46
49
|
}
|
47
50
|
// fix IE issue with gutter icon. flex-direction is requied for flex alignment options
|
48
|
-
this.setStyle("flex-direction" /* FlexDirection */, this.isVertical
|
51
|
+
this.setStyle("flex-direction" /* FlexDirection */, this.isVertical ? 'row' : 'column');
|
49
52
|
}
|
50
|
-
|
51
|
-
return
|
53
|
+
getPosition() {
|
54
|
+
return {
|
55
|
+
x: this.elementRef.nativeElement.offsetLeft,
|
56
|
+
y: this.elementRef.nativeElement.offsetTop
|
57
|
+
};
|
52
58
|
}
|
53
59
|
setStyle(property, value) {
|
54
60
|
this.renderer.setStyle(this.elementRef.nativeElement, property, value);
|
55
61
|
}
|
56
62
|
}
|
57
63
|
/** @nocollapse */ McGutterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McGutterDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
58
|
-
/** @nocollapse */ McGutterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McGutterDirective, selector: "mc-gutter", inputs: { direction: "direction", order: "order", size: "size" }, host: { listeners: { "mousedown": "dragged = true" }, properties: { "class.mc-gutter_vertical": "isVertical
|
64
|
+
/** @nocollapse */ McGutterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McGutterDirective, selector: "mc-gutter", inputs: { direction: "direction", order: "order", size: "size" }, host: { listeners: { "mousedown": "dragged = true" }, properties: { "class.mc-gutter_vertical": "isVertical", "class.mc-gutter_dragged": "dragged" }, classAttribute: "mc-gutter" }, ngImport: i0 });
|
59
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McGutterDirective, decorators: [{
|
60
66
|
type: Directive,
|
61
67
|
args: [{
|
62
68
|
selector: 'mc-gutter',
|
63
69
|
host: {
|
64
70
|
class: 'mc-gutter',
|
65
|
-
'[class.mc-gutter_vertical]': 'isVertical
|
71
|
+
'[class.mc-gutter_vertical]': 'isVertical',
|
66
72
|
'[class.mc-gutter_dragged]': 'dragged',
|
67
73
|
'(mousedown)': 'dragged = true'
|
68
74
|
}
|
@@ -74,6 +80,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
74
80
|
}], size: [{
|
75
81
|
type: Input
|
76
82
|
}] } });
|
83
|
+
class McGutterGhostDirective {
|
84
|
+
constructor(elementRef, renderer) {
|
85
|
+
this.elementRef = elementRef;
|
86
|
+
this.renderer = renderer;
|
87
|
+
this._x = 0;
|
88
|
+
this._y = 0;
|
89
|
+
this._direction = Direction.Vertical;
|
90
|
+
this._size = 6;
|
91
|
+
}
|
92
|
+
get x() {
|
93
|
+
return this._x;
|
94
|
+
}
|
95
|
+
set x(x) {
|
96
|
+
this._x = x;
|
97
|
+
this.setStyle("left" /* Left */, coerceCssPixelValue(x));
|
98
|
+
}
|
99
|
+
get y() {
|
100
|
+
return this._y;
|
101
|
+
}
|
102
|
+
set y(y) {
|
103
|
+
this._y = y;
|
104
|
+
this.setStyle("top" /* Top */, coerceCssPixelValue(y));
|
105
|
+
}
|
106
|
+
get direction() {
|
107
|
+
return this._direction;
|
108
|
+
}
|
109
|
+
set direction(direction) {
|
110
|
+
this._direction = direction;
|
111
|
+
this.updateDimensions();
|
112
|
+
}
|
113
|
+
get size() {
|
114
|
+
return this._size;
|
115
|
+
}
|
116
|
+
set size(size) {
|
117
|
+
this._size = coerceNumberProperty(size);
|
118
|
+
this.updateDimensions();
|
119
|
+
}
|
120
|
+
get isVertical() {
|
121
|
+
return this.direction === Direction.Vertical;
|
122
|
+
}
|
123
|
+
updateDimensions() {
|
124
|
+
this.setStyle(this.isVertical ? "width" /* Width */ : "height" /* Height */, '100%');
|
125
|
+
this.setStyle(this.isVertical ? "height" /* Height */ : "width" /* Width */, coerceCssPixelValue(this.size));
|
126
|
+
}
|
127
|
+
setStyle(property, value) {
|
128
|
+
this.renderer.setStyle(this.elementRef.nativeElement, property, value);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
/** @nocollapse */ McGutterGhostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McGutterGhostDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
132
|
+
/** @nocollapse */ McGutterGhostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McGutterGhostDirective, selector: "mc-gutter-ghost", inputs: { visible: "visible", x: "x", y: "y", direction: "direction", size: "size" }, host: { properties: { "class.mc-gutter-ghost_vertical": "isVertical", "class.mc-gutter-ghost_visible": "visible" }, classAttribute: "mc-gutter-ghost" }, ngImport: i0 });
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McGutterGhostDirective, decorators: [{
|
134
|
+
type: Directive,
|
135
|
+
args: [{
|
136
|
+
selector: 'mc-gutter-ghost',
|
137
|
+
host: {
|
138
|
+
class: 'mc-gutter-ghost',
|
139
|
+
'[class.mc-gutter-ghost_vertical]': 'isVertical',
|
140
|
+
'[class.mc-gutter-ghost_visible]': 'visible'
|
141
|
+
}
|
142
|
+
}]
|
143
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { visible: [{
|
144
|
+
type: Input
|
145
|
+
}], x: [{
|
146
|
+
type: Input
|
147
|
+
}], y: [{
|
148
|
+
type: Input
|
149
|
+
}], direction: [{
|
150
|
+
type: Input
|
151
|
+
}], size: [{
|
152
|
+
type: Input
|
153
|
+
}] } });
|
77
154
|
class McSplitterComponent {
|
78
155
|
constructor(elementRef, changeDetectorRef, ngZone, renderer) {
|
79
156
|
this.elementRef = elementRef;
|
@@ -82,12 +159,17 @@ class McSplitterComponent {
|
|
82
159
|
this.renderer = renderer;
|
83
160
|
this.gutterPositionChange = new EventEmitter();
|
84
161
|
this.areas = [];
|
85
|
-
this.
|
162
|
+
this._isDragging = false;
|
86
163
|
this.areaPositionDivider = 2;
|
87
164
|
this.listeners = [];
|
88
165
|
this._hideGutters = false;
|
89
166
|
this._disabled = false;
|
167
|
+
this._useGhost = false;
|
90
168
|
this._gutterSize = 6;
|
169
|
+
this._resizing = false;
|
170
|
+
}
|
171
|
+
get isDragging() {
|
172
|
+
return this._isDragging;
|
91
173
|
}
|
92
174
|
get hideGutters() {
|
93
175
|
return this._hideGutters;
|
@@ -107,6 +189,12 @@ class McSplitterComponent {
|
|
107
189
|
set disabled(disabled) {
|
108
190
|
this._disabled = coerceBooleanProperty(disabled);
|
109
191
|
}
|
192
|
+
get useGhost() {
|
193
|
+
return this._useGhost;
|
194
|
+
}
|
195
|
+
set useGhost(useGhost) {
|
196
|
+
this._useGhost = coerceBooleanProperty(useGhost);
|
197
|
+
}
|
110
198
|
get gutterSize() {
|
111
199
|
return this._gutterSize;
|
112
200
|
}
|
@@ -114,6 +202,9 @@ class McSplitterComponent {
|
|
114
202
|
const size = coerceNumberProperty(gutterSize);
|
115
203
|
this._gutterSize = size > 0 ? size : this.gutterSize;
|
116
204
|
}
|
205
|
+
get resizing() {
|
206
|
+
return this._resizing;
|
207
|
+
}
|
117
208
|
addArea(area) {
|
118
209
|
const index = this.areas.length;
|
119
210
|
const order = index * this.areaPositionDivider;
|
@@ -137,26 +228,41 @@ class McSplitterComponent {
|
|
137
228
|
return;
|
138
229
|
}
|
139
230
|
event.preventDefault();
|
140
|
-
const leftArea = this.areas[leftAreaIndex];
|
141
|
-
const rightArea = this.areas[rightAreaIndex];
|
142
231
|
const startPoint = {
|
143
232
|
x: event.screenX,
|
144
233
|
y: event.screenY
|
145
234
|
};
|
235
|
+
const leftArea = this.areas[leftAreaIndex];
|
236
|
+
const rightArea = this.areas[rightAreaIndex];
|
146
237
|
leftArea.initialSize = leftArea.area.getSize();
|
147
238
|
rightArea.initialSize = rightArea.area.getSize();
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
239
|
+
let currentGutter;
|
240
|
+
if (this.useGhost) {
|
241
|
+
// tslint:disable-next-line:no-magic-numbers
|
242
|
+
const gutterOrder = leftAreaIndex * 2 + 1;
|
243
|
+
currentGutter = this.gutters.find((gutter) => gutter.order === gutterOrder);
|
244
|
+
if (currentGutter) {
|
245
|
+
const gutterPosition = currentGutter.getPosition();
|
246
|
+
this.ghost.direction = currentGutter.direction;
|
247
|
+
this.ghost.size = currentGutter.size;
|
248
|
+
this.ghost.x = gutterPosition.x;
|
249
|
+
this.ghost.y = gutterPosition.y;
|
250
|
+
this.ghost.visible = true;
|
251
|
+
this.setStyle("cursor" /* Cursor */, currentGutter.direction === Direction.Vertical ? 'row-resize' : 'col-resize');
|
252
|
+
}
|
253
|
+
}
|
254
|
+
else {
|
255
|
+
this.areas.forEach((item) => {
|
256
|
+
const size = item.area.getSize();
|
257
|
+
item.area.disableFlex();
|
258
|
+
item.area.setSize(size);
|
259
|
+
});
|
260
|
+
}
|
261
|
+
this.listeners.push(this.renderer.listen('document', 'mouseup', () => this.onMouseUp(leftArea, rightArea, currentGutter)));
|
156
262
|
this.ngZone.runOutsideAngular(() => {
|
157
|
-
this.listeners.push(this.renderer.listen('document', 'mousemove', (e) => this.onMouseMove(e, startPoint, leftArea, rightArea)));
|
263
|
+
this.listeners.push(this.renderer.listen('document', 'mousemove', (e) => this.onMouseMove(e, startPoint, leftArea, rightArea, currentGutter)));
|
158
264
|
});
|
159
|
-
this.
|
265
|
+
this._isDragging = true;
|
160
266
|
}
|
161
267
|
removeArea(area) {
|
162
268
|
let indexToRemove = -1;
|
@@ -183,7 +289,7 @@ class McSplitterComponent {
|
|
183
289
|
}
|
184
290
|
});
|
185
291
|
}
|
186
|
-
onMouseMove(event, startPoint, leftArea, rightArea) {
|
292
|
+
onMouseMove(event, startPoint, leftArea, rightArea, currentGutter) {
|
187
293
|
if (!this.isDragging || this.disabled) {
|
188
294
|
return;
|
189
295
|
}
|
@@ -194,11 +300,28 @@ class McSplitterComponent {
|
|
194
300
|
const offset = this.isVertical()
|
195
301
|
? startPoint.y - endPoint.y
|
196
302
|
: startPoint.x - endPoint.x;
|
197
|
-
|
198
|
-
|
303
|
+
if (this.useGhost && currentGutter) {
|
304
|
+
const gutterPosition = currentGutter.getPosition();
|
305
|
+
const leftPos = leftArea.area.getPosition();
|
306
|
+
const rightPos = rightArea.area.getPosition();
|
307
|
+
const rightMin = rightArea.area.getMinSize() || 0;
|
308
|
+
const leftMin = leftArea.area.getMinSize() || 0;
|
309
|
+
const key = this.isVertical() ? 'y' : 'x';
|
310
|
+
const minPos = leftPos[key] - leftMin;
|
311
|
+
const maxPos = rightPos[key] + (rightArea.area.getSize() || 0) - rightMin - currentGutter.size;
|
312
|
+
const newPos = gutterPosition[key] - offset;
|
313
|
+
this.ghost[key] = newPos < minPos ? minPos : Math.min(newPos, maxPos);
|
314
|
+
}
|
315
|
+
else {
|
316
|
+
this.resizeAreas(leftArea, rightArea, offset);
|
317
|
+
}
|
318
|
+
}
|
319
|
+
resizeAreas(leftArea, rightArea, sizeOffset) {
|
320
|
+
const newLeftAreaSize = leftArea.initialSize - sizeOffset;
|
321
|
+
const newRightAreaSize = rightArea.initialSize + sizeOffset;
|
199
322
|
const minLeftAreaSize = leftArea.area.getMinSize();
|
200
323
|
const minRightAreaSize = rightArea.area.getMinSize();
|
201
|
-
if (newLeftAreaSize
|
324
|
+
if (newLeftAreaSize < minLeftAreaSize || newRightAreaSize < minRightAreaSize) {
|
202
325
|
return;
|
203
326
|
}
|
204
327
|
else if (newLeftAreaSize <= 0) {
|
@@ -214,14 +337,23 @@ class McSplitterComponent {
|
|
214
337
|
rightArea.area.setSize(newRightAreaSize);
|
215
338
|
}
|
216
339
|
}
|
217
|
-
onMouseUp() {
|
340
|
+
onMouseUp(leftArea, rightArea, currentGutter) {
|
218
341
|
while (this.listeners.length > 0) {
|
219
342
|
const unsubscribe = this.listeners.pop();
|
220
343
|
if (unsubscribe) {
|
221
344
|
unsubscribe();
|
222
345
|
}
|
223
346
|
}
|
224
|
-
this.
|
347
|
+
if (this.useGhost && currentGutter) {
|
348
|
+
const gutterPosition = currentGutter.getPosition();
|
349
|
+
const offset = this.ghost.direction === Direction.Vertical ?
|
350
|
+
gutterPosition.y - this.ghost.y :
|
351
|
+
gutterPosition.x - this.ghost.x;
|
352
|
+
this.resizeAreas(leftArea, rightArea, offset);
|
353
|
+
this.ghost.visible = false;
|
354
|
+
this.setStyle("cursor" /* Cursor */, 'unset');
|
355
|
+
}
|
356
|
+
this._isDragging = false;
|
225
357
|
this.updateGutter();
|
226
358
|
this.gutterPositionChange.emit();
|
227
359
|
}
|
@@ -230,7 +362,7 @@ class McSplitterComponent {
|
|
230
362
|
}
|
231
363
|
}
|
232
364
|
/** @nocollapse */ McSplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McSplitterComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
233
|
-
/** @nocollapse */ McSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterComponent, selector: "mc-splitter", inputs: { hideGutters: "hideGutters", direction: "direction", disabled: "disabled", gutterSize: "gutterSize" }, outputs: { gutterPositionChange: "gutterPositionChange" }, host: { classAttribute: "mc-splitter" }, viewQueries: [{ propertyName: "gutters", predicate: McGutterDirective, descendants: true }], exportAs: ["mcSplitter"], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <mc-gutter *ngIf=\"last === false\"\n [direction]=\"direction\"\n [attr.disabled]=\"disabled || null\"\n [style.display]=\"hideGutters ? 'none' : 'flex'\"\n [size]=\"gutterSize\"\n [order]=\"index * 2 + 1\"\n (mousedown)=\"onMouseDown($event, index, index + 1)\">\n </mc-gutter>\n</ng-template>\n", styles: [".mc-splitter{display:flex;flex-wrap:nowrap;align-items:stretch;overflow:hidden}.mc-splitter .mc-splitter-area{overflow:hidden}.mc-gutter{display:flex;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;overflow:hidden}.mc-gutter.mc-gutter_vertical>.mc-icon{transform:rotate(90deg)}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: McGutterDirective, selector: "mc-gutter", inputs: ["direction", "order", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
365
|
+
/** @nocollapse */ McSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterComponent, selector: "mc-splitter", inputs: { hideGutters: "hideGutters", direction: "direction", disabled: "disabled", useGhost: "useGhost", gutterSize: "gutterSize" }, outputs: { gutterPositionChange: "gutterPositionChange" }, host: { classAttribute: "mc-splitter" }, viewQueries: [{ propertyName: "ghost", first: true, predicate: McGutterGhostDirective, descendants: true }, { propertyName: "gutters", predicate: McGutterDirective, descendants: true }], exportAs: ["mcSplitter"], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <mc-gutter *ngIf=\"last === false\"\n [direction]=\"direction\"\n [attr.disabled]=\"disabled || null\"\n [style.display]=\"hideGutters ? 'none' : 'flex'\"\n [size]=\"gutterSize\"\n [order]=\"index * 2 + 1\"\n (mousedown)=\"onMouseDown($event, index, index + 1)\">\n </mc-gutter>\n</ng-template>\n\n<mc-gutter-ghost *ngIf=\"useGhost\"></mc-gutter-ghost>\n", styles: [".mc-splitter{display:flex;position:relative;flex-wrap:nowrap;align-items:stretch;overflow:hidden}.mc-splitter .mc-splitter-area{overflow:hidden}.mc-splitter .mc-splitter-area_resizing{pointer-events:none}.mc-gutter{display:flex;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;overflow:hidden}.mc-gutter.mc-gutter_vertical>.mc-icon{transform:rotate(90deg)}.mc-gutter-ghost{position:absolute;z-index:999;display:none;overflow:hidden}.mc-gutter-ghost.mc-gutter-ghost_vertical>.mc-icon{transform:rotate(90deg)}.mc-gutter-ghost.mc-gutter-ghost_visible{display:block}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: McGutterDirective, selector: "mc-gutter", inputs: ["direction", "order", "size"] }, { type: McGutterGhostDirective, selector: "mc-gutter-ghost", inputs: ["visible", "x", "y", "direction", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
234
366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McSplitterComponent, decorators: [{
|
235
367
|
type: Component,
|
236
368
|
args: [{
|
@@ -250,12 +382,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
250
382
|
}], gutters: [{
|
251
383
|
type: ViewChildren,
|
252
384
|
args: [McGutterDirective]
|
385
|
+
}], ghost: [{
|
386
|
+
type: ViewChild,
|
387
|
+
args: [McGutterGhostDirective]
|
253
388
|
}], hideGutters: [{
|
254
389
|
type: Input
|
255
390
|
}], direction: [{
|
256
391
|
type: Input
|
257
392
|
}], disabled: [{
|
258
393
|
type: Input
|
394
|
+
}], useGhost: [{
|
395
|
+
type: Input
|
259
396
|
}], gutterSize: [{
|
260
397
|
type: Input
|
261
398
|
}] } });
|
@@ -266,6 +403,9 @@ class McSplitterAreaDirective {
|
|
266
403
|
this.splitter = splitter;
|
267
404
|
this.sizeChange = new EventEmitter();
|
268
405
|
}
|
406
|
+
isResizing() {
|
407
|
+
return this.splitter.isDragging;
|
408
|
+
}
|
269
409
|
disableFlex() {
|
270
410
|
this.renderer.removeStyle(this.elementRef.nativeElement, 'flex');
|
271
411
|
}
|
@@ -289,7 +429,7 @@ class McSplitterAreaDirective {
|
|
289
429
|
this.setStyle("order" /* Order */, order);
|
290
430
|
}
|
291
431
|
setSize(size) {
|
292
|
-
if (size) {
|
432
|
+
if (!isNaN(size)) {
|
293
433
|
const sz = coerceNumberProperty(size);
|
294
434
|
this.setStyle(this.getSizeProperty(), coerceCssPixelValue(sz));
|
295
435
|
}
|
@@ -297,6 +437,12 @@ class McSplitterAreaDirective {
|
|
297
437
|
getSize() {
|
298
438
|
return this.elementRef.nativeElement[this.getOffsetSizeProperty()];
|
299
439
|
}
|
440
|
+
getPosition() {
|
441
|
+
return {
|
442
|
+
x: this.elementRef.nativeElement.offsetLeft,
|
443
|
+
y: this.elementRef.nativeElement.offsetTop
|
444
|
+
};
|
445
|
+
}
|
300
446
|
getMinSize() {
|
301
447
|
const styles = getComputedStyle(this.elementRef.nativeElement);
|
302
448
|
return parseFloat(styles[this.getMinSizeProperty()]);
|
@@ -330,13 +476,14 @@ class McSplitterAreaDirective {
|
|
330
476
|
}
|
331
477
|
}
|
332
478
|
/** @nocollapse */ McSplitterAreaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McSplitterAreaDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: McSplitterComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
333
|
-
/** @nocollapse */ McSplitterAreaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterAreaDirective, selector: "[mc-splitter-area]", outputs: { sizeChange: "sizeChange" }, host: { classAttribute: "mc-splitter-area" }, ngImport: i0 });
|
479
|
+
/** @nocollapse */ McSplitterAreaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterAreaDirective, selector: "[mc-splitter-area]", outputs: { sizeChange: "sizeChange" }, host: { properties: { "class.mc-splitter-area_resizing": "isResizing()" }, classAttribute: "mc-splitter-area" }, ngImport: i0 });
|
334
480
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McSplitterAreaDirective, decorators: [{
|
335
481
|
type: Directive,
|
336
482
|
args: [{
|
337
483
|
selector: '[mc-splitter-area]',
|
338
484
|
host: {
|
339
|
-
class: 'mc-splitter-area'
|
485
|
+
class: 'mc-splitter-area',
|
486
|
+
'[class.mc-splitter-area_resizing]': 'isResizing()'
|
340
487
|
}
|
341
488
|
}]
|
342
489
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: McSplitterComponent }]; }, propDecorators: { sizeChange: [{
|
@@ -347,6 +494,7 @@ class McSplitterModule {
|
|
347
494
|
}
|
348
495
|
/** @nocollapse */ McSplitterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McSplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
349
496
|
/** @nocollapse */ McSplitterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McSplitterModule, declarations: [McGutterDirective,
|
497
|
+
McGutterGhostDirective,
|
350
498
|
McSplitterAreaDirective,
|
351
499
|
McSplitterComponent], imports: [CommonModule,
|
352
500
|
McIconModule], exports: [McGutterDirective,
|
@@ -370,6 +518,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
370
518
|
],
|
371
519
|
declarations: [
|
372
520
|
McGutterDirective,
|
521
|
+
McGutterGhostDirective,
|
373
522
|
McSplitterAreaDirective,
|
374
523
|
McSplitterComponent
|
375
524
|
]
|
@@ -380,5 +529,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
380
529
|
* Generated bundle index. Do not edit.
|
381
530
|
*/
|
382
531
|
|
383
|
-
export { Direction, McGutterDirective, McSplitterAreaDirective, McSplitterComponent, McSplitterModule };
|
532
|
+
export { Direction, McGutterDirective, McGutterGhostDirective, McSplitterAreaDirective, McSplitterComponent, McSplitterModule };
|
384
533
|
//# sourceMappingURL=ptsecurity-mosaic-splitter.js.map
|