@natec/mef-dev-ui-kit 16.0.2 → 16.2.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/README.md +2 -1
- package/esm2022/lib/markup-kit/card/card/card.component.mjs +4 -4
- package/esm2022/lib/markup-kit/card/card-long/card-long.component.mjs +4 -4
- package/esm2022/lib/markup-kit/card/card-simple/card-simple.component.mjs +3 -3
- package/esm2022/lib/markup-kit/card/card.module.mjs +4 -4
- package/esm2022/lib/markup-kit/collapse/collapse/collapse.component.mjs +4 -4
- package/esm2022/lib/markup-kit/collapse/collapse-set/collapse-set.component.mjs +3 -3
- package/esm2022/lib/markup-kit/collapse/collapse.module.mjs +4 -4
- package/esm2022/lib/markup-kit/modals/fill/fill.component.mjs +52 -32
- package/esm2022/lib/markup-kit/modals/markup-kit.module.mjs +6 -10
- package/esm2022/lib/markup-kit/modals/right-filter/right-filter.component.mjs +3 -3
- package/esm2022/lib/markup-kit/modals/slide-right/slide-right.component.mjs +56 -35
- package/esm2022/lib/markup-kit/modals/slide-up/slide-up.component.mjs +46 -41
- package/esm2022/lib/markup-kit/page-layouts/central-page/central-page.component.mjs +3 -3
- package/esm2022/lib/markup-kit/page-layouts/central-page-row/central-page-row.component.mjs +3 -3
- package/esm2022/lib/markup-kit/page-layouts/manage-page/manage-page.component.mjs +3 -3
- package/esm2022/lib/markup-kit/page-layouts/page-layouts.module.mjs +4 -4
- package/esm2022/lib/markup-kit/page-layouts/profile/profile.component.mjs +4 -4
- package/esm2022/lib/markup-kit/page-layouts/table-page/table-page.component.mjs +3 -3
- package/esm2022/lib/markup-kit/utils/filtered-field/filtered-field-container/filtered-field-container.component.mjs +3 -3
- package/esm2022/lib/markup-kit/utils/filtered-field/filtered-field-item/filtered-field-item.component.mjs +3 -3
- package/esm2022/lib/markup-kit/utils/filtered-field/filtered-field.module.mjs +4 -4
- package/esm2022/lib/markup-kit/utils/filtered-field/filtered-field.service.mjs +3 -3
- package/esm2022/lib/markup-kit/utils/help-block/help-block.component.mjs +3 -3
- package/esm2022/lib/markup-kit/utils/help-block/hepl-block.module.mjs +4 -4
- package/esm2022/lib/pg-components/card/card.components.mjs +3 -3
- package/esm2022/lib/pg-components/card/card.module.mjs +4 -4
- package/esm2022/lib/pg-components/progress/progress.component.mjs +3 -3
- package/esm2022/lib/pg-components/progress/progress.config.mjs +3 -3
- package/esm2022/lib/pg-components/progress/progress.module.mjs +4 -4
- package/esm2022/lib/pg-components/select/option.component.mjs +3 -3
- package/esm2022/lib/pg-components/select/option.pipe.mjs +3 -3
- package/esm2022/lib/pg-components/select/select.component.mjs +3 -3
- package/esm2022/lib/pg-components/select/select.module.mjs +4 -4
- package/esm2022/lib/pg-components/spec-flow-test/spec-flow-test/spec-flow-test.component.mjs +3 -3
- package/esm2022/lib/pg-components/spec-flow-test/spec-flow-test.module.mjs +4 -4
- package/esm2022/lib/pg-components/switch/switch.component.mjs +3 -3
- package/esm2022/lib/pg-components/switch/switch.module.mjs +4 -4
- package/esm2022/lib/pg-components/tabs/tab-body.component.mjs +3 -3
- package/esm2022/lib/pg-components/tabs/tab-label.directive.mjs +5 -5
- package/esm2022/lib/pg-components/tabs/tab.component.mjs +3 -3
- package/esm2022/lib/pg-components/tabs/tabs-ink-bar.directive.mjs +5 -5
- package/esm2022/lib/pg-components/tabs/tabs-nav.component.mjs +5 -5
- package/esm2022/lib/pg-components/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/pg-components/tabs/tabset.component.mjs +6 -11
- package/fesm2022/natec-mef-dev-ui-kit.mjs +291 -255
- package/fesm2022/natec-mef-dev-ui-kit.mjs.map +1 -1
- package/lib/markup-kit/card/card/card.component.d.ts +1 -1
- package/lib/markup-kit/card/card-long/card-long.component.d.ts +1 -1
- package/lib/markup-kit/card/card-simple/card-simple.component.d.ts +1 -1
- package/lib/markup-kit/card/card.module.d.ts +1 -1
- package/lib/markup-kit/collapse/collapse/collapse.component.d.ts +1 -1
- package/lib/markup-kit/collapse/collapse-set/collapse-set.component.d.ts +1 -1
- package/lib/markup-kit/modals/fill/fill.component.d.ts +17 -17
- package/lib/markup-kit/modals/markup-kit.module.d.ts +3 -4
- package/lib/markup-kit/modals/right-filter/right-filter.component.d.ts +1 -1
- package/lib/markup-kit/modals/slide-right/slide-right.component.d.ts +21 -20
- package/lib/markup-kit/modals/slide-up/slide-up.component.d.ts +13 -24
- package/lib/markup-kit/page-layouts/central-page/central-page.component.d.ts +1 -1
- package/lib/markup-kit/page-layouts/central-page-row/central-page-row.component.d.ts +1 -1
- package/lib/markup-kit/page-layouts/manage-page/manage-page.component.d.ts +1 -1
- package/lib/markup-kit/page-layouts/profile/profile.component.d.ts +1 -1
- package/lib/markup-kit/page-layouts/table-page/table-page.component.d.ts +1 -1
- package/lib/markup-kit/utils/filtered-field/filtered-field-container/filtered-field-container.component.d.ts +1 -1
- package/lib/markup-kit/utils/filtered-field/filtered-field-item/filtered-field-item.component.d.ts +1 -1
- package/lib/markup-kit/utils/help-block/help-block.component.d.ts +1 -1
- package/lib/pg-components/card/card.components.d.ts +1 -1
- package/lib/pg-components/progress/progress.component.d.ts +1 -1
- package/lib/pg-components/select/option.component.d.ts +1 -1
- package/lib/pg-components/select/select.component.d.ts +1 -1
- package/lib/pg-components/spec-flow-test/spec-flow-test/spec-flow-test.component.d.ts +1 -1
- package/lib/pg-components/switch/switch.component.d.ts +1 -1
- package/lib/pg-components/tabs/tab-body.component.d.ts +1 -1
- package/lib/pg-components/tabs/tab-label.directive.d.ts +1 -1
- package/lib/pg-components/tabs/tab.component.d.ts +1 -1
- package/lib/pg-components/tabs/tabs-ink-bar.directive.d.ts +1 -1
- package/lib/pg-components/tabs/tabs-nav.component.d.ts +1 -1
- package/lib/pg-components/tabs/tabset.component.d.ts +1 -1
- package/package.json +5 -5
- package/src/lib/styles/fonts.scss +6 -6
- package/src/lib/styles/pg/core.scss +1 -5
- package/src/lib/styles/pg/modules/_breadcrumb.scss +1 -1
- package/src/lib/styles/pg/modules/_buttons.scss +1 -1
- package/src/lib/styles/pg/modules/_cards.scss +2 -2
- package/src/lib/styles/pg/modules/_form_elements.scss +2 -2
- package/src/lib/styles/pg/modules/_tabs.scss +2 -2
- package/src/lib/styles/pg/modules/_tabs_accordian.scss +2 -2
- package/src/lib/styles/pg/modules/_typography.scss +2 -1
- package/src/lib/styles/pg/vendor/ng-datatable.scss +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"natec-mef-dev-ui-kit.mjs","sources":["../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse-set/collapse-set.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse-set/collapse-set.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse/collapse.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse/collapse.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field.service.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-item/filtered-field-item.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-item/filtered-field-item.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-container/filtered-field-container.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-container/filtered-field-container.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtred-item.model.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/help-block/help-block.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/help-block/help-block.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/help-block/hepl-block.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/card/card.components.ts","../../../projects/ui-kit-lib/src/lib/pg-components/card/card.components.html","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card/card.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card/card.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-long/cart-type-colors.enum.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-long/card-long.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-long/card-long.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-simple/card-simple.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-simple/card-simple.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/util/convert.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/option.pipe.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/select.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/select.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/select/option.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/option.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/select/select.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.config.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/card/card.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/fill/fill.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/fill/fill.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-up/slide-up.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-up/slide-up.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-right/slide-right.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-right/slide-right.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/right-filter/right-filter.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/right-filter/right-filter.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/markup-kit.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/profile/profile.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/profile/profile.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page/central-page.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page/central-page.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page-row/central-page-row.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page-row/central-page-row.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/table-page/table-page.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/table-page/table-page.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/manage-page/manage-page.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/manage-page/manage-page.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/page-layouts.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/spec-flow-test/spec-flow-test/spec-flow-test.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/spec-flow-test/spec-flow-test/spec-flow-test.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/spec-flow-test/spec-flow-test.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/switch/switch.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/switch/switch.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/switch/switch.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab-body.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab-body.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab-label.directive.ts","../../../projects/ui-kit-lib/src/lib/pg-components/util/request-animation.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs-ink-bar.directive.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs-nav.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs-nav.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabset.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabset.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs.module.ts","../../../projects/ui-kit-lib/src/natec-mef-dev-ui-kit.ts"],"sourcesContent":["import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CollapseComponent } from '../collapse/collapse.component';\r\n\r\n\r\n/**\r\n* Component representing a set of collapsible panels.\r\n*\r\n* Example of usage:\r\n*\r\n*```\r\n* <mefdev-collapse-set [Accordion]=\"true\" [Horizontal]=\"true\" [expandAny]=\"false\">\r\n* <mefdev-collapse [Disabled]=\"false\" [Active]=\"true\">\r\n* <!-- Content for the collapse panel -->\r\n* <h3>Panel 1</h3>\r\n* <p>Panel 1 content...</p>\r\n* </mefdev-collapse>\r\n\r\n* <mefdev-collapse [Disabled]=\"false\" [Active]=\"false\">\r\n* <!-- Content for the collapse panel -->\r\n* <h3>Panel 2</h3>\r\n* <p>Panel 2 content...</p>\r\n* </mefdev-collapse>\r\n\r\n* <mefdev-collapse [Disabled]=\"false\" [Active]=\"false\">\r\n* <!-- Content for the collapse panel -->\r\n* <h3>Panel 3</h3>\r\n* <p>Panel 3 content...</p>\r\n* </mefdev-collapse>\r\n* </mefdev-collapse-set>\r\n*```\r\n*/\r\n@Component({\r\n selector: 'mefdev-collapse-set',\r\n templateUrl: './collapse-set.component.html',\r\n styleUrls: ['./collapse-set.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CollapseSetComponent {\r\n \r\n private _accordion = false;\r\n private _horizontal = true;\r\n private _expandAny = true;\r\n panels: CollapseComponent[] = [];\r\n\r\n /**\r\n * Indicates whether multiple panels can be expanded simultaneously.\r\n * Set this to `true` to allow multiple panels to be expanded. Defaults to `false`.\r\n */\r\n @Input()\r\n set expandAny(value: boolean) {\r\n this._accordion = value;\r\n }\r\n\r\n get expandAny(): boolean {\r\n return this._accordion;\r\n }\r\n\r\n /**\r\n * Indicates whether the collapse set operates as an accordion.\r\n * Set this to `true` to enable accordion behavior. Defaults to `false`.\r\n */\r\n @Input()\r\n set Accordion(value: boolean) {\r\n this._accordion = value;\r\n }\r\n\r\n get Accordion(): boolean {\r\n return this._accordion;\r\n }\r\n\r\n /**\r\n * Indicates whether the collapse set is displayed horizontally or vertically.\r\n * Set this to `true` for horizontal display and `false` for vertical display. Defaults to `true`.\r\n */\r\n @Input()\r\n set Horizontal(value: boolean) {\r\n this._horizontal = value;\r\n }\r\n\r\n get Horizontal(): boolean {\r\n return this._horizontal;\r\n }\r\n\r\n /**\r\n * Event handler for the click event on a collapse panel.\r\n * Closes other panels if the collapse set is an accordion and does not allow multiple expansions.\r\n *\r\n * @param collapse The clicked collapse component.\r\n */\r\n pgClick(collapse: CollapseComponent): void {\r\n if (this.Accordion && !this.expandAny) {\r\n this.panels.map((item, index) => {\r\n const curIndex = this.panels.indexOf(collapse);\r\n if (index !== curIndex) {\r\n item.Active = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Adds a collapse panel to the collapse set.\r\n *\r\n * @param collapse The collapse component to be added.\r\n */\r\n addTab(collapse: CollapseComponent): void {\r\n this.panels.push(collapse);\r\n }\r\n}\r\n","<div class=\"card-group\" [class.horizontal]=\"Horizontal\">\r\n <ng-content></ng-content>\r\n</div>","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ContentChild, ElementRef, EventEmitter, Host, HostBinding, Input, Output, TemplateRef } from '@angular/core';\r\nimport { CollapseSetComponent } from '../collapse-set/collapse-set.component';\r\n\r\n\r\n/**\r\n * Component for displaying a collapsible content.\r\n *\r\n *\r\n * Example of usage:\r\n *```\r\n * <mefdev-collapse [Disabled]=\"false\" [Active]=\"true\" (stateChange)=\"onStateChange($event)\">\r\n * <ng-template #CardTitle>\r\n * <!-- Content for the card title -->\r\n * <h3>Card Title</h3>\r\n * </ng-template>\r\n * \r\n * <!-- Content for the collapsible section -->\r\n * <div>\r\n Content inside collapse\r\n * </div>\r\n * </mefdev-collapse>\r\n *\r\n *```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/collapse/collapse</example-url>\r\n\r\n */\r\n@Component({\r\n selector: 'mefdev-collapse',\r\n templateUrl: './collapse.component.html',\r\n styleUrls: ['./collapse.component.scss'],\r\n animations: [\r\n trigger('collapseState', [\r\n state(\r\n 'inactive',\r\n style({\r\n opacity: '0',\r\n height: 0\r\n })\r\n ),\r\n state(\r\n 'active',\r\n style({\r\n opacity: '1',\r\n height: '*'\r\n })\r\n ),\r\n transition('inactive => active', animate('125ms ease-in')),\r\n transition('active => inactive', animate('125ms ease-out'))\r\n ])\r\n ],\r\n host: {\r\n '[class.card]': 'true',\r\n '[class.card-default]': 'true',\r\n '[class.m-b-0]': 'true'\r\n }\r\n})\r\nexport class CollapseComponent {\r\n\r\n private _disabled = false;\r\n _active = false;\r\n _el;\r\n\r\n /**\r\n * ContentChild for the template of the card title.\r\n *\r\n * Example:\r\n * ```\r\n * <ng-template #CardTitle>\r\n * <h3>Card Title</h3>\r\n * </ng-template>\r\n * ```\r\n */\r\n @ContentChild(\"CardTitle\") CardTitle: TemplateRef<void>;\r\n\r\n /**\r\n * Indicates whether the collapse is disabled.\r\n * Set this to `true` to disable the collapse. Defaults to `false`.\r\n */\r\n @Input()\r\n @HostBinding('class.disabled')\r\n set Disabled(value: boolean) {\r\n this._disabled = value;\r\n }\r\n\r\n get Disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n /**\r\n * Indicates whether the collapse is active or not.\r\n */\r\n @Input()\r\n set Active(value: boolean) {\r\n const active = value;\r\n if (this._active === active) {\r\n return;\r\n }\r\n if (!this.Disabled) {\r\n this._active = active;\r\n }\r\n }\r\n \r\n get Active(): boolean {\r\n return this._active;\r\n }\r\n\r\n /**\r\n * Event emitter for the state change of the collapse.\r\n * Emits a boolean value indicating whether the collapse is active or not.\r\n *\r\n * Example:\r\n * ```\r\n * <mefdev-collapse (stateChange)=\"onStateChange($event)\"></mefdev-collapse>\r\n * ```\r\n */\r\n @Output() stateChange = new EventEmitter<boolean>();\r\n\r\n /**\r\n * Event handler for the header click event.\r\n * Toggles the active state of the collapse and emits the state change event.\r\n *\r\n * @param $event The mouse event object.\r\n */\r\n clickHeader($event: MouseEvent): void {\r\n this.Active = !this.Active;\r\n this.stateChange.next(this.Active);\r\n /** trigger host collapseSet click event */\r\n this._collapseSet.pgClick(this);\r\n }\r\n\r\n constructor(@Host() private _collapseSet: CollapseSetComponent, private _elementRef: ElementRef) {\r\n this._el = this._elementRef.nativeElement;\r\n this._collapseSet.addTab(this);\r\n }\r\n}\r\n","<div class=\"row mt-2 card-title\" [attr.aria-expanded]=\"_active\" (click)=\"clickHeader($event)\" role=\"tab\"\r\nhref=\"javascript:;\" [ngClass]=\"{'collapsed':!_active}\">\r\n <div class=\"col\">\r\n <ng-template [ngTemplateOutlet]=\"CardTitle\"></ng-template>\r\n </div>\r\n <div class=\"col\">\r\n <i class=\"fa fa-angle-down float-end \" aria-hidden=\"true\" *ngIf=\"!_active\"></i>\r\n <i class=\"fa fa-angle-up float-end \" aria-hidden=\"true\" *ngIf=\"_active\"></i>\r\n </div>\r\n</div>\r\n\r\n<div class=\"collapse\" [ngClass]=\"{'show':true,'active':_active,'inactive':!_active}\" [@collapseState]=\"_active?'active':'inactive'\">\r\n <div *ngIf=\"_active\" \r\n class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule,ModuleWithProviders } from '@angular/core';\r\nimport { CollapseSetComponent } from './collapse-set/collapse-set.component';\r\nimport { CollapseComponent } from './collapse/collapse.component';\r\n\r\nexport const mefDevCollapseModuleComponents = [CollapseSetComponent, CollapseComponent];\r\n\r\n@NgModule({\r\n declarations: mefDevCollapseModuleComponents,\r\n exports : mefDevCollapseModuleComponents,\r\n imports : [ CommonModule ]\r\n})\r\n\r\nexport class MefDevCollapseModule {\r\n static forRoot(): ModuleWithProviders<MefDevCollapseModule> {\r\n return {\r\n ngModule: MefDevCollapseModule\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { FiltredItemModel } from './filtred-item.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FilteredFieldService {\r\n\r\n private newFilterItem: Subject<FiltredItemModel> = new Subject<FiltredItemModel>();\r\n private openFilter: Subject<FiltredItemModel> = new Subject<FiltredItemModel>();\r\n\r\n constructor() {}\r\n\r\n /**\r\n * Returns an observable that emits the open filter events.\r\n */\r\n public getOpenFilter(): Observable<FiltredItemModel>{\r\n return this.openFilter;\r\n }\r\n\r\n /**\r\n * Sends an open filter event with the specified item.\r\n * @param item The filtered item model.\r\n */\r\n public sendOpenFilter(item: FiltredItemModel){\r\n this.openFilter.next(item);\r\n }\r\n\r\n /**\r\n * Returns an observable that emits the new filter item events.\r\n */\r\n public getNewFilterItem(): Observable<FiltredItemModel>{\r\n return this.newFilterItem;\r\n }\r\n\r\n /**\r\n * Sends a new filter item event with the specified item.\r\n * @param item The filtered item model.\r\n */\r\n public sendNewFilterItem(item: FiltredItemModel){\r\n this.newFilterItem.next(item);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FiltredItemModel } from '../filtred-item.model';\r\n\r\n/**\r\n * Component representing a filtered field item.\r\n * \r\n * Example of usage:\r\n * ```\r\n * <mefdev-filtered-field-item [item]=\"filterItem\" (discard)=\"onDiscardFilter($event)\" (openFilter)=\"onOpenFilter()\">\r\n * </mefdev-filtered-field-item>\r\n *``` \r\n *\r\n*/\r\n@Component({\r\n selector: 'mefdev-filtered-field-item',\r\n templateUrl: './filtered-field-item.component.html',\r\n styleUrls: ['./filtered-field-item.component.scss']\r\n})\r\nexport class FilteredFieldItemComponent implements OnInit {\r\n\r\n /**\r\n * The filtered item model.\r\n * ```\r\n * <mefdev-filtered-field-item [item]=\"filterItem\">\r\n * Content goes here...\r\n * </mefdev-filtered-field-item>\r\n * ```\r\n */\r\n @Input() item: FiltredItemModel;\r\n\r\n /**\r\n * Event emitted when the filter is discarded.\r\n * ```\r\n * <mefdev-filtered-field-item (discard)=\"onDiscardFilter($event)\">\r\n * Content goes here...\r\n * </mefdev-filtered-field-item>\r\n * ```\r\n */\r\n @Output() discard = new EventEmitter<FiltredItemModel>();\r\n\r\n /**\r\n * Event emitted when the filter is opened.\r\n * ```\r\n * <mefdev-filtered-field-item (openFilter)=\"onOpenFilter()\">\r\n * Content goes here...\r\n * </mefdev-filtered-field-item>\r\n * ```\r\n */\r\n @Output() openFilter = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n \r\n /**\r\n * Event handler for opening the filter.\r\n * Emits the `openFilter` event.\r\n */\r\n onOpenFilter(){\r\n this.openFilter.next({});\r\n }\r\n\r\n\r\n /**\r\n * Event handler for discarding the filter.\r\n * Emits the `discard` event with the `item` as the payload.\r\n */\r\n onDiscard(){\r\n this.discard.next(this.item);\r\n }\r\n\r\n}\r\n","<div class=\"item\">\r\n <i class=\"fa fa-times\" (click)=\"onDiscard()\" style=\"margin-right: 3px; cursor: pointer;\"></i> \r\n <span (click)=\"onOpenFilter()\">{{item.newValue}}</span>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FilteredFieldService } from '../filtered-field.service';\r\nimport { FiltredItemModel } from '../filtred-item.model';\r\n\r\n /**\r\n * A container component for filtered fields.\r\n *\r\n * Example of usage:\r\n * ```\r\n * <mefdev-filtered-field-container>\r\n * \r\n * <mefdev-filtered-field-item [item]=\"filterItem\" (discard)=\"onDiscardFilter($event)\" (openFilter)=\"onOpenFilter()\">\r\n * </mefdev-filtered-field-item>\r\n *\r\n * </mefdev-filtered-field-container>\r\n * ```\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/utils/filtered-field</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-filtered-field-container',\r\n templateUrl: './filtered-field-container.component.html',\r\n styleUrls: ['./filtered-field-container.component.scss']\r\n})\r\nexport class FilteredFieldContainerComponent implements OnInit {\r\n\r\n /**\r\n * An array of filtered item models.\r\n */\r\n items: FiltredItemModel[] = [];\r\n\r\n constructor(\r\n private service: FilteredFieldService\r\n ) { }\r\n\r\n /**\r\n * Event handler for opening the filter.\r\n *\r\n * @param item The filtered item model.\r\n */\r\n onOpenFilter(item: FiltredItemModel){\r\n this.service.sendOpenFilter(item);\r\n }\r\n\r\n /**\r\n * Event handler for discarding the filter.\r\n *\r\n * @param item The filtered item model.\r\n */\r\n onDiscard(item: FiltredItemModel){\r\n item.discard(item.standartValue);\r\n this.items.splice(this.items.findIndex(x => x.id == item.id), 1);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.service.getNewFilterItem().subscribe(item => {\r\n let i = this.items.findIndex(x => x.id == item.id)\r\n\r\n if(i != -1 && item.newValue == item.standartValue){\r\n this.items[i] = item;\r\n this.items.splice(i, 1);\r\n return;\r\n }\r\n\r\n if(i == -1 && (item.newValue == item.standartValue || item.newValue == '') ){\r\n return;\r\n }\r\n\r\n if(i != -1){\r\n this.items[i] = item;\r\n return;\r\n }\r\n\r\n this.items.push(item);\r\n\r\n })\r\n }\r\n}\r\n","<div class=\"item-container\">\r\n <mefdev-filtered-field-item *ngFor=\"let item of items\" [item]=\"item\" (discard)=\"onDiscard(item)\" (openFilter)=\"onOpenFilter(item)\"></mefdev-filtered-field-item>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FilteredFieldContainerComponent } from './filtered-field-container/filtered-field-container.component';\r\nimport { FilteredFieldItemComponent } from './filtered-field-item/filtered-field-item.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n FilteredFieldContainerComponent,\r\n FilteredFieldItemComponent,\r\n ],\r\n exports:[\r\n FilteredFieldItemComponent,\r\n FilteredFieldContainerComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class MefDevFilteredFieldModule { }\r\n","export class FiltredItemModel{\r\n\r\n\r\n constructor(id:string, newValue: string, standartValue: string, discard: (standartValue: string) => any){\r\n this.id = id;\r\n this.newValue = newValue;\r\n this.standartValue = standartValue;\r\n this.discard = discard;\r\n }\r\n\r\n id:string;\r\n newValue: string;\r\n standartValue: string;\r\n discard: (standartValue: string) => any;\r\n}","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition,\r\n} from '@angular/animations';\r\n\r\n\r\n /**\r\n * A component representing a help block with smooth expand animation.\r\n *\r\n * Example of usage:\r\n *```\r\n * <mefdev-help-block [title]=\"'Help'\">\r\n * Content goes here...\r\n * <ng-content></ng-content>\r\n * </mefdev-help-block>\r\n *```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/utils/help-block</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-help-block',\r\n templateUrl: './help-block.component.html',\r\n styleUrls: ['./help-block.component.scss'],\r\n animations:[\r\n trigger('smothExpand',[\r\n state('close', style({\r\n height: '0',\r\n margin: '0',\r\n padding: '0',\r\n opacity: '0',\r\n visibility: 'hidden',\r\n })),\r\n state('open', style({})),\r\n transition('close<=>open', animate(200))\r\n ])\r\n ]\r\n})\r\nexport class HelpBlockComponent implements OnInit {\r\n\r\n /**\r\n * Indicates whether the help block is visible.\r\n */\r\n isVisible:boolean = true;\r\n\r\n /**\r\n * Indicates whether the help block is expanded.\r\n */\r\n expanded:boolean = false;\r\n\r\n\r\n /**\r\n * The title of the help block.\r\n *```\r\n * <mefdev-help-block [title]=\"'Help Block'\">\r\n * Content goes here...\r\n * </mefdev-help-block>\r\n *```\r\n */\r\n @Input('title') title:string = \"Help\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"card-simple\" *ngIf=\"isVisible\">\r\n <div class=\"row m-1 body-1\" (click)=\"expanded = !expanded\" style=\"cursor: pointer;\">\r\n <div class=\"col-10\" style=\"color: white;\">\r\n {{ title }}\r\n </div>\r\n <div class=\"col-2\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\" style=\"float: right; margin-left: 20px;\" (click)=\"isVisible = !isVisible;\"></i>\r\n \r\n <i class=\"fa fa-angle-down \" *ngIf=\"!expanded\" aria-hidden=\"true\" style=\"float: right;\"></i>\r\n <i class=\"fa fa-angle-up\" *ngIf=\"expanded\" aria-hidden=\"true\" style=\"float: right;\"></i> \r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body row\" [@smothExpand]=\"expanded ? 'open' : 'close'\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HelpBlockComponent } from './help-block.component';\r\nimport { MefDevCollapseModule } from '../../collapse/collapse.module';\r\n\r\n@NgModule({\r\n declarations: [HelpBlockComponent],\r\n exports: [HelpBlockComponent],\r\n imports: [\r\n CommonModule,\r\n MefDevCollapseModule\r\n ]\r\n})\r\nexport class MefDevHelpBlockModule { }\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n/**\r\n * Component representing a progress bar.\r\n * \r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-progress type=\"linear\" color=\"blue\" [thick]=\"true\"></mefdev-progress>\r\n * <mefdev-progress type=\"circle\" color=\"red\" [indeterminate]=\"true\"></mefdev-progress>\r\n * ```\r\n */\r\n@Component({\r\n selector: \"mefdev-progress\",\r\n templateUrl: \"./progress.component.html\"\r\n})\r\nexport class MefDevProgressComponent {\r\n _value: number;\r\n _value2: any;\r\n\r\n /**\r\n * The type of progress bar.\r\n * Possible values: \"linear\" | \"circle\".\r\n * Default value: \"linear\".\r\n */\r\n @Input() type: string;\r\n\r\n /**\r\n * The color of the progress bar.\r\n * Possible values: any valid CSS color value.\r\n * Default value: none.\r\n */\r\n\r\n @Input() color: string;\r\n\r\n /**\r\n * Determines whether the progress bar is thick.\r\n * Default value: false.\r\n */\r\n @Input() thick: boolean;\r\n\r\n /**\r\n * Determines whether the progress bar is indeterminate.\r\n * Default value: false.\r\n */\r\n @Input() indeterminate: boolean;\r\n\r\n\r\n /**\r\n * The value of the progress bar.\r\n * For the \"circle\" type, it should be a number between 0 and 100.\r\n */\r\n @Input() set value(value: number) {\r\n if (this.type == \"circle\") {\r\n this._value = (value / 100) * 360;\r\n if (this.value >= 50) {\r\n this._value2 = true;\r\n }\r\n } else this._value = value;\r\n }\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n /**\r\n * Additional value property.\r\n */\r\n get value2() {\r\n return this._value2;\r\n }\r\n constructor() {}\r\n}\r\n","<div *ngIf=\"type === 'bar'; else circleBlock\">\r\n <div *ngIf=\"indeterminate; else determineBarBlock\">\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar-{{ color }}\" [class.progress-bar-indeterminate]=\"indeterminate\"></div>\r\n </div>\r\n </div>\r\n <ng-template #determineBarBlock>\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar progress-bar-{{ color }}\" [ngStyle]=\"{ width: value + '%' }\"></div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<ng-template #circleBlock>\r\n <div class=\"progress-circle-{{ color }}\" [class.progress-circle-indeterminate]=\"indeterminate\"\r\n [class.progress-circle]=\"!indeterminate\" [class.progress-circle-thick]=\"thick\">\r\n <div *ngIf=\"indeterminate; else determineBlock\"></div>\r\n <ng-template #determineBlock>\r\n <div class=\"pie\" [ngStyle]=\"_value2 && { clip: 'rect(auto, auto, auto, auto)' }\">\r\n <div class=\"left-side half-circle\" [ngStyle]=\"_value2 && { transform: 'rotate(' + value + 'deg)' }\"></div>\r\n <div class=\"right-side half-circle\" [ngStyle]=\"{\r\n transform:\r\n _value2 === true ? 'rotate(180deg)' : 'rotate(' + value + 'deg)'\r\n }\"></div>\r\n </div>\r\n <div class=\"shadow\"></div>\r\n </ng-template>\r\n </div>\r\n</ng-template>","import {\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n TemplateRef,\r\n ContentChild,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger\r\n} from \"@angular/animations\";\r\n\r\n/**\r\n * Component representing a custom card.\r\n * It provides various styling and animation options for the card layout.\r\n *\r\n * Example usage:\r\n * ```\r\n * <pgcard [Title]=\"'Card Title'\" [Type]=\"'default'\" [MinimalHeader]=\"false\" [ProgressType]=\"'circle'\">\r\n * Card content goes here...\r\n * </pgcard>\r\n * ```\r\n */\r\n@Component({\r\n selector: \"pgcard\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./card.components.html\",\r\n animations: [\r\n trigger(\"collapseState\", [\r\n state(\r\n \"inactive\",\r\n style({\r\n opacity: \"0\",\r\n height: 0,\r\n paddingBottom: \"0\"\r\n })\r\n ),\r\n state(\r\n \"active\",\r\n style({\r\n opacity: \"1\",\r\n height: \"*\",\r\n paddingBottom: \"*\"\r\n })\r\n ),\r\n transition(\"inactive => active\", animate(\"125ms ease-in\")),\r\n transition(\"active => inactive\", animate(\"125ms ease-out\"))\r\n ]),\r\n trigger(\"fadeAnimation\", [\r\n state(\r\n \"false\",\r\n style({\r\n opacity: \"0\",\r\n visibility: \"hidden\"\r\n })\r\n ),\r\n state(\r\n \"true\",\r\n style({\r\n opacity: \"1\",\r\n visibility: \"visible\"\r\n })\r\n ),\r\n transition(\"false => true\", animate(\"500ms ease-in\")),\r\n transition(\"true => false\", animate(\"500ms ease-out\"))\r\n ])\r\n ]\r\n})\r\nexport class pgCard {\r\n /**\r\n * Indicates whether the card is collapsed or not.\r\n * Default: false\r\n */\r\n _isCollapsed: boolean = false;\r\n\r\n /**\r\n * Indicates whether the card is maximized or not.\r\n * Default: false\r\n */\r\n _isMaximixed: boolean = false;\r\n\r\n /**\r\n * Indicates whether the card is in loading state or not.\r\n * Default: false\r\n */\r\n _isLoading: boolean = false;\r\n\r\n /**\r\n * Indicates whether the card has a minimal header or not.\r\n * Default: false\r\n */\r\n _minimalHeader: boolean = false;\r\n\r\n /**\r\n * The message to be displayed in the card.\r\n */\r\n _message: string = \"\";\r\n\r\n /**\r\n * The type of message to be displayed in the card (e.g., success, danger, warning).\r\n * Default: \"danger\"\r\n */\r\n _messageType: string = \"danger\";\r\n\r\n /**\r\n * Indicates whether the message in the card is visible or not.\r\n * Default: false\r\n */\r\n _messageVisible: boolean = false;\r\n\r\n /**\r\n * The type of progress indicator to be displayed in the card (e.g., circle, bar, none).\r\n * Default: \"circle\"\r\n */\r\n _progressType: string = \"circle\";\r\n\r\n /**\r\n * The color of the progress indicator in the card.\r\n */\r\n _progressColor: string = \"\";\r\n\r\n /**\r\n * Indicates whether the tools (e.g., refresh, close, maximize) are shown in the card header or not.\r\n * Default: true\r\n */\r\n _showTools: boolean = true;\r\n\r\n \r\n _close_card: boolean = false;\r\n _refresh: boolean = false;\r\n _refreshColor: string = \"light\";\r\n\r\n /**\r\n * Indicates whether the close button in the card is visible or not.\r\n * Default: true\r\n */\r\n _close: boolean = true;\r\n\r\n /**\r\n * Indicates whether the toggle button in the card is visible or not.\r\n * Default: true\r\n */\r\n _toggle: boolean = true;\r\n\r\n /**\r\n * Indicates whether the maximize button in the card is visible or not.\r\n * Default: true\r\n */\r\n _maximize: boolean = true;\r\n\r\n /**\r\n * The timeout value in milliseconds for the loading state of the card.\r\n * If set to 0, the loading state will not automatically turn off.\r\n * Default: 0\r\n */\r\n _timeout: number = 0;\r\n\r\n /**\r\n * The title text to be displayed in the card header.\r\n */\r\n _titleText: string = \"\";\r\n\r\n /**\r\n * The border style of the card.\r\n */\r\n _card_border_style: string = \"\";\r\n\r\n /**\r\n * The type of the card (e.g., default, bordered, minimal).\r\n * Default: \"default\"\r\n */\r\n _type: string = \"default\";\r\n\r\n\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card header.\r\n */\r\n _extraHeaderClass = \"\";\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card body.\r\n */\r\n _extraBodyClass = \"\";\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card.\r\n */\r\n _additionalClasses = \"\";\r\n\r\n /**\r\n * ViewChild reference to the host content element.\r\n */\r\n @ViewChild(\"hostContent\") _hostContent: ElementRef;\r\n /**\r\n * ViewChild reference to the minimal circle loading element.\r\n */\r\n @ViewChild(\"minimalCircleLoading\") minimalCircleLoading: ElementRef;\r\n /**\r\n * ViewChild reference to the minimal circle loading trigger element.\r\n */\r\n @ViewChild(\"minimalCircleLoadingTrigger\")\r\n minimalCircleLoadingTrigger: ElementRef;\r\n /**\r\n * ContentChild reference to the CardTitle template.\r\n */\r\n @ContentChild(\"CardTitle\") CardTitle: TemplateRef<void>;\r\n /**\r\n * ContentChild reference to the CardExtraControls template.\r\n */\r\n @ContentChild(\"CardExtraControls\") CardExtraControls: TemplateRef<void>;\r\n\r\n\r\n // Input properties\r\n\r\n /**\r\n * The title text to be displayed in the card header.\r\n */\r\n @Input()\r\n set Title(value: string) {\r\n this._titleText = value;\r\n }\r\n get Title() {\r\n return this._titleText;\r\n }\r\n\r\n /**\r\n * The type of the card (e.g., default, bordered, minimal).\r\n * Default: \"default\"\r\n */\r\n @Input()\r\n set Type(value: string) {\r\n this._type = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card has a minimal header or not.\r\n * Default: false\r\n */\r\n @Input()\r\n set MinimalHeader(value: boolean) {\r\n this._minimalHeader = value;\r\n }\r\n\r\n /**\r\n * The type of progress indicator to be displayed in the card (e.g., circle, bar, none).\r\n * Default: \"circle\"\r\n */\r\n @Input()\r\n set ProgressType(value: string) {\r\n this._progressType = value;\r\n }\r\n\r\n /**\r\n * The color of the progress indicator in the card.\r\n */\r\n @Input()\r\n set ProgressColor(value: string) {\r\n this._progressColor = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a refresh button or not.\r\n */\r\n @Input()\r\n set Refresh(value: boolean) {\r\n this._refresh = value;\r\n }\r\n\r\n /**\r\n * The color of the refresh button in the card (e.g., light, dark).\r\n * Default: \"light\"\r\n */\r\n @Input()\r\n set RefreshColor(value: string) {\r\n this._refreshColor = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a maximize button or not.\r\n */\r\n @Input()\r\n set Maximize(value: boolean) {\r\n this._maximize = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a close button or not.\r\n */\r\n @Input()\r\n set Close(value: boolean) {\r\n this._close = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a toggle button or not.\r\n */\r\n @Input()\r\n set Toggle(value: boolean) {\r\n this._toggle = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card header.\r\n */\r\n @Input()\r\n set HeaderClass(value: string) {\r\n this._extraHeaderClass = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card body.\r\n */\r\n @Input()\r\n set BodyClass(value: string) {\r\n this._extraBodyClass = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card.\r\n */\r\n @Input()\r\n set AdditionalClasses(value: string) {\r\n this._additionalClasses = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the tools (e.g., refresh, close, maximize) are shown in the card header or not.\r\n */\r\n @Input()\r\n set Controls(value: boolean) {\r\n this._showTools = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the message in the card is visible or not.\r\n */\r\n @Input()\r\n set ShowMessage(value: boolean) {\r\n this._messageVisible = value;\r\n }\r\n\r\n /**\r\n * The message text to be displayed in the card.\r\n */\r\n @Input()\r\n set Message(value: string) {\r\n this._message = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the loading indicator is shown in the card or not.\r\n */\r\n @Input()\r\n set Loading(value: boolean) {\r\n this._isLoading = value;\r\n }\r\n\r\n /**\r\n * The timeout duration for the loading indicator (in milliseconds).\r\n * If set to 0, the loading indicator will be displayed indefinitely until manually dismissed.\r\n * Default: 0\r\n */\r\n @Input()\r\n set TimeOut(value: number) {\r\n this._timeout = value;\r\n }\r\n\r\n /**\r\n * The border style of the card.\r\n */\r\n @Input()\r\n set CardBorderStyle(value: string) {\r\n this._card_border_style = value;\r\n }\r\n\r\n\r\n // Output properties\r\n\r\n /**\r\n * Event emitted when the refresh button is clicked.\r\n */\r\n @Output() onRefresh: EventEmitter<void> = new EventEmitter();\r\n\r\n // Other methods and lifecycle hooks\r\n\r\n /**\r\n * Toggles the collapsed state of the card.\r\n */\r\n toggle(): void {\r\n this._isCollapsed = this._isCollapsed === true ? false : true;\r\n }\r\n\r\n /**\r\n * Maximizes or restores the card to its original position.\r\n */\r\n maximize(): void {\r\n let nativeElement = this._hostContent.nativeElement;\r\n if (this._isMaximixed) {\r\n this._isMaximixed = false;\r\n nativeElement.style.left = null;\r\n nativeElement.style.top = null;\r\n } else {\r\n this._isMaximixed = true;\r\n let pagecontainer: Element = document.querySelector(\".content\") ?? new Element();\r\n console.log(pagecontainer);\r\n let rect = pagecontainer.getBoundingClientRect();\r\n let elementRect = nativeElement.getBoundingClientRect();\r\n let style = window.getComputedStyle(pagecontainer);\r\n\r\n nativeElement.style.left =\r\n parseFloat(style[\"marginLeft\"]) +\r\n parseFloat(style[\"paddingLeft\"]) +\r\n rect.left +\r\n \"px\";\r\n nativeElement.style.top =\r\n parseFloat(style[\"padding-top\"]) + rect.top + \"px\";\r\n }\r\n }\r\n\r\n /**\r\n * Dismisses the message in the card.\r\n */\r\n alertDismiss(): void {\r\n this._messageVisible = false;\r\n }\r\n\r\n /**\r\n * Triggers the refresh action of the card.\r\n */\r\n refresh(): void {\r\n if (!this._isLoading) {\r\n this._isLoading = true;\r\n this.onRefresh.emit();\r\n }\r\n if (this._timeout > 0) {\r\n setTimeout(() => {\r\n this._isLoading = false;\r\n }, this._timeout);\r\n }\r\n }\r\n\r\n /**\r\n * Closes the card.\r\n */\r\n close(): void {\r\n this._close_card = true;\r\n }\r\n}\r\n","<div class=\"card card-{{ _type }} {{ _additionalClasses }}\" *ngIf=\"!_close_card\" [class.card-collapsed]=\"_isCollapsed\"\r\n [class.card-maximized]=\"_isMaximixed\" #hostContent class=\"col-sm-12 col-md-6 col-lg-4\"\r\n [ngStyle]=\"{'border': _card_border_style}\">\r\n <div class=\"card-header {{ _extraHeaderClass }}\">\r\n <div class=\"card-title\">\r\n <ng-template [ngTemplateOutlet]=\"CardTitle\"></ng-template>\r\n </div>\r\n <div class=\"card-controls\" *ngIf=\"_showTools == true\">\r\n <ng-template [ngTemplateOutlet]=\"CardExtraControls\"></ng-template>\r\n <ul *ngIf=\"_minimalHeader == false; else minimalBlock\">\r\n <li *ngIf=\"_toggle == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-collapse\" (click)=\"toggle()\"><i\r\n class=\"pg pg-arrow_maximize\" [class.pg-arrow_minimize]=\"_isCollapsed\"></i></a>\r\n </li>\r\n <li *ngIf=\"_refresh == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-refresh\" (click)=\"refresh()\"><i\r\n class=\"card-icon card-icon-refresh\"></i></a>\r\n </li>\r\n <li *ngIf=\"_maximize == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-maximize\" (click)=\"maximize()\"><i\r\n class=\"card-icon card-icon-maximize\"></i></a>\r\n </li>\r\n <li *ngIf=\"_close == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-close\" (click)=\"close()\"><i\r\n class=\"card-icon card-icon-close\"></i></a>\r\n </li>\r\n </ul>\r\n <!-- <ng-template #minimalBlock>\r\n <ul>\r\n <li>\r\n <a href=\"javascript:void(0);\" (click)=\"refresh()\" class=\"card-refresh minimal\"\r\n [class.refreshing]=\"_isLoading\">\r\n <i #minimalCircleLoadingTrigger class=\"card-icon card-icon-refresh-lg-{{\r\n _refreshColor == 'light' ? 'white' : 'master'\r\n }}\" [class.fade]=\"_isLoading\"></i>\r\n <i #minimalCircleLoading class=\"card-icon-refresh-lg-white-animated\"\r\n style=\"position: absolute;top:0;left:0\" [class.active]=\"_isLoading\"\r\n [class.hide]=\"_isLoading != true\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <div class=\"card-body {{ _extraBodyClass }}\" [@collapseState]=\"_isCollapsed == true ? 'inactive' : 'active'\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"pgn-wrapper\" data-position=\"top\">\r\n <div class=\"pgn pgn-bar push-on-sidebar-open\">\r\n <div class=\"alert alert-danger\">\r\n <span>{{ _message }}</span><button class=\"close\" (click)=\"alertDismiss()\" type=\"button\">\r\n <span aria-hidden=\"true\">×</span><span class=\"sr-only\">{{ 'Close' }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\" display: block;\"></div>\r\n <div [@fadeAnimation]=\"_isLoading\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\"display: block;pointer-events: none\">\r\n <mefdev-progress *ngIf=\"_minimalHeader == false\" type=\"{{ _progressType }}\" color=\"{{ _progressColor }}\"\r\n indeterminate=\"true\" class=\"\"></mefdev-progress>\r\n </div>\r\n</div>","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n/**\r\n * Component for displaying a card with a title, image, and description.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-card>\r\n * <ng-template #card_title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * <ng-template #card_footer>\r\n * <!-- Content for the card footer -->\r\n * </ng-template>\r\n * </mefdev-card>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/card</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-card',\r\n templateUrl: './card.component.html',\r\n styleUrls: ['./card.component.scss']\r\n})\r\nexport class CardComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the content of the card title.\r\n *\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card>\r\n * <ng-template #card_title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * </mefdev-card>\r\n * ```\r\n */\r\n @ContentChild(\"card_title\") card_title: TemplateRef<void>; \r\n\r\n /**\r\n * The template reference to the content of the card footer.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card>\r\n * <ng-template #card_footer>\r\n * <!-- Content for the card footer -->\r\n * </ng-template>\r\n * </mefdev-card>\r\n * ```\r\n */\r\n @ContentChild(\"card_footer\") card_footer: TemplateRef<void>;\r\n\r\n /**\r\n * The type of the card.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [card_type] = \"'type'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() card_type: string;\r\n\r\n /**\r\n * The path to the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [img] = \"'img/path/img.png'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() img: string;\r\n\r\n /**\r\n * The path, where user goes after click at the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [imgUrl] = \"'Img.url'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() imgUrl: string;\r\n\r\n /**\r\n * The description of the card.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [description] = \"'description'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() description: string;\r\n\r\n\r\n constructor(\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Event handler for image click.\r\n * Navigates to the specified URL.\r\n */\r\n public imgClick(){\r\n this.router.navigate(['/', this.imgUrl.toString()])\r\n }\r\n\r\n}\r\n","\r\n <pgcard\r\n MinimalHeader=\"true\"\r\n TimeOut=\"2500\"\r\n [Refresh]=\"false\"\r\n [Close]=\"false\">\r\n\r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title body-1\" [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </ng-template>\r\n\r\n <div class=\"plugin-type\">\r\n {{ card_type }}\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"m-l-2 card-description\">\r\n <div *ngIf=\"!description || description == ''\" class=\"card-no-description\"> {{'No plugin description'}}</div>\r\n <p>\r\n {{description}}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mt-3 text-center card-img\"\r\n [ngStyle]=\"{'background-color': img ? 'transparent' : '#fff'}\">\r\n <div *ngIf=\"!img || img == ''\" >\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\" >\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n style=\"max-width: 260px; max-height: 150px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"row mb-3 mt-3\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_footer\"></ng-template>\r\n </div>\r\n </div>\r\n </pgcard>\r\n","export enum CartTypeColors {\r\n UNSET = 'UNSET',\r\n RED = 'RED',\r\n GREEN = 'GREEN'\r\n }","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CartTypeColors } from './cart-type-colors.enum';\r\n\r\n /**\r\n * Component for displaying a long card with a title, parameters, and description.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <medev-card-long\r\n * [type_text]=\"'Type Text'\"\r\n * [type_color]=\"CartTypeColors.RED\"\r\n * [img]=\"'path/to/image.jpg'\"\r\n * [imgUrl]=\"'path/to/image'\"\r\n * [description]=\"'Card description'\">\r\n * \r\n * <ng-template #title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n\r\n * <ng-template #params>\r\n * <!-- Content for the card parameters -->\r\n * </ng-template>\r\n\r\n * <ng-template #second_col>\r\n * <!-- Content for the second column -->\r\n * </ng-template>\r\n \r\n * <ng-template #third_col>\r\n * <!-- Content for the third column -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/card/card-long</example-url>\r\n */\r\n\r\n@Component({\r\n selector: 'medev-card-long',\r\n templateUrl: './card-long.component.html',\r\n styleUrls: ['./card-long.component.scss']\r\n})\r\nexport class CardLongComponent implements OnInit {\r\n\r\n /**\r\n * Template for displaying the title of the card.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"title\") title: TemplateRef<void>;\r\n\r\n /**\r\n * Template for displaying the parameters of the card.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #params>\r\n * <!-- Content for the card params -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"params\") params: TemplateRef<void>; \r\n\r\n /**\r\n * Template for displaying the content of the second column.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #second_col>\r\n * <!-- Content for the card second column -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"second_col\") second_col: TemplateRef<void>;\r\n\r\n /**\r\n * Template for displaying the content of the third column.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #third_col>\r\n * <!-- Content for the card third column -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"third_col\") third_col: TemplateRef<void>;\r\n\r\n\r\n /**\r\n * The text for the card type.\r\n * @usageNotes\r\n * ```\r\n * <medev-card-long type_text = \"'Type'\"></<medev-card-long>\r\n * ```\r\n */\r\n @Input() type_text: string;\r\n\r\n /**\r\n * The color of the card type.\r\n * @usageNotes\r\n * ```\r\n * <medev-card-long type_color = \"'RED'\"></<medev-card-long>\r\n * ```\r\n * Colors: RED, UNSET, GREEN\r\n \r\n */\r\n @Input() type_color: CartTypeColors = CartTypeColors.UNSET;\r\n\r\n /**\r\n * The path to the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card-long [img] = \"'img/path/img.png'\"></mefdev-card-long>\r\n * ```\r\n */\r\n @Input() img: string;\r\n\r\n /**\r\n * The path, where user goes after click at the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card-long [imgUrl] = \"'Img.url'\"></mefdev-card-long>\r\n * ```\r\n */\r\n @Input() imgUrl: string;\r\n\r\n /**\r\n * The description of the card.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card-long [description] = \"'description'\"></mefdev-card-long>\r\n * ```\r\n */\r\n @Input() description: string;\r\n\r\n constructor(\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n /**\r\n * Event handler for image click.\r\n * Navigates to the specified URL.\r\n */\r\n public imgClick(){\r\n this.router.navigate(['/', this.imgUrl.toString()])\r\n }\r\n\r\n}\r\n","\r\n <pgcard \r\n MinimalHeader=\"true\" \r\n TimeOut=\"2500\" \r\n [Refresh]=\"false\" \r\n [Close]=\"false\"\r\n >\r\n \r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title\" [ngTemplateOutlet]=\"title\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template #CardExtraControls>\r\n <div class=\"plugin-type\" \r\n [ngClass] = \"{\r\n 'b-color-Light-Gray-1': type_color === 'UNSET',\r\n 'b-color-Red': type_color === 'RED',\r\n 'b-color-Green': type_color === 'GREEN'}\">\r\n {{type_text}}\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"row h-100 m-b-10\">\r\n <div class=\"col-lg-3 col-12 card-col\">\r\n <div class=\"row\">\r\n <div class=\"col-12 card-img m-b-10\">\r\n <div *ngIf=\"!img || img == ''\" >\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\">\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n height=\"110px\" \r\n style=\"max-width: 110px; max-height: 110px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div> \r\n </div>\r\n <div class=\"col-12 m-t-2 body-6 text-dark params-block\">\r\n <ng-template [ngTemplateOutlet]=\"params\"></ng-template> \r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-5 col-12 card-col\">\r\n <ng-template [ngTemplateOutlet]=\"second_col\"></ng-template> \r\n </div>\r\n \r\n <div class=\"col-lg-4 col-12 card-col mt-lg-0 mt-5\">\r\n <ng-template [ngTemplateOutlet]=\"third_col\"></ng-template> \r\n </div> \r\n\r\n </div>\r\n </pgcard>","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n/**\r\n * Component for displaying a simple card with a title.\r\n *\r\n * Example of usage:\r\n *```\r\n * <medev-card-simple [disabled]=\"true\">\r\n * <ng-template #card_title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * </medev-card-simple>\r\n *```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/card/card-simple</example-url>\r\n */\r\n@Component({\r\n selector: 'medev-card-simple',\r\n templateUrl: './card-simple.component.html',\r\n styleUrls: ['./card-simple.component.scss']\r\n})\r\nexport class CardSimpleComponent implements OnInit {\r\n\r\n /**\r\n * Determines whether the card is disabled or not.\r\n */\r\n @Input(\"disabled\") isDisabled: boolean = false;\r\n\r\n /**\r\n * Template for displaying the title of the card.\r\n *```\r\n * <medev-card-simple>\r\n * <ng-template #card_title>\r\n * <h3>Card Title</h3>\r\n * </ng-template>\r\n * </medev-card-simple>\r\n *``` \r\n */\r\n @ContentChild(\"card_title\") card_title: TemplateRef<void>;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"card-simple\" [ngClass]=\"{ 'unused-block':isDisabled }\">\r\n <div class=\"row m-2 body-1\" *ngIf=\"card_title\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row m-2\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n","export function toBoolean(value: any): boolean {\r\n return value === '' || (value && value !== 'false');\r\n}\r\n","/* tslint:disable:no-any */\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { MefDevOptionComponent } from \"./option.component\";\r\n\r\n@Pipe({ name: \"OptionPipe\" })\r\nexport class OptionPipe implements PipeTransform {\r\n // TODO: enable type checking for this method\r\n transform(options: MefDevOptionComponent[], value: any): any {\r\n if (value.searchText) {\r\n let _options = options.filter(\r\n option =>\r\n option.Label &&\r\n option.Label.toLowerCase().indexOf(value.searchText.toLowerCase()) !==\r\n -1\r\n );\r\n if (value.tags) {\r\n _options = options.filter(\r\n option =>\r\n option.Label &&\r\n option.Label.toLowerCase() === value.searchText.toLowerCase()\r\n );\r\n }\r\n if (_options.length) {\r\n return _options;\r\n } else {\r\n return [\r\n ({\r\n Value: value.value,\r\n _value: value.value,\r\n Disabled: value.disabled,\r\n _disabled: value.disabled,\r\n Label: value.notFoundContent,\r\n _label: value.notFoundContent\r\n } as any) as MefDevOptionComponent\r\n ];\r\n }\r\n } else {\r\n return options;\r\n }\r\n }\r\n}\r\n","/**\r\n * complex but work well\r\n * TODO: rebuild latter\r\n */\r\nimport { DOWN_ARROW, ENTER, TAB } from \"@angular/cdk/keycodes\";\r\nimport {\r\n CdkConnectedOverlay,\r\n ConnectedOverlayPositionChange\r\n} from \"@angular/cdk/overlay\";\r\nimport {\r\n forwardRef,\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation,\r\n ChangeDetectorRef\r\n} from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { MefDevOptionComponent } from \"./option.component\";\r\nimport { OptionPipe } from \"./option.pipe\";\r\nimport { toBoolean } from '../util/convert';\r\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\r\n\r\n\r\n/**\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/select</example-url>\r\n */\r\n@Component({\r\n selector: \"mefdev-select\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./select.component.html\",\r\n\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MefDevSelectComponent),\r\n multi: true\r\n }\r\n ],\r\n animations: [trigger('dropDownAnimation', [\r\n state('bottom', style({\r\n opacity : 1,\r\n transform : 'scaleY(1)',\r\n transformOrigin: '0% 0%'\r\n })),\r\n transition('void => bottom', [\r\n style({\r\n opacity : 0,\r\n transform : 'scaleY(0)',\r\n transformOrigin: '0% 0%'\r\n }),\r\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\r\n ]),\r\n state('top', style({\r\n opacity : 1,\r\n transform : 'scaleY(1)',\r\n transformOrigin: '0% 100%'\r\n })),\r\n transition('void => top', [\r\n style({\r\n opacity : 0,\r\n transform : 'scaleY(0)',\r\n transformOrigin: '0% 100%'\r\n }),\r\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\r\n ]),\r\n transition('* => void', [\r\n animate('250ms 100ms linear', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n\r\n trigger('tagAnimation', [\r\n state('*', style({ opacity: 1, transform: 'scale(1)' })),\r\n transition('void => *', [\r\n style({ opacity: 0, transform: 'scale(0)' }),\r\n animate('150ms linear')\r\n ]),\r\n state('void', style({ opacity: 0, transform: 'scale(0)' })),\r\n transition('* => void', [\r\n style({ opacity: 1, transform: 'scale(1)' }),\r\n animate('150ms linear')\r\n ])])]\r\n})\r\nexport class MefDevSelectComponent\r\n implements\r\n OnInit,\r\n AfterContentInit,\r\n AfterContentChecked,\r\n ControlValueAccessor {\r\n private _allowClear = false;\r\n private _disabled = false;\r\n private _isTags = false;\r\n private _isMultiple = false;\r\n private _keepUnListOptions = false;\r\n private _showSearch = false;\r\n _el: HTMLElement;\r\n _isOpen = false;\r\n _prefixCls = \"pg-select\";\r\n _classList: string[] = [];\r\n _dropDownClassMap: any;\r\n _dropDownPrefixCls = `${this._prefixCls}-dropdown`;\r\n _selectionClassMap: any;\r\n _selectionPrefixCls = `${this._prefixCls}-selection`;\r\n _size: string;\r\n _value: string[] | string;\r\n _placeholder = \"placeholder\";\r\n _notFoundContent = \"No Content\";\r\n _searchText = \"\";\r\n _triggerWidth = 0;\r\n _selectedOption: MefDevOptionComponent;\r\n _operatingMultipleOption: MefDevOptionComponent;\r\n _selectedOptions: Set<MefDevOptionComponent> = new Set();\r\n _options: MefDevOptionComponent[] = [];\r\n _cacheOptions: MefDevOptionComponent[] = [];\r\n _filterOptions: MefDevOptionComponent[] = [];\r\n _tagsOptions: MefDevOptionComponent[] = [];\r\n _activeFilterOption: MefDevOptionComponent;\r\n _isMultiInit = false;\r\n _dropDownPosition: \"top\" | \"center\" | \"bottom\" = \"bottom\";\r\n _composing = false;\r\n _mode: any;\r\n // ngModel Access\r\n onChange: (value: string | string[]) => void = () => null;\r\n onTouched: () => void = () => null;\r\n @ViewChild(\"searchInput\") searchInputElementRef: any;\r\n @ViewChild(\"trigger\") trigger: ElementRef;\r\n @ViewChild(\"dropdownUl\") dropdownUl: ElementRef;\r\n @Output() SearchChange: EventEmitter<string> = new EventEmitter();\r\n @Output() change: EventEmitter<string> = new EventEmitter();\r\n @Output() OpenChange: EventEmitter<boolean> = new EventEmitter();\r\n @Output() ScrollToBottom: EventEmitter<boolean> = new EventEmitter();\r\n @Input() Filter = true;\r\n @Input() MaxMultiple = Infinity;\r\n @Input() FirstDefault: boolean = false;\r\n @ViewChild(CdkConnectedOverlay) _cdkOverlay: CdkConnectedOverlay;\r\n\r\n @Input()\r\n set AllowClear(value: boolean) {\r\n this._allowClear = toBoolean(value);\r\n }\r\n\r\n get AllowClear(): boolean {\r\n return this._allowClear;\r\n }\r\n\r\n @Input()\r\n set KeepUnListOptions(value: boolean) {\r\n this._keepUnListOptions = toBoolean(value);\r\n }\r\n\r\n get KeepUnListOptions(): boolean {\r\n return this._keepUnListOptions;\r\n }\r\n\r\n @Input()\r\n set Mode(value: string) {\r\n this._mode = value;\r\n if (this._mode === \"multiple\") {\r\n this.Multiple = true;\r\n } else if (this._mode === \"tags\") {\r\n this.Tags = true;\r\n } else if (this._mode === \"combobox\") {\r\n this.ShowSearch = true;\r\n }\r\n }\r\n\r\n @Input()\r\n set Multiple(value: boolean) {\r\n this._isMultiple = toBoolean(value);\r\n if (this._isMultiple) {\r\n this.ShowSearch = true;\r\n }\r\n }\r\n\r\n get Multiple(): boolean {\r\n return this._isMultiple;\r\n }\r\n\r\n @Input()\r\n set PlaceHolder(value: string) {\r\n this._placeholder = value;\r\n }\r\n\r\n get PlaceHolder(): string {\r\n return this._placeholder;\r\n }\r\n\r\n @Input()\r\n set NotFoundContent(value: string) {\r\n this._notFoundContent = value;\r\n }\r\n\r\n get NotFoundContent(): string {\r\n return this._notFoundContent;\r\n }\r\n\r\n @Input()\r\n set Size(value: string) {\r\n // @ts-ignore\r\n this._size = { large: \"lg\", small: \"sm\" }[value];\r\n this.setClassMap();\r\n }\r\n\r\n get Size(): string {\r\n return this._size;\r\n }\r\n\r\n @Input()\r\n set ShowSearch(value: boolean) {\r\n this._showSearch = toBoolean(value);\r\n }\r\n\r\n get ShowSearch(): boolean {\r\n return this._showSearch;\r\n }\r\n\r\n @Input()\r\n set Tags(value: boolean) {\r\n const isTags = toBoolean(value);\r\n this._isTags = isTags;\r\n this.Multiple = isTags;\r\n }\r\n\r\n get Tags(): boolean {\r\n return this._isTags;\r\n }\r\n\r\n @Input()\r\n set Disabled(value: boolean) {\r\n this._disabled = toBoolean(value);\r\n this.closeDropDown();\r\n this.setClassMap();\r\n }\r\n\r\n get Disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n @Input()\r\n set Open(value: boolean) {\r\n const isOpen = toBoolean(value);\r\n if (this._isOpen === isOpen) {\r\n return;\r\n }\r\n if (isOpen) {\r\n this.scrollToActive();\r\n this._setTriggerWidth();\r\n }\r\n this._isOpen = isOpen;\r\n this.OpenChange.emit(this._isOpen);\r\n this.setClassMap();\r\n if (this._isOpen) {\r\n setTimeout(() => {\r\n this.checkDropDownScroll();\r\n });\r\n }\r\n }\r\n\r\n get Open(): boolean {\r\n return this._isOpen;\r\n }\r\n\r\n /** new -option insert or new tags insert */\r\n // @ts-ignore\r\n addOption = option => {\r\n this._options.push(option);\r\n if (!this._isTags) {\r\n if (option.Value) {\r\n this.updateSelectedOption(this._value);\r\n } else {\r\n this.forceUpdateSelectedOption(this._value);\r\n }\r\n }\r\n };\r\n\r\n /** -option remove or tags remove */\r\n removeOption(option: MefDevOptionComponent): void {\r\n this._options.splice(this._options.indexOf(option), 1);\r\n if (!this._isTags) {\r\n this.forceUpdateSelectedOption(this._value);\r\n }\r\n }\r\n\r\n /** dropdown position changed */\r\n onPositionChange(position: ConnectedOverlayPositionChange): void {\r\n this._dropDownPosition = position.connectionPair.originY;\r\n }\r\n\r\n compositionStart(): void {\r\n this._composing = true;\r\n }\r\n\r\n compositionEnd(): void {\r\n this._composing = false;\r\n }\r\n\r\n /** clear single selected option */\r\n clearSelect($event?: MouseEvent): void {\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n } // @ts-ignore\r\n this._selectedOption = null; // @ts-ignore\r\n this.Value = null; // @ts-ignore\r\n this.onChange(null);\r\n }\r\n\r\n /** click dropdown option by user */\r\n clickOption(option: MefDevOptionComponent, $event?: MouseEvent): void {\r\n if (!option) {\r\n return;\r\n }\r\n this.chooseOption(option, true, $event);\r\n this.clearSearchText();\r\n if (!this._isMultiple) {\r\n this.Open = false;\r\n }\r\n }\r\n\r\n /** choose option */\r\n chooseOption(\r\n option: MefDevOptionComponent,\r\n isUserClick: boolean = false,\r\n $event?: MouseEvent\r\n ): void {\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n this._activeFilterOption = option;\r\n if (option && !option.Disabled) {\r\n if (!this.Multiple) {\r\n this._selectedOption = option;\r\n this._value = option.Value;\r\n if (isUserClick) {\r\n this.change.next(this._value);\r\n this.onChange(option.Value);\r\n }\r\n } else {\r\n if (isUserClick) {\r\n this.isInSet(this._selectedOptions, option)\r\n ? this.unSelectMultipleOption(option)\r\n : this.selectMultipleOption(option);\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateWidth(element: HTMLInputElement, text: string): void {\r\n if (text) {\r\n /** wait for scroll width change */ // @ts-ignore\r\n setTimeout(_ => {\r\n this._renderer.setStyle(element, \"width\", `${element.scrollWidth}px`);\r\n });\r\n } else {\r\n this._renderer.removeStyle(element, \"width\");\r\n }\r\n }\r\n\r\n /** determine if option in set */\r\n isInSet(\r\n set: Set<MefDevOptionComponent>,\r\n option: MefDevOptionComponent\r\n ): MefDevOptionComponent { // @ts-ignore\r\n return (Array.from(set) as MefDevOptionComponent[]).find(\r\n (data: MefDevOptionComponent) => data.Value === option.Value\r\n );\r\n }\r\n\r\n /** cancel select multiple option */ // @ts-ignore\r\n unSelectMultipleOption = (option, $event?, emitChange = true) => {\r\n this._operatingMultipleOption = option;\r\n this._selectedOptions.delete(option);\r\n if (emitChange) {\r\n this.emitMultipleOptions();\r\n }\r\n\r\n // 对Tag进行特殊处理\r\n if (\r\n this._isTags &&\r\n this._options.indexOf(option) !== -1 &&\r\n this._tagsOptions.indexOf(option) !== -1\r\n ) {\r\n this.removeOption(option);\r\n this._tagsOptions.splice(this._tagsOptions.indexOf(option), 1);\r\n }\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n };\r\n\r\n /** select multiple option */\r\n selectMultipleOption(option: MefDevOptionComponent, $event?: MouseEvent): void {\r\n /** if tags do push to tag option */\r\n if (\r\n this._isTags &&\r\n this._options.indexOf(option) === -1 &&\r\n this._tagsOptions.indexOf(option) === -1\r\n ) {\r\n this.addOption(option);\r\n this._tagsOptions.push(option);\r\n }\r\n this._operatingMultipleOption = option;\r\n if (this._selectedOptions.size < this.MaxMultiple) {\r\n this._selectedOptions.add(option);\r\n }\r\n this.emitMultipleOptions();\r\n\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n }\r\n\r\n /** emit multiple options */\r\n emitMultipleOptions(): void {\r\n if (this._isMultiInit) {\r\n return;\r\n }\r\n const arrayOptions = Array.from(this._selectedOptions);\r\n this._value = arrayOptions.map(item => item.Value);\r\n this.onChange(this._value);\r\n }\r\n\r\n /** update selected option when add remove option etc */\r\n updateSelectedOption(\r\n currentModelValue: string | string[],\r\n triggerByNgModel: boolean = false\r\n ): void {\r\n if (currentModelValue == null) {\r\n return;\r\n }\r\n if (this.Multiple) {\r\n const selectedOptions = this._options.filter(item => {\r\n return item != null && currentModelValue.indexOf(item.Value) !== -1;\r\n });\r\n if ((this.KeepUnListOptions || this.Tags) && !triggerByNgModel) {\r\n const _selectedOptions = Array.from(this._selectedOptions);\r\n selectedOptions.forEach(option => {\r\n const _exist = _selectedOptions.some(\r\n item => item._value == option._value\r\n );\r\n if (!_exist) {\r\n this._selectedOptions.add(option);\r\n }\r\n });\r\n } else {\r\n this._selectedOptions = new Set();\r\n selectedOptions.forEach(option => {\r\n this._selectedOptions.add(option);\r\n });\r\n }\r\n } else {\r\n const selectedOption = this._options.filter(item => {\r\n return item != null && item.Value == currentModelValue;\r\n });\r\n this.chooseOption(selectedOption[0]);\r\n }\r\n }\r\n\r\n forceUpdateSelectedOption(value: string | string[]): void {\r\n /** trigger dirty check */ // @ts-ignore\r\n setTimeout(_ => {\r\n this.updateSelectedOption(value);\r\n });\r\n }\r\n\r\n get Value(): string | string[] {\r\n return this._value;\r\n }\r\n\r\n set Value(value: string | string[]) {\r\n this._updateValue(value);\r\n }\r\n\r\n clearAllSelectedOption(emitChange: boolean = true): void {\r\n this._selectedOptions.forEach(item => {\r\n this.unSelectMultipleOption(item, null, emitChange);\r\n });\r\n }\r\n\r\n handleKeyEnterEvent(event: KeyboardEvent): void {\r\n /** when composing end */\r\n if (!this._composing && this._isOpen) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.updateFilterOption(false);\r\n this.clickOption(this._activeFilterOption);\r\n }\r\n }\r\n\r\n handleKeyBackspaceEvent(event: KeyboardEvent): void {\r\n if (!this._searchText && !this._composing && this._isMultiple) {\r\n event.preventDefault();\r\n const lastOption = Array.from(this._selectedOptions).pop();\r\n this.unSelectMultipleOption(lastOption);\r\n }\r\n }\r\n\r\n handleKeyDownEvent($event: MouseEvent): void {\r\n if (this._isOpen) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this._activeFilterOption = this.nextOption(\r\n this._activeFilterOption,\r\n this._filterOptions.filter(w => !w.Disabled)\r\n );\r\n this.scrollToActive();\r\n }\r\n }\r\n\r\n handleKeyUpEvent($event: MouseEvent): void {\r\n if (this._isOpen) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this._activeFilterOption = this.preOption(\r\n this._activeFilterOption,\r\n this._filterOptions.filter(w => !w.Disabled)\r\n );\r\n this.scrollToActive();\r\n }\r\n }\r\n\r\n preOption(\r\n option: MefDevOptionComponent,\r\n options: MefDevOptionComponent[]\r\n ): MefDevOptionComponent {\r\n return options[options.indexOf(option) - 1] || options[options.length - 1];\r\n }\r\n\r\n nextOption(\r\n option: MefDevOptionComponent,\r\n options: MefDevOptionComponent[]\r\n ): MefDevOptionComponent {\r\n return options[options.indexOf(option) + 1] || options[0];\r\n }\r\n\r\n clearSearchText(): void {\r\n this._searchText = \"\";\r\n this.updateFilterOption();\r\n }\r\n\r\n updateFilterOption(updateActiveFilter: boolean = true): void {\r\n if (this.Filter) {\r\n this._filterOptions = new OptionPipe().transform(this._options, {\r\n searchText: this._searchText,\r\n tags: this._isTags,\r\n notFoundContent: this._isTags\r\n ? this._searchText\r\n : this._notFoundContent,\r\n disabled: !this._isTags,\r\n value: this._isTags ? this._searchText : \"disabled\"\r\n });\r\n } else {\r\n this._filterOptions = this._options;\r\n }\r\n\r\n /** TODO: cause pre & next key selection not work */\r\n if (updateActiveFilter && !this._selectedOption) {\r\n this._activeFilterOption = this._filterOptions[0];\r\n }\r\n }\r\n\r\n onSearchChange(searchValue: string): void {\r\n this.SearchChange.emit(searchValue);\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n onClick(e: MouseEvent): void {\r\n e.preventDefault();\r\n if (!this._disabled) {\r\n this.Open = !this.Open;\r\n if (this.ShowSearch) {\r\n /** wait for search display */ // @ts-ignore\r\n setTimeout(_ => {\r\n this.searchInputElementRef.nativeElement.focus();\r\n });\r\n }\r\n }\r\n }\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(e: KeyboardEvent): void {\r\n const keyCode = e.keyCode;\r\n if (keyCode === TAB && this.Open) {\r\n this.Open = false;\r\n return;\r\n }\r\n if ((keyCode !== DOWN_ARROW && keyCode !== ENTER) || this.Open) {\r\n return;\r\n }\r\n e.preventDefault();\r\n if (!this._disabled) {\r\n this.Open = true;\r\n if (this.ShowSearch) {\r\n /** wait for search display */ // @ts-ignore\r\n setTimeout(_ => {\r\n this.searchInputElementRef.nativeElement.focus();\r\n });\r\n }\r\n }\r\n }\r\n\r\n closeDropDown(): void {\r\n if (!this.Open) {\r\n return;\r\n }\r\n this.onTouched();\r\n if (this.Multiple) {\r\n this._renderer.removeStyle(\r\n this.searchInputElementRef.nativeElement,\r\n \"width\"\r\n );\r\n }\r\n this.clearSearchText();\r\n this.Open = false;\r\n }\r\n\r\n setClassMap(): void {\r\n this._classList.forEach(_className => {\r\n this._renderer.removeClass(this._el, _className);\r\n }); // @ts-ignore\r\n this._classList = [\r\n this._prefixCls,\r\n this._mode === \"combobox\" && `${this._prefixCls}-combobox`,\r\n !this._disabled && `${this._prefixCls}-enabled`,\r\n this._disabled && `${this._prefixCls}-disabled`,\r\n this._isOpen && `${this._prefixCls}-open`,\r\n this._showSearch && `${this._prefixCls}-show-search`,\r\n this._size && `${this._prefixCls}-${this._size}`\r\n ].filter(item => {\r\n return !!item;\r\n });\r\n this._classList.forEach(_className => {\r\n this._renderer.addClass(this._el, _className);\r\n });\r\n this._selectionClassMap = {\r\n [this._selectionPrefixCls]: true,\r\n [`${this._selectionPrefixCls}--single`]: !this.Multiple,\r\n [`${this._selectionPrefixCls}--multiple`]: this.Multiple\r\n };\r\n }\r\n\r\n setDropDownClassMap(): void {\r\n this._dropDownClassMap = {\r\n [this._dropDownPrefixCls]: true,\r\n [\"component-select\"]: this._mode === \"combobox\",\r\n [`${this._dropDownPrefixCls}--single`]: !this.Multiple,\r\n [`${this._dropDownPrefixCls}--multiple`]: this.Multiple,\r\n [`${this._dropDownPrefixCls}-placement-bottomLeft`]:\r\n this._dropDownPosition === \"bottom\",\r\n [`${this._dropDownPrefixCls}-placement-topLeft`]:\r\n this._dropDownPosition === \"top\"\r\n };\r\n }\r\n\r\n scrollToActive(): void {\r\n /** wait for dropdown display */ // @ts-ignore\r\n setTimeout(_ => {\r\n if (this._activeFilterOption && this._activeFilterOption.Value) {\r\n const index = this._filterOptions.findIndex(\r\n option => option.Value === this._activeFilterOption.Value\r\n );\r\n try {\r\n const scrollPane = this.dropdownUl.nativeElement.children[\r\n index\r\n ] as HTMLLIElement;\r\n // TODO: scrollIntoViewIfNeeded is not a standard API, why doing so?\r\n /* tslint:disable-next-line:no-any */\r\n (scrollPane as any).scrollIntoViewIfNeeded(false);\r\n } catch (e) {}\r\n }\r\n });\r\n }\r\n\r\n flushComponentState(): void {\r\n this.updateFilterOption();\r\n if (!this.Multiple) {\r\n this.updateSelectedOption(this._value);\r\n } else {\r\n if (this._value) {\r\n this.updateSelectedOption(this._value);\r\n }\r\n }\r\n }\r\n\r\n _setTriggerWidth(): void {\r\n this._triggerWidth = this._getTriggerRect().width;\r\n /** should remove after after https://github.com/angular/material2/pull/8765 merged **/\r\n if (this._cdkOverlay && this._cdkOverlay.overlayRef) {\r\n this._cdkOverlay.overlayRef.updateSize({\r\n width: this._triggerWidth\r\n });\r\n }\r\n }\r\n\r\n _getTriggerRect(): ClientRect {\r\n return this.trigger.nativeElement.getBoundingClientRect();\r\n }\r\n\r\n writeValue(value: string | string[]): void {\r\n this._updateValue(value, false);\r\n }\r\n\r\n registerOnChange(fn: (value: string | string[]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.Disabled = isDisabled;\r\n }\r\n\r\n dropDownScroll(ul: HTMLUListElement): void {\r\n if (ul && ul.scrollHeight - ul.scrollTop === ul.clientHeight) {\r\n this.ScrollToBottom.emit(true);\r\n }\r\n }\r\n\r\n checkDropDownScroll(): void {\r\n if (\r\n this.dropdownUl &&\r\n this.dropdownUl.nativeElement.scrollHeight ===\r\n this.dropdownUl.nativeElement.clientHeight\r\n ) {\r\n this.ScrollToBottom.emit(true);\r\n }\r\n }\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private cDRef: ChangeDetectorRef\r\n ) {\r\n this._el = this._elementRef.nativeElement;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this._value != null) {\r\n this.flushComponentState();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateFilterOption();\r\n this.setClassMap();\r\n this.setDropDownClassMap();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this._cacheOptions !== this._options) {\r\n /** update filter option after every content check cycle */\r\n this.updateFilterOption();\r\n this._cacheOptions = this._options;\r\n } else {\r\n this.updateFilterOption(false);\r\n }\r\n\r\n if (this.FirstDefault) {\r\n if (!this._value && this._options) {\r\n if (this._options[0] !== undefined && this._options[0].Value) {\r\n this.chooseOption(this._options[0], false);\r\n setTimeout(() => {\r\n this.onChange(this._options[0].Value);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _updateValue(\r\n value: string[] | string,\r\n emitChange: boolean = true\r\n ): void {\r\n if (this._value === value) {\r\n return;\r\n }\r\n if (value == null && this.Multiple) {\r\n this._value = [];\r\n } else {\r\n this._value = value;\r\n }\r\n if (!this.Multiple) {\r\n if (value == null) { // @ts-ignore\r\n this._selectedOption = null;\r\n } else {\r\n this.updateSelectedOption(value);\r\n }\r\n } else {\r\n if (value) {\r\n if (value.length === 0) {\r\n this.clearAllSelectedOption(emitChange);\r\n } else {\r\n this.updateSelectedOption(value, true);\r\n }\r\n } else if (value == null) {\r\n this.clearAllSelectedOption(emitChange);\r\n }\r\n }\r\n }\r\n}\r\n","<div tabindex=\"0\" #trigger cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" [ngClass]=\"_selectionClassMap\"\r\n (keydown.Enter)=\"handleKeyEnterEvent($event)\" (keydown.Backspace)=\"handleKeyBackspaceEvent($event)\"\r\n (keydown.ArrowUp)=\"handleKeyUpEvent($event)\" (keydown.ArrowDown)=\"handleKeyDownEvent($event)\">\r\n <div class=\"pg-select-selection__rendered\" *ngIf=\"!ShowSearch\">\r\n <div class=\"pg-select-selection__placeholder\">\r\n <ng-template [ngIf]=\"!_selectedOption\">\r\n {{ PlaceHolder }}\r\n </ng-template>\r\n </div>\r\n <div class=\"pg-select-selection-selected-value\">\r\n {{ _selectedOption?.Label }}\r\n </div>\r\n </div>\r\n <div class=\"pg-select-selection__rendered\" *ngIf=\"ShowSearch\">\r\n <div [hidden]=\"_searchText||(!Open&&_selectedOption)||_selectedOptions.size\"\r\n class=\"pg-select-selection__placeholder\">\r\n <ng-template [ngIf]=\"(!_composing)&&_selectedOption\">\r\n {{ _selectedOption.Label }}\r\n </ng-template>\r\n <ng-template [ngIf]=\"(!_composing)&&(!_selectedOption)\">\r\n {{ PlaceHolder }}\r\n </ng-template>\r\n </div>\r\n <ul *ngIf=\"Multiple\">\r\n <li *ngFor=\"let option of _selectedOptions\" [@tagAnimation] [attr.title]=\"option?.Label || option?.Value\"\r\n class=\"pg-select-selection__choice\" style=\"-webkit-user-select: none;\">\r\n <span class=\"pg-select-selection__choice__remove\" (click)=\"unSelectMultipleOption(option,$event)\"></span>\r\n <div class=\"pg-select-selection__choice__content\">{{ option?.Label }}</div>\r\n </li>\r\n <li class=\"pg-select-search pg-select-search--inline\">\r\n <div class=\"pg-select-search__field__wrap\">\r\n <input class=\"pg-select-search__field\" (compositionstart)=\"compositionStart()\"\r\n (compositionend)=\"compositionEnd();updateWidth(searchInput,_searchText);\" [(ngModel)]=\"_searchText\"\r\n (ngModelChange)=\"updateFilterOption();onSearchChange($event);\"\r\n (keydown)=\"updateWidth(searchInput,_searchText)\" (input)=\"updateWidth(searchInput,_searchText)\"\r\n (blur)=\"onTouched()\" #searchInput>\r\n <span class=\"pg-select-search__field__mirror\"></span></div>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!Multiple\" class=\"pg-select-selection-selected-value\" [hidden]=\"!(_selectedOption?.Label)||Open\">\r\n {{ _selectedOption?.Label }}\r\n </div>\r\n <div *ngIf=\"!Multiple\" [hidden]=\"!Open\" class=\"pg-select-search pg-select-search--inline\">\r\n <div class=\"pg-select-search__field__wrap\">\r\n <input class=\"pg-select-search__field\" (blur)=\"onTouched()\" (compositionstart)=\"compositionStart()\"\r\n (compositionend)=\"compositionEnd()\" [(ngModel)]=\"_searchText\"\r\n (ngModelChange)=\"updateFilterOption();onSearchChange($event);\" #searchInput>\r\n <span class=\"pg-select-search__field__mirror\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <span (click)=\"onTouched();clearSelect($event)\" class=\"pg-select-selection__clear\" style=\"-webkit-user-select: none;\"\r\n *ngIf=\"_selectedOption?.Label&&AllowClear&&!Multiple\">\r\n </span>\r\n <span class=\"pg-select-arrow\"><b></b></span>\r\n</div>\r\n<ng-template cdkConnectedOverlay cdkConnectedOverlayHasBackdrop [cdkConnectedOverlayOrigin]=\"origin\"\r\n (backdropClick)=\"closeDropDown()\" (detach)=\"closeDropDown();\" (positionChange)=\"onPositionChange($event)\"\r\n [cdkConnectedOverlayWidth]=\"_triggerWidth\" [cdkConnectedOverlayOpen]=\"_isOpen\">\r\n <div [ngClass]=\"_dropDownClassMap\" [@dropDownAnimation]=\"_dropDownPosition\">\r\n <div style=\"overflow: auto;\">\r\n <ul class=\"pg-select-dropdown-menu pg-select-dropdown-menu-vertical pg-select-dropdown-menu-root\" #dropdownUl\r\n (scroll)=\"dropDownScroll(dropdownUl)\">\r\n <li *ngFor=\"let option of _filterOptions\" [class.pg-select-dropdown-menu-item-disabled]=\"option.Disabled\"\r\n [class.pg-select-dropdown-menu-item-active]=\"option.Value == _activeFilterOption?.Value\"\r\n [class.pg-select-dropdown-menu-item-selected]=\"(option.Value==(_selectedOption?.Value))||(isInSet(_selectedOptions,option))\"\r\n class=\"pg-select-dropdown-menu-item\" (click)=\"clickOption(option,$event)\">\r\n <ng-template *ngIf=\"option.OptionTemplate\" [ngTemplateOutlet]=\"option.OptionTemplate\">\r\n </ng-template>\r\n <ng-template [ngIf]=\"!option.OptionTemplate\">\r\n {{ option.Label }}\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>","import {\r\n\tComponent,\r\n\tContentChild,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\n//import { toBoolean } from \"@shared/utils/convert\";\r\nimport { MefDevSelectComponent } from \"./select.component\";\r\nimport { toBoolean } from \"./../util/convert\";\r\n\r\n\r\n/**\r\n * @skipTemplateDoc true\r\n * Component for representing an option in a dropdown list.\r\n *\r\n *```\r\n * <mefdev-select>\r\n * <mefdev-option Value=\"1\" Label=\"Option 1\"></mefdev-option>\r\n * <mefdev-option Value=\"2\" Label=\"Option 2\"></mefdev-option>\r\n * <mefdev-option Value=\"3\" Label=\"Option 3\"></mefdev-option>\r\n * </mefdev-select>\r\n *```\r\n *\r\n */\r\n@Component({\r\n\tselector: \"mefdev-option\",\r\n\tencapsulation: ViewEncapsulation.None,\r\n\ttemplateUrl: \"./option.component.html\",\r\n\tstyleUrls: []\r\n})\r\nexport class MefDevOptionComponent implements OnDestroy, OnInit {\r\n\tprivate _disabled = false;\r\n\r\n\t_value: string;\r\n\t_label: string;\r\n\r\n\t/**\r\n \t* Template for the content of the option.\r\n \t*/\r\n\t@ContentChild(\"OptionTemplate\") OptionTemplate: any;\r\n\r\n\t /**\r\n * The value of the option.\r\n */\r\n\t@Input()\r\n\tset Value(value: string) {\r\n\t\tif (this._value === value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._value = value;\r\n\t}\r\n\r\n\tget Value(): string {\r\n\t\treturn this._value;\r\n\t}\r\n\r\n\t/**\r\n * The label of the option.\r\n */\r\n\t@Input()\r\n\tset Label(value: string) {\r\n\t\tif (this._label === value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._label = value;\r\n\t}\r\n\r\n\tget Label(): string {\r\n\t\treturn this._label;\r\n\t}\r\n\r\n\t/**\r\n * Indicates whether the option is disabled.\r\n */\r\n\t@Input()\r\n\tset Disabled(value: boolean) {\r\n\t\tthis._disabled = toBoolean(value);\r\n\t}\r\n\r\n\tget Disabled(): boolean {\r\n\t\treturn this._disabled;\r\n\t}\r\n\r\n\tconstructor(private _Select: MefDevSelectComponent) {}\r\n\r\n\t/**\r\n * Initialization lifecycle hook.\r\n * Adds the option to the dropdown list.\r\n */\r\n\tngOnInit(): void {\r\n\t\tthis._Select.addOption(this);\r\n\t}\r\n\r\n\t/**\r\n * Destruction lifecycle hook.\r\n * Removes the option from the dropdown list.\r\n */\r\n\tngOnDestroy(): void {\r\n\t\tthis._Select.removeOption(this);\r\n\t}\r\n}\r\n","<ng-content></ng-content>","import { OverlayModule } from \"@angular/cdk/overlay\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MefDevOptionComponent } from \"./option.component\";\r\nimport { OptionPipe } from \"./option.pipe\";\r\nimport { MefDevSelectComponent } from \"./select.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, OverlayModule],\r\n declarations: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent],\r\n exports: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent]\r\n})\r\nexport class MefDevSelectModule {}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class ProgressConfig {\r\n color = \"primary\";\r\n thickness = 1;\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\r\n\r\nimport { MefDevProgressComponent } from \"./progress.component\";\r\nimport { ProgressConfig } from \"./progress.config\";\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [MefDevProgressComponent],\r\n exports: [MefDevProgressComponent]\r\n})\r\nexport class MefDevProgressModule {\r\n static forRoot(): ModuleWithProviders<MefDevProgressModule> {\r\n return { ngModule: MefDevProgressModule, providers: [ProgressConfig] };\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport { pgCard } from \"./card.components\";\r\nimport { MefDevProgressModule } from \"../progress/progress.module\";\r\n\r\n@NgModule({\r\n declarations: [pgCard],\r\n exports: [pgCard],\r\n imports: [CommonModule, MefDevProgressModule]\r\n})\r\nexport class pgCardModule {\r\n static forRoot(): ModuleWithProviders<pgCardModule> {\r\n return {\r\n ngModule: pgCardModule\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CardComponent } from './card/card.component';\r\nimport { MefDevSelectModule } from '../../pg-components/select/select.module';\r\nimport { pgCardModule } from \"./../../pg-components/card/card.module\";\r\nimport { MefDevCollapseModule } from '../collapse/collapse.module';\r\nimport { CardLongComponent } from './card-long/card-long.component';\r\nimport { CardSimpleComponent } from './card-simple/card-simple.component';\r\n\r\nexport const mefDevCardComponents = [CardComponent, CardLongComponent, CardSimpleComponent];\r\n@NgModule({\r\n declarations: mefDevCardComponents,\r\n exports: mefDevCardComponents,\r\n imports: [\r\n CommonModule,\r\n MefDevCollapseModule,\r\n\t\tMefDevSelectModule,\r\n pgCardModule,\r\n ]\r\n})\r\nexport class MefDevCardModule { }\r\n","import { Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { CommonModule } from \"@angular/common\"; // add for static analizer bug fix\r\n\r\n\r\n/**\r\n * Fill Component for a modal window.\r\n *\r\n * Example of usage:\r\n * ```\r\n * <mefdev-fill-modal #pin_modal>\r\n * <!-- Modal header content -->\r\n * <ng-template #modal_header>\r\n * <!-- Header content goes here -->\r\n * </ng-template>\r\n *\r\n * <!-- Modal footer content -->\r\n * <ng-template #modal_footer>\r\n * <!-- Footer content goes here -->\r\n * </ng-template>\r\n * </mefdev-fill-modal>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/modals/fill</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-fill-modal',\r\n templateUrl: './fill.component.html',\r\n styleUrls: ['./fill.component.scss']\r\n})\r\nexport class FillComponent implements OnInit {\r\n\r\n /**\r\n * The header template of the modal window.\r\n * ```\r\n * <mefdev-fill-modal #pin_modal>\r\n * <ng-template #modal_header>\r\n * <!-- Header content goes here -->\r\n * </ng-template> \r\n * </mefdev-fill-modal>\r\n * ```\r\n */\r\n @ContentChild(\"modal_header\") modal_header: TemplateRef<void>; \r\n\r\n /**\r\n * The footer template of the modal window.\r\n * ```\r\n * <mefdev-fill-modal #pin_modal>\r\n * <ng-template #modal_footer>\r\n * <!-- Footer content goes here -->\r\n * </ng-template> \r\n * </mefdev-fill-modal>\r\n * ```\r\n */\r\n @ContentChild(\"modal_footer\") modal_footer: TemplateRef<void>;\r\n \r\n /**\r\n * Reference to the ModalDirective element from ngx-bootstrap.\r\n */\r\n @ViewChild('fadInModal', { static: false }) fadInModal?: ModalDirective;\r\n \r\n /**\r\n * Input parameter that determines whether to show the modal window.\r\n */\r\n @Input() set show(val: boolean){\r\n if(!this.fadInModal){\r\n return;\r\n }\r\n if(val){\r\n this.showModal();\r\n }\r\n else{\r\n this.hideModal();\r\n }\r\n };\r\n\r\n /**\r\n * Event emitter triggered when the modal window is closed.\r\n * Emits a boolean value indicating whether the modal window is closed.\r\n * Example:\r\n * ```\r\n * <mefdev-fill-modal (isClouse)=\"onModalClosed($event)\"></mefdev-fill-modal>\r\n * ```\r\n */\r\n @Output() isClouse = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Event emitter for when the modal is closed.\r\n */\r\n modalIsCloused(){\r\n this.isClouse.emit(true);\r\n }\r\n\r\n /**\r\n * Shows the modal window.\r\n */\r\n showModal() {\r\n this.fadInModal?.show();\r\n }\r\n\r\n /**\r\n * Hides the modal window.\r\n */\r\n public hideModal(){\r\n this.fadInModal?.hide();\r\n }\r\n}\r\n"," <div bsModal #fadInModal=\"bs-modal\" class=\"modal fade fill-in\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" (onHide)=\"modalIsCloused()\">\r\n <button type=\"button\" class=\"close\" (click)=\"fadInModal.hide()\" aria-hidden=\"true\">\r\n <i class=\"pg pg-close\"></i>\r\n </button>\r\n <div class=\"modal-dialog \">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div> \r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div> \r\n <div class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>","import { Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { ModalSize } from '../modal-size.enum';\r\nimport { CommonModule } from \"@angular/common\"; // add for static analizer bug fix\r\n\r\n /**\r\n * A component representing a slide-up modal window.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-slide-up-modal [size]=\"ModalSize.lg\" [show]=\"showModal\">\r\n * <ng-template #modal_header>\r\n * <h4>Modal Header</h4>\r\n * </ng-template>\r\n * <ng-template #modal_footer>\r\n * <button (click)=\"closeModal()\">Close</button>\r\n * </ng-template>\r\n * <div class=\"modal-body\">\r\n * Content goes here...\r\n * </div>\r\n * </mefdev-slide-up-modal>\r\n * ```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/modals/slide-up</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-slide-up-modal',\r\n templateUrl: './slide-up.component.html',\r\n styleUrls: ['./slide-up.component.scss']\r\n})\r\nexport class SlideUpComponent implements OnInit {\r\n\r\n /**\r\n * Reference to the template for the modal header.\r\n * Use this template to customize the header of the modal.\r\n */\r\n @ContentChild(\"modal_header\") modal_header: TemplateRef<void>;\r\n \r\n /**\r\n * Reference to the template for the modal footer.\r\n * Use this template to customize the footer of the modal.\r\n */\r\n @ContentChild(\"modal_footer\") modal_footer: TemplateRef<void>;\r\n\r\n /**\r\n * Reference to the modal directive.\r\n */\r\n @ViewChild('mdSlideUp', { static: false }) mdSlideUp: ModalDirective;\r\n\r\n /**\r\n * Size of the modal.\r\n * Defaults to `ModalSize.md`.\r\n * Possible values: `ModalSize.sm`, `ModalSize.md`, `ModalSize.lg`, `ModalSize.xl`.\r\n */\r\n @Input() size:ModalSize = ModalSize.md;\r\n\r\n /**\r\n * Flag indicating whether the modal should be shown or hidden.\r\n * Set it to `true` to show the modal and `false` to hide it.\r\n */\r\n @Input() set show(val: boolean){\r\n if(!this.mdSlideUp){\r\n return;\r\n }\r\n\r\n if(val){\r\n this.showModal();\r\n }\r\n else{\r\n this.hideModal();\r\n }\r\n };\r\n\r\n /**\r\n * Event emitted when the modal is closed.\r\n * Emits a boolean value indicating if the modal is closed.\r\n */\r\n @Output() isClouse = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Event handler for when the modal is closed.\r\n * Emits the `isClosed` event with a value of `true`.\r\n */\r\n modalIsCloused(){\r\n this.isClouse.emit(true);\r\n }\r\n/**\r\n * Shows the modal.\r\n * Call this method to open the modal window.\r\n */\r\n public showModal(){\r\n this.mdSlideUp.show();\r\n }\r\n\r\n /**\r\n * Hides the modal.\r\n * Call this method to close the modal window.\r\n */\r\n public hideModal(){\r\n this.mdSlideUp.hide();\r\n }\r\n}\r\n","<div bsModal #mdSlideUp=\"bs-modal\" class=\"modal fade slide-up disable-scroll\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"false\" (onHide)=\"modalIsCloused()\">\r\n <div class=\"modal-dialog modal-{{size}}\">\r\n <div class=\"modal-content-wrapper\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header clearfix text-left\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { ModalSize } from '../modal-size.enum';\r\nimport { CommonModule } from \"@angular/common\"; // add for static analizer bug fix\r\n\r\n\r\n/**\r\n * A component representing a slide-right modal window.\r\n *\r\n * Example of usage:\r\n *\r\n * ```\r\n * <mefdev-slide-right-modal [size]=\"ModalSize.lg\" [show]=\"showModal\">\r\n * <ng-template #modal_header>\r\n * <h4>Modal Header</h4>\r\n * </ng-template>\r\n * <ng-template #modal_footer>\r\n * <button (click)=\"closeModal()\">Close</button>\r\n * </ng-template>\r\n * <div class=\"modal-body\">\r\n * Content goes here...\r\n * </div>\r\n * </mefdev-slide-right-modal>\r\n * ```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/modals/slide-right</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-slide-right-modal',\r\n templateUrl: './slide-right.component.html',\r\n styleUrls: ['./slide-right.component.scss']\r\n})\r\nexport class SlideRightComponent implements OnInit {\r\n\r\n /**\r\n * Reference to the template for the modal header.\r\n * Use this template to customize the header of the modal.\r\n */\r\n @ContentChild(\"modal_header\") modal_header: TemplateRef<void>;\r\n\r\n /**\r\n * Reference to the template for the modal footer.\r\n * Use this template to customize the footer of the modal.\r\n */\r\n @ContentChild(\"modal_footer\") modal_footer: TemplateRef<void>;\r\n \r\n /**\r\n * Reference to the modal directive.\r\n */\r\n @ViewChild('slideRight', { static: false }) slideRight: ModalDirective;\r\n\r\n /**\r\n * Size of the modal.\r\n * Defaults to `ModalSize.md`.\r\n * Possible values: `ModalSize.sm`, `ModalSize.md`, `ModalSize.lg`, `ModalSize.xl`.\r\n */\r\n @Input() size:ModalSize = ModalSize.md;\r\n\r\n /**\r\n * Flag indicating whether the modal should be shown or hidden.\r\n * Set it to `true` to show the modal and `false` to hide it.\r\n */\r\n @Input() set show(val: boolean){\r\n if(!this.slideRight){\r\n return;\r\n }\r\n\r\n if(val){\r\n this.showModal();\r\n }\r\n else{\r\n this.hideModal();\r\n }\r\n };\r\n\r\n /**\r\n * Event emitted when the modal is closed.\r\n * Emits a boolean value indicating if the modal is closed.\r\n */\r\n\r\n @Output() isClouse = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Event handler for when the modal is closed.\r\n * Emits the `isClosed` event with a value of `true`.\r\n */\r\n modalIsCloused(){\r\n this.isClouse.emit(true);\r\n }\r\n\r\n /**\r\n * Shows the modal.\r\n * Call this method to open the modal window.\r\n */\r\n public showModal(){\r\n this.slideRight.show();\r\n }\r\n \r\n /**\r\n * Hides the modal.\r\n * Call this method to close the modal window.\r\n */\r\n public hideModal(){\r\n this.slideRight.hide();\r\n }\r\n}\r\n","<div bsModal #slideRight=\"bs-modal\" class=\"modal fade slide-right\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" (onHide)=\"modalIsCloused()\">\r\n <div class=\"modal-dialog modal-{{size}}\">\r\n <div class=\"modal-content-wrapper\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header clearfix text-left\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { FilteredFieldService } from '../../utils/filtered-field/filtered-field.service';\r\n\r\n\r\n/**\r\n * Component representing the right filter.\r\n */\r\n@Component({\r\n selector: 'mefdev-right-filter',\r\n templateUrl: './right-filter.component.html',\r\n styleUrls: ['./right-filter.component.scss']\r\n})\r\nexport class RightFilterComponent implements OnInit {\r\n\r\n /**\r\n * Flag indicating whether the right filter is open or closed.\r\n */\r\n isOpen: boolean = false;\r\n\r\n constructor(\r\n private filteredFieldService: FilteredFieldService,) { }\r\n\r\n ngOnInit(): void {\r\n // Subscribe to the open filter event from the FilteredFieldService\r\n // and update the isOpen flag accordingly.\r\n this.filteredFieldService.getOpenFilter().subscribe(() => {\r\n this.isOpen = true;\r\n });\r\n }\r\n\r\n /**\r\n * Opens or closes the right filter modal.\r\n */\r\n openModal(){\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n /**\r\n * Event handler for when the modal is closed.\r\n * Sets the isOpen flag to false.\r\n */\r\n modalIsCloused(){\r\n this.isOpen = false;\r\n }\r\n \r\n}\r\n","<div class=\"filter-btn\">\r\n <button class=\"btn btn-secondary text-danger\" (click)=\"openModal()\"><i class=\"fa fa-filter\" aria-hidden=\"true\"></i></button>\r\n</div>\r\n\r\n<mefdev-slide-right-modal [show]=\"isOpen\" (isClouse)=\"modalIsCloused()\">\r\n <ng-content></ng-content>\r\n</mefdev-slide-right-modal>","import { NgModule } from \"@angular/core\";\r\nimport { FillComponent } from './fill/fill.component';\r\nimport { SlideUpComponent } from './slide-up/slide-up.component';\r\nimport { SlideRightComponent } from './slide-right/slide-right.component';\r\n\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RightFilterComponent } from \"./right-filter/right-filter.component\";\r\nimport { MefDevSelectModule } from '../../pg-components/select/select.module';\r\n\r\n\r\nlet mefDevModalModuleComponents = [\r\n FillComponent,\r\n SlideUpComponent,\r\n SlideRightComponent,\r\n RightFilterComponent\r\n];\r\n@NgModule({\r\n imports: [\r\n ModalModule,\r\n CommonModule,\r\n MefDevSelectModule\r\n ],\r\n exports: mefDevModalModuleComponents,\r\n declarations: mefDevModalModuleComponents\r\n})\r\nexport class MefDevModalModule {}\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n/**\r\n * A component representing a user profile.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-profile\r\n * [name]=\"'John Doe'\"\r\n * [img]=\"'assets/profile.png'\"\r\n * [shortDescription]=\"'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'\"\r\n * [header]=\"'User Profile'\"\r\n * [circleImg]=\"'true'\">\r\n * <ng-template #first_colum>\r\n * <!-- Content for the first column -->\r\n * </ng-template>\r\n * <ng-template #second_colum>\r\n * <!-- Content for the second column -->\r\n * </ng-template>\r\n * <ng-template #footer>\r\n * <!-- Content for the footer -->\r\n * </ng-template>\r\n * </mefdev-profile>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/profile</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the content of the first column.\r\n *```\r\n * <ng-template #first_colum>\r\n * <!-- Content for the first column -->\r\n * </ng-template>\r\n *```\r\n */\r\n @ContentChild(\"first_colum\") first_colum: TemplateRef<void>;\r\n\r\n /**\r\n * The template reference to the content of the second column.\r\n *```\r\n * <ng-template #second_colum>\r\n * <!-- Content for the second column -->\r\n * </ng-template>\r\n *```\r\n */\r\n @ContentChild(\"second_colum\") second_colum: TemplateRef<void>;\r\n\r\n /**\r\n * The template reference to the content of the footer.\r\n *```\r\n * <ng-template #footer>\r\n * <!-- Content for the footer -->\r\n * </ng-template>\r\n *```\r\n */\r\n @ContentChild(\"footer\") footer: TemplateRef<void>;\r\n\r\n /**\r\n * The name of the user.\r\n * ```\r\n * <mefdev-profile [name]=\"'John Doe'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() name:string;\r\n\r\n /**\r\n * The URL of the user's profile image.\r\n * ```\r\n * <mefdev-profile [img]=\"'assets/profile.png'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() img: string = '';\r\n\r\n /**\r\n * A short description of the user.\r\n * ```\r\n * <mefdev-profile [shortDescription]=\"'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() shortDescription: string;\r\n\r\n /**\r\n * The header title of the profile component.\r\n * ```\r\n * <mefdev-profile [header]=\"'User Profile'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() header: string;\r\n\r\n /**\r\n * A flag indicating whether to display the profile image as a circle. Default \"false\".\r\n * ```\r\n * <mefdev-profile [circleImg]=\"'true'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() circleImg: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n get sizeStyle(){\r\n // return { 'width.px': this.width, 'height.px': this.height };\r\n /**\r\n * Returns the CSS style for the profile image size and shape.\r\n */\r\n if(!this.circleImg){\r\n return {};\r\n }\r\n\r\n return {\r\n 'border-top-left-radius': `50%`,\r\n 'border-top-right-radius': `50%`,\r\n 'border-bottom-right-radius': `50%`,\r\n 'border-bottom-left-radius': `50%`,\r\n };\r\n }\r\n}\r\n","<div class=\"row profile-page\">\r\n <div class=\"col-12 h3 mt-3\">\r\n {{header}}\r\n </div>\r\n <div class=\"col-xl-3 col-lg-3 col-md-4 col-sm-12\">\r\n <div *ngIf=\"!img || img == ''\" >\r\n <img src=\"assets/images/md_icon.png\" height=\"124\" width=\"220\" />\r\n </div>\r\n <div *ngIf=\"img\" >\r\n <img src=\"{{img}}\" alt=\"\" class=\"custom-img\" [ngStyle]=\"sizeStyle\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-xl-3 col-lg-4 col-md-5 col-sm-12 mt-4 mt-md-0\" >\r\n <div class=\"row profile-name\">\r\n <div class=\"col\">\r\n {{name}}\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col profile-description\">\r\n {{shortDescription}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-xl-3 col-lg-4 col-md-5 col-sm-12 body-6 mt-4 mt-md-0\">\r\n <ng-template [ngTemplateOutlet]=\"first_colum\"></ng-template>\r\n </div>\r\n\r\n <div class=\"col-xl-3 col-lg-4 col-md-5 col-sm-12 body-6 mt-4 mt-md-0\" >\r\n <ng-template [ngTemplateOutlet]=\"second_colum\"></ng-template>\r\n </div>\r\n\r\n</div>\r\n<div style=\"position: relative;\">\r\n <div class=\"row profile-page-tabs\">\r\n <ng-template [ngTemplateOutlet]=\"footer\">\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { AfterViewChecked, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\n\r\n/**\r\n * A component representing a central page layout.\r\n *\r\n * Example of usage:\r\n *\r\n * ```\r\n * <mefdev-central-page [width]=\"'80%'\">\r\n * Content goes here...\r\n * </mefdev-central-page>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/central-page</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-central-page',\r\n templateUrl: './central-page.component.html',\r\n styleUrls: ['./central-page.component.scss']\r\n})\r\nexport class CentralPageComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n /**\r\n * The width of the central page.\r\n * Defaults to '100%'.\r\n * You can specify the width using CSS units (e.g., '80%', '500px').\r\n */\r\n @Input() width: string = '100%';\r\n\r\n /**\r\n * Lifecycle hook called just before the component is destroyed.\r\n * Removes the height style from the main content element.\r\n */\r\n ngOnDestroy(): void {\r\n try{\r\n document.getElementById('dataMainContent')!.style.height = '';\r\n }catch(ex){};\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Lifecycle hook called after the component's view has been checked.\r\n * Sets the height of the main content element to '100%'.\r\n */\r\n ngAfterViewChecked(): void {\r\n try{\r\n document.getElementById('dataMainContent')!.style.height = '100%'\r\n }catch(ex){};\r\n }\r\n\r\n}\r\n","<div class=\"row align-items-center\" style=\"height: 100%;\" [ngStyle]=\"{'width': width}\">\r\n <div class=\"col\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n\r\n/**\r\n * A component representing a central page layout.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-central-page>\r\n * <mefdev-central-page-row>\r\n * Content goes here...\r\n * </mefdev-central-page-row>\r\n * </mefdev-central-page>\r\n * ```\r\n*/\r\n@Component({\r\n selector: 'mefdev-central-page-row',\r\n templateUrl: './central-page-row.component.html',\r\n styleUrls: ['./central-page-row.component.scss']\r\n})\r\nexport class CentralPageRowComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"row justify-content-center\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, ContentChild, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n /**\r\n * A component representing a table page layout.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-table-page>\r\n * <ng-template #filter_colum>\r\n * <!-- Content for the filter column -->\r\n * </ng-template>\r\n * </mefdev-table-page>\r\n * ```\r\n * \r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/table-page</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-table-page',\r\n templateUrl: './table-page.component.html',\r\n styleUrls: ['./table-page.component.scss']\r\n})\r\nexport class TablePageComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the content of the filter column.\r\n * ```\r\n * <ng-template #filter_colum>\r\n * <!-- Content for the filter column -->\r\n * </ng-template>\r\n * ```\r\n */\r\n @ContentChild(\"filter_colum\") filter_colum: TemplateRef<void>;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-12 filter-colum\">\r\n <ng-template [ngTemplateOutlet]=\"filter_colum\"></ng-template> \r\n </div>\r\n</div>\r\n\r\n<div class=\"table-responsive\" >\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n /**\r\n * A component representing a manage page layout.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-manage-page [startTabInd]=\"0\">\r\n * <ng-template #card_title>\r\n * Title of the card\r\n * </ng-template>\r\n * <ng-template #tabs_block>\r\n * Content of the tabs block\r\n * </ng-template>\r\n * </mefdev-manage-page>\r\n * ```\r\n *\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/menage-page</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-manage-page',\r\n templateUrl: './manage-page.component.html',\r\n styleUrls: ['./manage-page.component.scss']\r\n})\r\nexport class ManagePageComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the card title.\r\n * ```\r\n * <mefdev-manage-page>\r\n * <ng-template #card_title>\r\n * Title of the card\r\n * </ng-template>\r\n * </mefdev-manage-page>\r\n * ```\r\n */\r\n @ContentChild(\"card_title\") card_title: TemplateRef<void>;\r\n\r\n /**\r\n * The template reference to the tabs block.\r\n * ```\r\n * <mefdev-manage-page>\r\n * <ng-template #tabs_block>\r\n * Content of the tabs block\r\n * </ng-template>\r\n * </mefdev-manage-page>\r\n * ```\r\n */\r\n @ContentChild(\"tabs_block\") tabs_block: TemplateRef<void>;\r\n\r\n /**\r\n * The index of the starting tab.\r\n * ```\r\n * <mefdev-manage-page [startTabInd]=\"0\">\r\n * Content goes here...\r\n * </mefdev-manage-page>\r\n * ```\r\n */\r\n @Input() startTabInd = 0;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"card-tabs\">\r\n <div class=\"row body-1 card-header\" *ngIf=\"card_title\">\r\n <div class=\"m-2\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row profile-page-tabs\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProfileComponent } from './profile/profile.component';\r\n// import { pgTabsModule } from '../../pg-components/tabs/tabs.module';\r\nimport { CentralPageComponent } from './central-page/central-page.component';\r\nimport { CentralPageRowComponent } from './central-page-row/central-page-row.component';\r\nimport { TablePageComponent } from './table-page/table-page.component';\r\nimport { ManagePageComponent } from './manage-page/manage-page.component';\r\n\r\nlet mefDevPageLayoutsModuleComponents = [\r\n ProfileComponent,\r\n CentralPageComponent,\r\n CentralPageRowComponent,\r\n TablePageComponent,\r\n ManagePageComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: mefDevPageLayoutsModuleComponents,\r\n exports: mefDevPageLayoutsModuleComponents,\r\n imports: [\r\n CommonModule,\r\n\t\t// pgTabsModule,\r\n ],\r\n})\r\nexport class MefDevPageLayoutsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mefdev-spec-flow-test',\r\n templateUrl: './spec-flow-test.component.html',\r\n styleUrls: ['./spec-flow-test.component.scss']\r\n})\r\nexport class MefDevSpecFlowTestComponent implements OnInit {\r\n /**\r\n * UTC datetime\r\n */\r\n ResponseTimestamp: any;\r\n /**\r\n * 0/1 1 - ошибка, 0 - успех (200, 201 и тд)\r\n */\r\n ResponseError: any;\r\n /**\r\n * string для ResponseError=1\r\n */\r\n ReportError: any;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n public setError(error:any) {\r\n this.ResponseTimestamp = Date.now();\r\n this.ResponseError = 1;\r\n this.ReportError = error;\r\n }\r\n public setSuccess(){\r\n this.ResponseTimestamp = Date.now();\r\n this.ResponseError = 0;\r\n this.ReportError = undefined;\r\n }\r\n\r\n}\r\n","<!-- Block for test -->\r\n<div style=\"display: none;\">\r\n <input id=\"ResponseTimestamp\" type=\"hidden\" value=\"{{ResponseTimestamp}}\" />\r\n <input id=\"ResponseError\" type=\"hidden\" value=\"{{ResponseError}}\" />\r\n <input id=\"ReportError\" type=\"hidden\" value=\"{{ReportError}}\" />\r\n</div>","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MefDevSpecFlowTestComponent } from './spec-flow-test/spec-flow-test.component';\r\n\r\n@NgModule({\r\n declarations: [MefDevSpecFlowTestComponent],\r\n exports: [MefDevSpecFlowTestComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class MefDevSpecFlowTestModule {\r\n static forRoot(): ModuleWithProviders<MefDevSpecFlowTestModule> {\r\n return {\r\n ngModule: MefDevSpecFlowTestModule\r\n };\r\n }\r\n }\r\n","import {\r\n\tforwardRef,\r\n\tComponent,\r\n\tHostListener,\r\n\tInput,\r\n\tOnInit,\r\n\tViewEncapsulation,\r\n\tOutput\r\n} from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { toBoolean } from \"../util/convert\";\r\n\r\n\r\n/**\r\n * @component\r\n * @skipTemplateDoc: true\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/switch</example-url>\r\n*/\r\n@Component({\r\n\tselector: \"mefdev-switch\",\r\n\tencapsulation: ViewEncapsulation.None,\r\n\ttemplateUrl: \"./switch.component.html\",\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => MefDevSwitchComponent),\r\n\t\t\tmulti: true\r\n\t\t}\r\n\t]\r\n})\r\nexport class MefDevSwitchComponent implements OnInit, ControlValueAccessor {\r\n\t // Private variables\r\n\tprivate _disabled = false;\r\n\t_prefixCls = \"toggle-switch\";\r\n\t_color = \"primary\";\r\n\t_innerPrefixCls = `${this._prefixCls}-inner `;\r\n\t_classMap:any;\r\n\t_size: string;\r\n\t_checked = false;\r\n\r\n\t// ngModel Access\r\n\t// Output event triggered when the switch value changes\r\n\t@Output()\r\n\t/**\r\n * Event emitted when the value of the switch changes.\r\n * \r\n * @output\r\n * @param value The new value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch (onChange)=\"handleSwitchChange($event)\"></mefdev-switch>\r\n * ```\r\n */\r\n\tonChange: (value: boolean) => void = () => null;\r\n\tonTouched: () => void = () => null;\r\n\r\n\t// Input properties\r\n\r\n\t/**\r\n * Sets the value of the switch.\r\n * \r\n * @input\r\n * @param value The value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Value]=\"true\"></mefdev-switch>\r\n * ```\r\n */\r\n @Input()\r\n\tset Value(value: boolean) {\r\n\t\tthis.updateValue(value);\r\n\t}\r\n\r\n\t/**\r\n * Sets the size of the switch.\r\n * \r\n * @input\r\n * @param value The size of the switch (e.g., \"small\", \"large\").\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Size]=\"'small'\"></mefdev-switch>\r\n * ```\r\n */\r\n\t@Input()\r\n\tset Size(value: string) {\r\n\t\tthis._size = value;\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t/**\r\n * Sets the color of the switch.\r\n * \r\n * @input\r\n * @param value The color of the switch (e.g., \"primary\", \"secondary\").\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Color]=\"'primary'\"></mefdev-switch>\r\n * ```\r\n */\r\n\t@Input()\r\n\tset Color(value: string) {\r\n\t\tthis._color = value;\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t/**\r\n * Gets the current size of the switch.\r\n * \r\n * @input\r\n * @returns The size of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * const size = mySwitchComponent.Size;\r\n * ```\r\n */\r\n\tget Size(): string {\r\n\t\treturn this._size;\r\n\t}\r\n\r\n\t/**\r\n * Sets the disabled state of the switch.\r\n * \r\n * @input\r\n * @param value The disabled state of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Disabled]=\"true\"></mefdev-switch>\r\n * ```\r\n */\r\n\t@Input()\r\n\tset Disabled(value: boolean) {\r\n\t\tthis._disabled = toBoolean(value);\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t /**\r\n * Gets the current disabled state of the switch.\r\n * \r\n * @input\r\n * @returns The disabled state of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * const disabled = mySwitchComponent.Disabled;\r\n * ```\r\n */\r\n\tget Disabled(): boolean {\r\n\t\treturn this._disabled;\r\n\t}\r\n\r\n\t // Host listener for click event\r\n\t@HostListener(\"click\", [\"$event\"])\r\n\r\n\t/**\r\n * Handles the click event of the switch.\r\n * \r\n * @param e The click event object.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch (click)=\"handleSwitchClick($event)\"></mefdev-switch>\r\n * ```\r\n */\r\n\tonClick(e: MouseEvent): void {\r\n\t\te.preventDefault();\r\n\t\tif (!this._disabled) {\r\n\t\t\tthis.updateValue(!this._checked);\r\n\t\t\tthis.onChange(this._checked);\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\t// Helper functions\r\n\r\n /**\r\n * Updates the value of the switch.\r\n * \r\n * @param value The new value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.updateValue(true);\r\n * ```\r\n */\r\n\tupdateValue(value: boolean): void {\r\n\t\tif (this._checked === value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._checked = value;\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t/**\r\n * Sets the class map for the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.setClassMap();\r\n * ```\r\n */\r\n\tsetClassMap(): void {\r\n\t\tthis._classMap = {\r\n\t\t\t[this._prefixCls]: true,\r\n\t\t\t[`${this._prefixCls}-checked`]: this._checked,\r\n\t\t\t[`${this._prefixCls}-disabled`]: this._disabled,\r\n\t\t\t[`${this._prefixCls}-small`]: this._size === \"small\",\r\n\t\t\t[this._color]: this._color\r\n\t\t};\r\n\t}\r\n\r\n\t\r\n\t// ControlValueAccessor interface implementation\r\n\r\n /**\r\n * Writes a new value to the switch.\r\n * \r\n * @param value The new value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.writeValue(true);\r\n * ```\r\n */\r\n\tpublic writeValue(value: boolean): void {\r\n\t\tthis.updateValue(value);\r\n\t}\r\n\r\n\t/**\r\n * Registers a callback function to be executed when the switch value changes.\r\n * \r\n * @param fn The callback function.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.registerOnChange(value => {\r\n * // Do something with the new value\r\n * });\r\n * ```\r\n */\r\n\tregisterOnChange(fn: (_: boolean) => void): void {\r\n\t\tthis.onChange = fn;\r\n\t}\r\n\r\n\t/**\r\n * Registers a callback function to be executed when the switch is touched.\r\n * \r\n * @param fn The callback function.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.registerOnTouched(() => {\r\n * // Do something when the switch is touched\r\n * });\r\n * ```\r\n */\r\n\tregisterOnTouched(fn: () => void): void {\r\n\t\tthis.onTouched = fn;\r\n\t}\r\n\r\n\t/**\r\n * Sets the disabled state of the switch.\r\n * \r\n * @param isDisabled The disabled state of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.setDisabledState(true);\r\n * ```\r\n */\r\n\tsetDisabledState(isDisabled: boolean): void {\r\n\t\tthis.Disabled = isDisabled;\r\n\t}\r\n\r\n\t // OnInit lifecycle hook\r\n\tngOnInit(): void {\r\n\t\tthis.setClassMap();\r\n\t}\r\n}\r\n","<span [ngClass]=\"_classMap\" tabindex=\"0\">\r\n <span [ngClass]=\"_innerPrefixCls\">\r\n <ng-template [ngIf]=\"_checked\">\r\n <ng-content select=\"[checked]\"></ng-content>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!_checked\">\r\n <ng-content select=\"[unchecked]\"></ng-content>\r\n </ng-template>\r\n </span>\r\n</span>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MefDevSwitchComponent } from './switch.component';\r\n\r\n@NgModule({\r\n exports : [ MefDevSwitchComponent ],\r\n declarations: [ MefDevSwitchComponent ],\r\n imports : [ CommonModule ]\r\n})\r\nexport class MefDevSwitchModule {\r\n}\r\n","import { Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * Component representing the body of a tab, which displays the tab's content.\r\n */\r\n@Component({\r\n selector: 'mefdev-tab-body',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl:\"./tab-body.component.html\",\r\n})\r\nexport class MefDevTabBodyComponent {\r\n /**\r\n * The content of the tab, which can be passed as a template.\r\n */\r\n @Input() content: TemplateRef<void>;\r\n}\r\n","<ng-template [ngTemplateOutlet]=\"content\"></ng-template>","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\r\nimport { toBoolean } from '../util/convert';\r\n\r\n@Directive({\r\n selector: '[pg-tab-label]',\r\n host: {\r\n '[class.nav-item]': 'true'\r\n }\r\n})\r\nexport class MefDevTabLabelDirective {\r\n private _disabled = false;\r\n\r\n @Input()\r\n @HostBinding('class.nav-item-disabled')\r\n set disabled(value: boolean) {\r\n this._disabled = toBoolean(value);\r\n }\r\n\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n constructor(public elementRef: ElementRef) {}\r\n\r\n getOffsetLeft(): number {\r\n return this.elementRef.nativeElement.offsetLeft;\r\n }\r\n\r\n getOffsetWidth(): number {\r\n return this.elementRef.nativeElement.offsetWidth;\r\n }\r\n\r\n getOffsetTop(): number {\r\n return this.elementRef.nativeElement.offsetTop;\r\n }\r\n\r\n getOffsetHeight(): number {\r\n return this.elementRef.nativeElement.offsetHeight;\r\n }\r\n}\r\n","\r\nconst availablePrefixs = ['moz', 'ms', 'webkit'];\r\n\r\nfunction requestAnimationFramePolyfill(): typeof requestAnimationFrame {\r\n let lastTime = 0;\r\n return function (callback: FrameRequestCallback): number {\r\n const currTime = new Date().getTime();\r\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n const id = window.setTimeout(() => { callback(currTime + timeToCall); }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n}\r\n\r\nfunction getRequestAnimationFrame(): typeof requestAnimationFrame {\r\n if (typeof window === 'undefined') {\r\n //@ts-ignore\r\n return () => null;\r\n }\r\n if (window.requestAnimationFrame) {\r\n return window.requestAnimationFrame.bind(window);\r\n }\r\n\r\n const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];\r\n\r\n return prefix\r\n ? window[`${prefix}RequestAnimationFrame`]\r\n : requestAnimationFramePolyfill();\r\n}\r\n\r\nexport const reqAnimFrame = getRequestAnimationFrame();\r\n","import { Directive, ElementRef, HostBinding, Input, NgZone, Renderer2 } from '@angular/core';\r\nimport { reqAnimFrame } from '../util/request-animation';\r\nimport { toBoolean } from '../util/convert';\r\n\r\nexport type TabPositionMode = 'horizontal' | 'vertical';\r\n\r\n@Directive({\r\n selector: '[pg-tabs-ink-bar]',\r\n host: {\r\n '[class.nav-item]': 'true'\r\n }\r\n})\r\nexport class MefDevTabsInkBarDirective {\r\n private _animated = false;\r\n\r\n @Input()\r\n @HostBinding('class.nav-item-animated')\r\n set Animated(value: boolean) {\r\n this._animated = toBoolean(value);\r\n }\r\n\r\n get Animated(): boolean {\r\n return this._animated;\r\n }\r\n\r\n @Input() PositionMode: TabPositionMode = 'horizontal';\r\n\r\n constructor(private _renderer: Renderer2, private _elementRef: ElementRef, private _ngZone: NgZone) {}\r\n\r\n alignToElement(element: HTMLElement): void {\r\n this.show();\r\n\r\n this._ngZone.runOutsideAngular(() => {\r\n reqAnimFrame(() => {\r\n /** when horizontal remove height style and add transfrom left **/\r\n if (this.PositionMode === 'horizontal') {\r\n this._renderer.removeStyle(this._elementRef.nativeElement, 'height');\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'transform', `translate3d(${this._getLeftPosition(element)}, 0px, 0px)`);\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'width', this._getElementWidth(element));\r\n } else {\r\n /** when vertical remove width style and add transfrom top **/\r\n this._renderer.removeStyle(this._elementRef.nativeElement, 'width');\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'transform', `translate3d(0px, ${this._getTopPosition(element)}, 0px)`);\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'height', this._getElementHeight(element));\r\n }\r\n });\r\n });\r\n }\r\n\r\n show(): void {\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'visibility', 'visible');\r\n }\r\n\r\n setDisplay(value: string): void {\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'display', value);\r\n }\r\n\r\n hide(): void {\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'visibility', 'hidden');\r\n }\r\n\r\n _getLeftPosition(element: HTMLElement): string {\r\n return element ? element.offsetLeft + 'px' : '0';\r\n }\r\n\r\n _getElementWidth(element: HTMLElement): string {\r\n return element ? element.offsetWidth + 'px' : '0';\r\n }\r\n\r\n _getTopPosition(element: HTMLElement): string {\r\n return element ? element.offsetTop + 'px' : '0';\r\n }\r\n\r\n _getElementHeight(element: HTMLElement): string {\r\n return element ? element.offsetHeight + 'px' : '0';\r\n }\r\n}\r\n","/** code from https://github.com/angular/material2 */\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n Optional,\r\n QueryList,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Subscription, fromEvent, merge, of as observableOf } from 'rxjs';\r\nimport { auditTime, startWith } from 'rxjs/operators';\r\nimport { toBoolean } from '../util/convert';\r\nimport { MefDevTabLabelDirective } from './tab-label.directive';\r\nimport { MefDevTabsInkBarDirective } from './tabs-ink-bar.directive';\r\n\r\nconst EXAGGERATED_OVERSCROLL = 64;\r\nexport type ScrollDirection = 'after' | 'before';\r\n\r\n/** duplicated defined https://github.com/angular/angular-cli/issues/2034 **/\r\nexport type TabPositionMode = 'horizontal' | 'vertical';\r\n\r\n@Component({\r\n selector: 'mefdev-tabs-nav',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./tabs-nav.component.html\"\r\n})\r\nexport class MefDevTabsNavComponent implements AfterContentChecked, AfterContentInit {\r\n private _animated = true;\r\n private _hideBar = false;\r\n private _showPagination = true;\r\n\r\n _showPaginationControls = false;\r\n _disableScrollAfter = true;\r\n _disableScrollBefore = true;\r\n _scrollDistance = 0;\r\n _selectedIndexChanged = false;\r\n _realignInkBar: Subscription | null = null;\r\n _tabLabelCount: number;\r\n _scrollDistanceChanged: boolean;\r\n _selectedIndex = 0;\r\n _tabPositionMode: TabPositionMode = 'horizontal';\r\n _tabPosition = 'top';\r\n @Input() Size = 'default';\r\n _type = 'line';\r\n\r\n @Input()\r\n set Animated(value: boolean) {\r\n this._animated = toBoolean(value);\r\n }\r\n\r\n get Animated(): boolean {\r\n return this._animated;\r\n }\r\n\r\n @Input()\r\n set Position(value: string) {\r\n this._tabPosition = value;\r\n }\r\n\r\n get Position(): string {\r\n return this._tabPosition;\r\n }\r\n\r\n @Input()\r\n set HideBar(value: boolean) {\r\n this._hideBar = toBoolean(value);\r\n }\r\n\r\n get HideBar(): boolean {\r\n return this._hideBar;\r\n }\r\n\r\n @Input()\r\n set Type(value: string) {\r\n this._type = value;\r\n }\r\n\r\n get Type(): string {\r\n return this._type;\r\n }\r\n\r\n @ContentChild('tabBarExtraContent', { static: true }) _tabBarExtraContent: TemplateRef<void>;\r\n @ContentChildren(MefDevTabLabelDirective) _labelWrappers: QueryList<MefDevTabLabelDirective>;\r\n @ViewChild(MefDevTabsInkBarDirective, { static: true }) _inkBar: MefDevTabsInkBarDirective;\r\n @ViewChild('tabListContainer', { static: true }) _tabListContainer: ElementRef;\r\n @ViewChild('tabList', { static: true }) _tabList: ElementRef;\r\n\r\n @Input()\r\n set ShowPagination(value: boolean) {\r\n this._showPagination = toBoolean(value);\r\n }\r\n\r\n get ShowPagination(): boolean {\r\n return this._showPagination;\r\n }\r\n\r\n @Input()\r\n set PositionMode(value: TabPositionMode) {\r\n this._tabPositionMode = value;\r\n this._alignInkBarToSelectedTab();\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n }\r\n\r\n get PositionMode(): TabPositionMode {\r\n return this._tabPositionMode;\r\n }\r\n\r\n @Input()\r\n set selectedIndex(value: number) {\r\n this._selectedIndexChanged = this._selectedIndex !== value;\r\n\r\n this._selectedIndex = value;\r\n }\r\n\r\n get selectedIndex(): number {\r\n return this._selectedIndex;\r\n }\r\n\r\n constructor(\r\n public _elementRef: ElementRef,\r\n private _ngZone: NgZone,\r\n private _renderer: Renderer2,\r\n @Optional() private _dir: Directionality\r\n ) {}\r\n\r\n _onContentChanges(): void {\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n this._alignInkBarToSelectedTab();\r\n }\r\n\r\n _scrollHeader(scrollDir: ScrollDirection): void {\r\n // Move the scroll distance one-third the length of the tab list's viewport.\r\n this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * this.viewWidthHeightPix) / 3;\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this._tabLabelCount !== this._labelWrappers.length) {\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n this._tabLabelCount = this._labelWrappers.length;\r\n }\r\n if (this._selectedIndexChanged) {\r\n this._scrollToLabel(this._selectedIndex);\r\n if (this.ShowPagination) {\r\n this._checkScrollingControls();\r\n }\r\n this._alignInkBarToSelectedTab();\r\n this._selectedIndexChanged = false;\r\n }\r\n if (this._scrollDistanceChanged) {\r\n if (this.ShowPagination) {\r\n this._updateTabScrollPosition();\r\n }\r\n this._scrollDistanceChanged = false;\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this._realignInkBar = this._ngZone.runOutsideAngular(() => {\r\n const dirChange = this._dir ? this._dir.change : observableOf(null);\r\n const resize = typeof window !== 'undefined' ? fromEvent(window, 'resize').pipe(auditTime(10)) : observableOf(null);\r\n //@ts-ignore\r\n return merge(dirChange, resize)\r\n .pipe(startWith(null))\r\n .subscribe(() => {\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n this._alignInkBarToSelectedTab();\r\n });\r\n });\r\n }\r\n\r\n _updateTabScrollPosition(): void {\r\n const scrollDistance = this.scrollDistance;\r\n if (this.PositionMode === 'horizontal') {\r\n const translateX = this._getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;\r\n this._renderer.setStyle(this._tabList.nativeElement, 'transform', `translate3d(${translateX}px, 0, 0)`);\r\n } else {\r\n this._renderer.setStyle(this._tabList.nativeElement, 'transform', `translate3d(0,${-scrollDistance}px, 0)`);\r\n }\r\n }\r\n\r\n _updatePagination(): void {\r\n this._checkPaginationEnabled();\r\n this._checkScrollingControls();\r\n this._updateTabScrollPosition();\r\n }\r\n\r\n _checkPaginationEnabled(): void {\r\n this._showPaginationControls = this.tabListScrollWidthHeightPix > this.elementRefOffSetWidthHeight;\r\n\r\n if (!this._showPaginationControls) {\r\n this.scrollDistance = 0;\r\n }\r\n }\r\n\r\n _scrollToLabel(labelIndex: number): void {\r\n const selectedLabel = this._labelWrappers ? this._labelWrappers.toArray()[labelIndex] : null;\r\n\r\n if (!selectedLabel) {\r\n return;\r\n }\r\n\r\n // The view length is the visible width of the tab labels.\r\n\r\n let labelBeforePos: number;\r\n let labelAfterPos: number;\r\n if (this.PositionMode === 'horizontal') {\r\n if (this._getLayoutDirection() === 'ltr') {\r\n labelBeforePos = selectedLabel.getOffsetLeft();\r\n labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();\r\n } else {\r\n labelAfterPos = this._tabList.nativeElement.offsetWidth - selectedLabel.getOffsetLeft();\r\n labelBeforePos = labelAfterPos - selectedLabel.getOffsetWidth();\r\n }\r\n } else {\r\n labelBeforePos = selectedLabel.getOffsetTop();\r\n labelAfterPos = labelBeforePos + selectedLabel.getOffsetHeight();\r\n }\r\n const beforeVisiblePos = this.scrollDistance;\r\n const afterVisiblePos = this.scrollDistance + this.viewWidthHeightPix;\r\n\r\n if (labelBeforePos < beforeVisiblePos) {\r\n // Scroll header to move label to the before direction\r\n this.scrollDistance -= beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;\r\n } else if (labelAfterPos > afterVisiblePos) {\r\n // Scroll header to move label to the after direction\r\n this.scrollDistance += labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;\r\n }\r\n }\r\n\r\n _checkScrollingControls(): void {\r\n // Check if the pagination arrows should be activated.\r\n this._disableScrollBefore = this.scrollDistance === 0;\r\n this._disableScrollAfter = this.scrollDistance === this._getMaxScrollDistance();\r\n }\r\n\r\n /**\r\n * Determines what is the maximum length in pixels that can be set for the scroll distance. This\r\n * is equal to the difference in width between the tab list container and tab header container.\r\n *\r\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\r\n * should be called sparingly.\r\n */\r\n _getMaxScrollDistance(): number {\r\n return this.tabListScrollWidthHeightPix - this.viewWidthHeightPix || 0;\r\n }\r\n\r\n /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */\r\n set scrollDistance(v: number) {\r\n this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));\r\n\r\n // Mark that the scroll distance has changed so that after the view is checked, the CSS\r\n // transformation can move the header.\r\n this._scrollDistanceChanged = true;\r\n\r\n this._checkScrollingControls();\r\n }\r\n\r\n get scrollDistance(): number {\r\n return this._scrollDistance;\r\n }\r\n\r\n get viewWidthHeightPix(): number {\r\n let PAGINATION_PIX = 0;\r\n if (this._showPaginationControls) {\r\n PAGINATION_PIX = 64;\r\n }\r\n if (this.PositionMode === 'horizontal') {\r\n return this._tabListContainer.nativeElement.offsetWidth - PAGINATION_PIX;\r\n } else {\r\n return this._tabListContainer.nativeElement.offsetHeight - PAGINATION_PIX;\r\n }\r\n }\r\n\r\n get tabListScrollWidthHeightPix(): number {\r\n if (this.PositionMode === 'horizontal') {\r\n return this._tabList.nativeElement.scrollWidth;\r\n } else {\r\n return this._tabList.nativeElement.scrollHeight;\r\n }\r\n }\r\n\r\n get elementRefOffSetWidthHeight(): number {\r\n if (this.PositionMode === 'horizontal') {\r\n return this._elementRef.nativeElement.offsetWidth;\r\n } else {\r\n return this._elementRef.nativeElement.offsetHeight;\r\n }\r\n }\r\n\r\n _getLayoutDirection(): Direction {\r\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\r\n }\r\n\r\n _alignInkBarToSelectedTab(): void {\r\n if (this.Type !== 'fillup') {\r\n const selectedLabelWrapper =\r\n this._labelWrappers && this._labelWrappers.length\r\n ? this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement\r\n : null;\r\n if (this._inkBar) {\r\n this._inkBar.alignToElement(selectedLabelWrapper);\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"nav-tabs-wrapper\" [class.scrolling]=\"_showPaginationControls\" #tabListContainer>\r\n <div class=\"nav-wrap\">\r\n <ul\r\n class=\"nav nav-tabs nav-tabs-{{ _type }} nav-tabs-{{ _tabPosition }}\"\r\n [class.tabs-nav-animated]=\"Animated\"\r\n #tabList\r\n (cdkObserveContent)=\"_onContentChanges()\"\r\n >\r\n <div\r\n class=\"active-bar\"\r\n pg-tabs-ink-bar\r\n [hidden]=\"HideBar\"\r\n [Animated]=\"Animated\"\r\n [PositionMode]=\"PositionMode\"\r\n style=\"display: block;\"\r\n ></div>\r\n <ng-content></ng-content>\r\n </ul>\r\n </div>\r\n </div>","/** code from https://github.com/angular/material2 */\r\n\r\nimport {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { toBoolean } from '../util/convert';\r\nimport { MefDevTabComponent } from './tab.component';\r\nimport { MefDevTabsNavComponent } from './tabs-nav.component';\r\n\r\nexport interface AnimatedInterface {\r\n inkBar: boolean;\r\n tabPane: boolean;\r\n}\r\n\r\nexport class TabChangeEvent {\r\n index: number;\r\n tab: MefDevTabComponent;\r\n}\r\n\r\nexport type TabPosition = 'top' | 'bottom' | 'left' | 'right';\r\nexport type TabPositionMode = 'horizontal' | 'vertical';\r\nexport type TabType = 'line' | 'fillup' | 'linetriangle';\r\n\r\n\r\n/**\r\n * Represents a tab set or tab group component.\r\n * @example\r\n * <mefdev-tabset TabPosition=\"top\" Animated=\"true\" ShowPagination=\"true\">\r\n * <mefdev-tab label=\"Tab 1\">Tab 1 content</mefdev-tab>\r\n * <mefdev-tab label=\"Tab 2\">Tab 2 content</mefdev-tab>\r\n * </mefdev-tabset>\r\n *\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/tabset</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-tabset',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./tabset.component.html\",\r\n})\r\nexport class MefDevTabSetComponent implements AfterContentChecked, OnInit, AfterViewInit {\r\n _el:any;\r\n _classMap:any;\r\n _prefixCls = 'nav-tabs';\r\n _width:any;\r\n _tabPosition: TabPosition = 'top';\r\n _tabPositionMode: TabPositionMode = 'horizontal';\r\n _indexToSelect: number | null = 0;\r\n _selectedIndex: number | null = null;\r\n _isViewInit = false;\r\n _tabs: MefDevTabComponent[] = [];\r\n _tabAnimation = '';\r\n _extra_tab_class = '';\r\n _extra_tabcontent_class = '';\r\n\r\n /**\r\n * Template reference for additional content to be displayed in the tab bar.\r\n */\r\n @Input() TabBarExtraTemplate: TemplateRef<void>;\r\n @ContentChild('TabBarExtraContent', { static: true }) TabBarExtraContent: TemplateRef<void>;\r\n @ViewChild('tabNav', { static: true }) _tabNav: MefDevTabsNavComponent;\r\n @ViewChild('tabContent', { static: true }) _tabContent: ElementRef;\r\n @ViewChild('hostContent', { static: true }) _hostContent: ElementRef;\r\n\r\n /**\r\n * Whether the tab set is animated. Can be a boolean or an object of type AnimatedInterface.\r\n * @example\r\n * - true (enables animation for both ink bar and tab pane)\r\n * - { inkBar: true, tabPane: false } (enables animation for ink bar only)\r\n * Default: true\r\n */\r\n\r\n @Input() Animated: AnimatedInterface | boolean = true;\r\n\r\n /**\r\n * Whether to show pagination controls for scrolling tabs.\r\n * @example true\r\n * Default: true\r\n */\r\n @Input() ShowPagination = true;\r\n\r\n /**\r\n * Whether the tab set is hidden.\r\n * @example true\r\n * Default: false\r\n */\r\n @Input() Hide = false;\r\n\r\n /**\r\n * The index of the selected tab.\r\n */\r\n @Input()\r\n set SelectedIndex(value: number | null) {\r\n this._indexToSelect = value;\r\n }\r\n\r\n get SelectedIndex(): number | null {\r\n return this._selectedIndex;\r\n }\r\n\r\n /**\r\n * Event emitted when the selected tab index changes.\r\n * @returns An Observable emitting the index of the selected tab.\r\n */\r\n @Output()\r\n get SelectedIndexChange(): Observable<number> {\r\n //@ts-ignore\r\n return this.SelectChange.pipe(map((event:any) => event.index));\r\n }\r\n\r\n /**\r\n * Event emitted when a tab is selected.\r\n * @example\r\n * <mefdev-tabset (SelectChange)=\"onTabSelect($event)\"></mefdev-tabset>\r\n */\r\n @Output() SelectChange: EventEmitter<TabChangeEvent> = new EventEmitter<TabChangeEvent>(true);\r\n\r\n /**\r\n * Size of the tab set. Can be 'default', 'small', or 'large'.\r\n * @example 'large'\r\n * Default: 'default'\r\n */\r\n @Input() Size = 'default';\r\n _type: TabType = 'line';\r\n tabs: MefDevTabComponent[] = [];\r\n\r\n /**\r\n * Position of the tab set. Can be 'top', 'bottom', 'left', or 'right'.\r\n */\r\n @Input()\r\n set TabPosition(value: TabPosition) {\r\n this._tabPosition = value;\r\n if (this._tabPosition === 'top' || this._tabPosition === 'bottom') {\r\n this._tabPositionMode = 'horizontal';\r\n } else {\r\n this._tabPositionMode = 'vertical';\r\n }\r\n }\r\n\r\n get TabPosition(): TabPosition {\r\n return this._tabPosition;\r\n }\r\n\r\n /**\r\n * Additional CSS class for the tabs.\r\n */\r\n @Input()\r\n set extraTabClass(value: string) {\r\n this._extra_tab_class = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class for the tab content.\r\n */\r\n @Input()\r\n set extraTabContentClass(value: string) {\r\n this._extra_tabcontent_class = value;\r\n }\r\n\r\n /**\r\n * Type of the tab set. Can be 'line', 'fillup', or 'linetriangle'.\r\n */\r\n @Input()\r\n set Type(value: TabType) {\r\n if (this._type === value) {\r\n return;\r\n }\r\n this._type = value;\r\n this._setClassMap();\r\n }\r\n\r\n /**\r\n * Animation to apply to the tabs. Accepts CSS animation name.\r\n */\r\n @Input()\r\n set tabAnimation(value: string) {\r\n this._tabAnimation = value;\r\n }\r\n\r\n get Type(): TabType {\r\n return this._type;\r\n }\r\n\r\n _setPosition(value: TabPosition): void {}\r\n\r\n _setClassMap(): void {}\r\n\r\n // Other properties, methods, and lifecycle hooks...\r\n\r\n /**\r\n * Selects the tab at the specified index.\r\n * @param index The index of the tab to select.\r\n * ```\r\n * <button (click)=\"clickLabel(0)\">Select Tab 1</button>\r\n *```\r\n */\r\n clickLabel(index: number): void {\r\n if (this._tabs[index].Disabled) {\r\n } else {\r\n this.SelectedIndex = index;\r\n this._tabs[index].pgClick.emit();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._setClassMap();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n // Clamp the next selected index to the bounds of 0 and the tabs length. Note the `|| 0`, which\r\n // ensures that values like NaN can't get through and which would otherwise throw the\r\n // component into an infinite loop (since Math.max(NaN, 0) === NaN).\r\n const indexToSelect = (this._indexToSelect = Math.min(this._tabs.length - 1, Math.max(this._indexToSelect || 0, 0)));\r\n\r\n // If there is a change in selected index, emit a change event. Should not trigger if\r\n // the selected index has not yet been initialized.\r\n if (this._selectedIndex !== indexToSelect && this._selectedIndex != null) {\r\n this.SelectChange.emit(this._createChangeEvent(indexToSelect));\r\n }\r\n\r\n // Setup the position for each tab and optionally setup an origin on the next selected tab.\r\n this._tabs.forEach((tab: MefDevTabComponent, index: number) => {\r\n tab.position = index - indexToSelect;\r\n // If there is already a selected tab, then set up an origin for the next selected tab\r\n // if it doesn't have one already.\r\n if (this._selectedIndex != null && tab.position === 0 && !tab.origin) {\r\n tab.origin = indexToSelect - this._selectedIndex;\r\n }\r\n });\r\n this._selectedIndex = indexToSelect;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._isViewInit = true;\r\n }\r\n\r\n private _createChangeEvent(index: number): TabChangeEvent {\r\n const event = new TabChangeEvent();\r\n event.index = index;\r\n if (this._tabs && this._tabs.length) {\r\n event.tab = this._tabs[index];\r\n this._tabs.forEach((item, i) => {\r\n if (i !== index) {\r\n item.pgDeselect.emit();\r\n }\r\n });\r\n event.tab.pgSelect.emit();\r\n }\r\n return event;\r\n }\r\n\r\n get inkBarAnimated(): boolean {\r\n return this.Animated === true || (this.Animated as AnimatedInterface).inkBar === true;\r\n }\r\n\r\n get tabPaneAnimated(): boolean {\r\n return this.Animated === true || (this.Animated as AnimatedInterface).tabPane === true;\r\n }\r\n\r\n constructor(private _renderer: Renderer2) {}\r\n}\r\n","<div class=\"tab-wrapper tab-{{ _tabPositionMode }} {{ _tabPosition }} {{ _type }} {{ _extra_tab_class }}\" #hostContent>\r\n <mefdev-tabs-nav\r\n #tabNav\r\n [Size]=\"Size\"\r\n [Type]=\"Type\"\r\n [ShowPagination]=\"ShowPagination\"\r\n [PositionMode]=\"_tabPositionMode\"\r\n [Position]=\"_tabPosition\"\r\n [Animated]=\"inkBarAnimated\"\r\n [HideBar]=\"Hide\"\r\n [selectedIndex]=\"SelectedIndex\"\r\n >\r\n <ng-template #tabBarExtraContent>\r\n <ng-template [ngTemplateOutlet]=\"TabBarExtraTemplate || TabBarExtraContent\"></ng-template>\r\n </ng-template>\r\n <li pg-tab-label [disabled]=\"tab.disabled\" (click)=\"clickLabel(i)\" *ngFor=\"let tab of _tabs; let i = index\">\r\n <a href=\"javascript:void(0);\" class=\"\" [class.active]=\"SelectedIndex == i && !Hide\">\r\n <ng-template [ngTemplateOutlet]=\"tab._tabHeading\"></ng-template>\r\n </a>\r\n </mefdev-tabs-nav>\r\n <div class=\"tab-content-wrapper {{ _extra_tabcontent_class }}\">\r\n <div\r\n class=\"tab-content {{ _tabAnimation }}\"\r\n #tabContent\r\n [class.animated]=\"tabPaneAnimated\"\r\n [class.not-animated]=\"!tabPaneAnimated\"\r\n [style.margin-left.%]=\"tabPaneAnimated && -(SelectedIndex ?? -1) * 100\"\r\n >\r\n <mefdev-tab-body\r\n class=\"tab-pane\"\r\n [class.active]=\"SelectedIndex == i && !Hide\"\r\n [class.inactive]=\"SelectedIndex != i || Hide\"\r\n [content]=\"tab.content\"\r\n *ngFor=\"let tab of _tabs; let i = index\"\r\n >\r\n </mefdev-tab-body>\r\n </div>\r\n </div>\r\n </div>","import {\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { toBoolean } from '../util/convert';\r\nimport { MefDevTabSetComponent } from './tabset.component';\r\n\r\n@Component({\r\n selector: 'mefdev-tab',\r\n templateUrl:\"./tab.component.html\" ,\r\n styles: [],\r\n host: {\r\n '[class.ant-tabs-tabpane]': 'true'\r\n }\r\n})\r\nexport class MefDevTabComponent implements OnDestroy, OnInit {\r\n private disabled = false;\r\n\r\n position: number | null = null;\r\n origin: number | null = null;\r\n\r\n /**\r\n * Sets the disabled state of the tab.\r\n *```html\r\n * <mefdev-tab [Disabled]=\"true\"></mefdev-tab>\r\n * ```\r\n */\r\n @Input()\r\n set Disabled(value: boolean) {\r\n this.disabled = toBoolean(value);\r\n }\r\n\r\n /**\r\n * Gets the disabled state of the tab.\r\n */\r\n get Disabled(): boolean {\r\n return this.disabled;\r\n }\r\n\r\n /**\r\n * Event emitted when the tab is selected.\r\n *```html\r\n * <mefdev-tab (pgSelect)=\"onTabSelect()\"></mefdev-tab>\r\n * ```\r\n */\r\n @Output() pgSelect = new EventEmitter();\r\n\r\n /**\r\n * Event emitted when the tab is clicked.\r\n *```html\r\n * <mefdev-tab (pgClick)=\"onTabClick()\"></mefdev-tab>\r\n * ```\r\n */\r\n @Output() pgClick = new EventEmitter();\r\n\r\n /**\r\n * Event emitted when the tab is deselected.\r\n *```html\r\n * <mefdev-tab (pgDeselect)=\"onTabDeselect()\"></mefdev-tab>\r\n *```\r\n */\r\n @Output() pgDeselect = new EventEmitter();\r\n\r\n /**\r\n * Reference to the template for the tab heading.\r\n */\r\n @ContentChild('TabHeading', { static: true }) _tabHeading: TemplateRef<void>;\r\n\r\n /**\r\n * Reference to the template for the tab content.\r\n */\r\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<void>;\r\n\r\n /**\r\n * Gets the template for the tab content.\r\n *```html\r\n * <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n *```\r\n */\r\n get content(): TemplateRef<void> | null {\r\n return this._content;\r\n }\r\n\r\n constructor(private MefDevTabSetComponent: MefDevTabSetComponent) {}\r\n\r\n /**\r\n * Initializes the tab component.\r\n */\r\n ngOnInit(): void {\r\n this.MefDevTabSetComponent._tabs.push(this);\r\n }\r\n\r\n /**\r\n * Cleans up resources when the tab component is destroyed.\r\n */\r\n ngOnDestroy(): void {\r\n // Remove the tab from the parent tabset component when destroyed\r\n this.MefDevTabSetComponent._tabs.splice(this.MefDevTabSetComponent._tabs.indexOf(this), 1);\r\n }\r\n}\r\n","<ng-template>\r\n <ng-content></ng-content>\r\n </ng-template>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MefDevTabBodyComponent } from './tab-body.component';\r\nimport { MefDevTabLabelDirective } from './tab-label.directive';\r\nimport { MefDevTabComponent } from './tab.component';\r\nimport { MefDevTabsInkBarDirective } from './tabs-ink-bar.directive';\r\nimport { MefDevTabsNavComponent } from './tabs-nav.component';\r\nimport { MefDevTabSetComponent } from './tabset.component';\r\n\r\n@NgModule({\r\n declarations: [MefDevTabComponent, MefDevTabSetComponent, MefDevTabsNavComponent, MefDevTabLabelDirective, MefDevTabsInkBarDirective, MefDevTabBodyComponent],\r\n exports: [MefDevTabComponent, MefDevTabSetComponent, MefDevTabsNavComponent, MefDevTabLabelDirective, MefDevTabsInkBarDirective, MefDevTabBodyComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class MefDevTabsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CollapseSetComponent","i2","i1.FilteredFieldService","i3.FilteredFieldItemComponent","i2.MefDevProgressComponent","i1","i3.pgCard","i1.MefDevSelectComponent","i2.SlideRightComponent","observableOf","i2.MefDevTabsInkBarDirective","i2.MefDevTabsNavComponent","i3.MefDevTabLabelDirective","i4.MefDevTabBodyComponent","i1.MefDevTabSetComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"natec-mef-dev-ui-kit.mjs","sources":["../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse-set/collapse-set.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse-set/collapse-set.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse/collapse.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse/collapse.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/collapse/collapse.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field.service.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-item/filtered-field-item.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-item/filtered-field-item.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-container/filtered-field-container.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field-container/filtered-field-container.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtered-field.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/filtered-field/filtred-item.model.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/help-block/help-block.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/help-block/help-block.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/utils/help-block/hepl-block.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/card/card.components.ts","../../../projects/ui-kit-lib/src/lib/pg-components/card/card.components.html","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card/card.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card/card.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-long/cart-type-colors.enum.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-long/card-long.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-long/card-long.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-simple/card-simple.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card-simple/card-simple.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/util/convert.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/option.pipe.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/select.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/select.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/select/option.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/select/option.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/select/select.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.config.ts","../../../projects/ui-kit-lib/src/lib/pg-components/progress/progress.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/card/card.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/card/card.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/fill/fill.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/fill/fill.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-up/slide-up.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-up/slide-up.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-right/slide-right.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/slide-right/slide-right.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/right-filter/right-filter.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/right-filter/right-filter.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/modals/markup-kit.module.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/profile/profile.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/profile/profile.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page/central-page.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page/central-page.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page-row/central-page-row.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/central-page-row/central-page-row.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/table-page/table-page.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/table-page/table-page.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/manage-page/manage-page.component.ts","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/manage-page/manage-page.component.html","../../../projects/ui-kit-lib/src/lib/markup-kit/page-layouts/page-layouts.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/spec-flow-test/spec-flow-test/spec-flow-test.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/spec-flow-test/spec-flow-test/spec-flow-test.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/spec-flow-test/spec-flow-test.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/switch/switch.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/switch/switch.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/switch/switch.module.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab-body.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab-body.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab-label.directive.ts","../../../projects/ui-kit-lib/src/lib/pg-components/util/request-animation.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs-ink-bar.directive.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs-nav.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs-nav.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabset.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabset.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab.component.ts","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tab.component.html","../../../projects/ui-kit-lib/src/lib/pg-components/tabs/tabs.module.ts","../../../projects/ui-kit-lib/src/natec-mef-dev-ui-kit.ts"],"sourcesContent":["import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CollapseComponent } from '../collapse/collapse.component';\r\n\r\n\r\n/**\r\n* Component representing a set of collapsible panels.\r\n*\r\n* Example of usage:\r\n*\r\n*```\r\n* <mefdev-collapse-set [Accordion]=\"true\" [Horizontal]=\"true\" [expandAny]=\"false\">\r\n* <mefdev-collapse [Disabled]=\"false\" [Active]=\"true\">\r\n* <!-- Content for the collapse panel -->\r\n* <h3>Panel 1</h3>\r\n* <p>Panel 1 content...</p>\r\n* </mefdev-collapse>\r\n\r\n* <mefdev-collapse [Disabled]=\"false\" [Active]=\"false\">\r\n* <!-- Content for the collapse panel -->\r\n* <h3>Panel 2</h3>\r\n* <p>Panel 2 content...</p>\r\n* </mefdev-collapse>\r\n\r\n* <mefdev-collapse [Disabled]=\"false\" [Active]=\"false\">\r\n* <!-- Content for the collapse panel -->\r\n* <h3>Panel 3</h3>\r\n* <p>Panel 3 content...</p>\r\n* </mefdev-collapse>\r\n* </mefdev-collapse-set>\r\n*```\r\n*/\r\n@Component({\r\n selector: 'mefdev-collapse-set',\r\n templateUrl: './collapse-set.component.html',\r\n styleUrls: ['./collapse-set.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CollapseSetComponent {\r\n \r\n private _accordion = false;\r\n private _horizontal = true;\r\n private _expandAny = true;\r\n panels: CollapseComponent[] = [];\r\n\r\n /**\r\n * Indicates whether multiple panels can be expanded simultaneously.\r\n * Set this to `true` to allow multiple panels to be expanded. Defaults to `false`.\r\n */\r\n @Input()\r\n set expandAny(value: boolean) {\r\n this._accordion = value;\r\n }\r\n\r\n get expandAny(): boolean {\r\n return this._accordion;\r\n }\r\n\r\n /**\r\n * Indicates whether the collapse set operates as an accordion.\r\n * Set this to `true` to enable accordion behavior. Defaults to `false`.\r\n */\r\n @Input()\r\n set Accordion(value: boolean) {\r\n this._accordion = value;\r\n }\r\n\r\n get Accordion(): boolean {\r\n return this._accordion;\r\n }\r\n\r\n /**\r\n * Indicates whether the collapse set is displayed horizontally or vertically.\r\n * Set this to `true` for horizontal display and `false` for vertical display. Defaults to `true`.\r\n */\r\n @Input()\r\n set Horizontal(value: boolean) {\r\n this._horizontal = value;\r\n }\r\n\r\n get Horizontal(): boolean {\r\n return this._horizontal;\r\n }\r\n\r\n /**\r\n * Event handler for the click event on a collapse panel.\r\n * Closes other panels if the collapse set is an accordion and does not allow multiple expansions.\r\n *\r\n * @param collapse The clicked collapse component.\r\n */\r\n pgClick(collapse: CollapseComponent): void {\r\n if (this.Accordion && !this.expandAny) {\r\n this.panels.map((item, index) => {\r\n const curIndex = this.panels.indexOf(collapse);\r\n if (index !== curIndex) {\r\n item.Active = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Adds a collapse panel to the collapse set.\r\n *\r\n * @param collapse The collapse component to be added.\r\n */\r\n addTab(collapse: CollapseComponent): void {\r\n this.panels.push(collapse);\r\n }\r\n}\r\n","<div class=\"card-group\" [class.horizontal]=\"Horizontal\">\r\n <ng-content></ng-content>\r\n</div>","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ContentChild, ElementRef, EventEmitter, Host, HostBinding, Input, Output, TemplateRef } from '@angular/core';\r\nimport { CollapseSetComponent } from '../collapse-set/collapse-set.component';\r\n\r\n\r\n/**\r\n * Component for displaying a collapsible content.\r\n *\r\n *\r\n * Example of usage:\r\n *```\r\n * <mefdev-collapse [Disabled]=\"false\" [Active]=\"true\" (stateChange)=\"onStateChange($event)\">\r\n * <ng-template #CardTitle>\r\n * <!-- Content for the card title -->\r\n * <h3>Card Title</h3>\r\n * </ng-template>\r\n * \r\n * <!-- Content for the collapsible section -->\r\n * <div>\r\n Content inside collapse\r\n * </div>\r\n * </mefdev-collapse>\r\n *\r\n *```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/collapse/collapse</example-url>\r\n\r\n */\r\n@Component({\r\n selector: 'mefdev-collapse',\r\n templateUrl: './collapse.component.html',\r\n styleUrls: ['./collapse.component.scss'],\r\n animations: [\r\n trigger('collapseState', [\r\n state(\r\n 'inactive',\r\n style({\r\n opacity: '0',\r\n height: 0\r\n })\r\n ),\r\n state(\r\n 'active',\r\n style({\r\n opacity: '1',\r\n height: '*'\r\n })\r\n ),\r\n transition('inactive => active', animate('125ms ease-in')),\r\n transition('active => inactive', animate('125ms ease-out'))\r\n ])\r\n ],\r\n host: {\r\n '[class.card]': 'true',\r\n '[class.card-default]': 'true',\r\n '[class.m-b-0]': 'true'\r\n }\r\n})\r\nexport class CollapseComponent {\r\n\r\n private _disabled = false;\r\n _active = false;\r\n _el;\r\n\r\n /**\r\n * ContentChild for the template of the card title.\r\n *\r\n * Example:\r\n * ```\r\n * <ng-template #CardTitle>\r\n * <h3>Card Title</h3>\r\n * </ng-template>\r\n * ```\r\n */\r\n @ContentChild(\"CardTitle\") CardTitle: TemplateRef<void>;\r\n\r\n /**\r\n * Indicates whether the collapse is disabled.\r\n * Set this to `true` to disable the collapse. Defaults to `false`.\r\n */\r\n @Input()\r\n @HostBinding('class.disabled')\r\n set Disabled(value: boolean) {\r\n this._disabled = value;\r\n }\r\n\r\n get Disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n /**\r\n * Indicates whether the collapse is active or not.\r\n */\r\n @Input()\r\n set Active(value: boolean) {\r\n const active = value;\r\n if (this._active === active) {\r\n return;\r\n }\r\n if (!this.Disabled) {\r\n this._active = active;\r\n }\r\n }\r\n \r\n get Active(): boolean {\r\n return this._active;\r\n }\r\n\r\n /**\r\n * Event emitter for the state change of the collapse.\r\n * Emits a boolean value indicating whether the collapse is active or not.\r\n *\r\n * Example:\r\n * ```\r\n * <mefdev-collapse (stateChange)=\"onStateChange($event)\"></mefdev-collapse>\r\n * ```\r\n */\r\n @Output() stateChange = new EventEmitter<boolean>();\r\n\r\n /**\r\n * Event handler for the header click event.\r\n * Toggles the active state of the collapse and emits the state change event.\r\n *\r\n * @param $event The mouse event object.\r\n */\r\n clickHeader($event: MouseEvent): void {\r\n this.Active = !this.Active;\r\n this.stateChange.next(this.Active);\r\n /** trigger host collapseSet click event */\r\n this._collapseSet.pgClick(this);\r\n }\r\n\r\n constructor(@Host() private _collapseSet: CollapseSetComponent, private _elementRef: ElementRef) {\r\n this._el = this._elementRef.nativeElement;\r\n this._collapseSet.addTab(this);\r\n }\r\n}\r\n","<div class=\"row mt-2 card-title\" [attr.aria-expanded]=\"_active\" (click)=\"clickHeader($event)\" role=\"tab\"\r\nhref=\"javascript:;\" [ngClass]=\"{'collapsed':!_active}\">\r\n <div class=\"col\">\r\n <ng-template [ngTemplateOutlet]=\"CardTitle\"></ng-template>\r\n </div>\r\n <div class=\"col\">\r\n <i class=\"fa fa-angle-down float-end \" aria-hidden=\"true\" *ngIf=\"!_active\"></i>\r\n <i class=\"fa fa-angle-up float-end \" aria-hidden=\"true\" *ngIf=\"_active\"></i>\r\n </div>\r\n</div>\r\n\r\n<div class=\"collapse\" [ngClass]=\"{'show':true,'active':_active,'inactive':!_active}\" [@collapseState]=\"_active?'active':'inactive'\">\r\n <div *ngIf=\"_active\" \r\n class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule,ModuleWithProviders } from '@angular/core';\r\nimport { CollapseSetComponent } from './collapse-set/collapse-set.component';\r\nimport { CollapseComponent } from './collapse/collapse.component';\r\n\r\nexport const mefDevCollapseModuleComponents = [CollapseSetComponent, CollapseComponent];\r\n\r\n@NgModule({\r\n declarations: mefDevCollapseModuleComponents,\r\n exports : mefDevCollapseModuleComponents,\r\n imports : [ CommonModule ]\r\n})\r\n\r\nexport class MefDevCollapseModule {\r\n static forRoot(): ModuleWithProviders<MefDevCollapseModule> {\r\n return {\r\n ngModule: MefDevCollapseModule\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { FiltredItemModel } from './filtred-item.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FilteredFieldService {\r\n\r\n private newFilterItem: Subject<FiltredItemModel> = new Subject<FiltredItemModel>();\r\n private openFilter: Subject<FiltredItemModel> = new Subject<FiltredItemModel>();\r\n\r\n constructor() {}\r\n\r\n /**\r\n * Returns an observable that emits the open filter events.\r\n */\r\n public getOpenFilter(): Observable<FiltredItemModel>{\r\n return this.openFilter;\r\n }\r\n\r\n /**\r\n * Sends an open filter event with the specified item.\r\n * @param item The filtered item model.\r\n */\r\n public sendOpenFilter(item: FiltredItemModel){\r\n this.openFilter.next(item);\r\n }\r\n\r\n /**\r\n * Returns an observable that emits the new filter item events.\r\n */\r\n public getNewFilterItem(): Observable<FiltredItemModel>{\r\n return this.newFilterItem;\r\n }\r\n\r\n /**\r\n * Sends a new filter item event with the specified item.\r\n * @param item The filtered item model.\r\n */\r\n public sendNewFilterItem(item: FiltredItemModel){\r\n this.newFilterItem.next(item);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FiltredItemModel } from '../filtred-item.model';\r\n\r\n/**\r\n * Component representing a filtered field item.\r\n * \r\n * Example of usage:\r\n * ```\r\n * <mefdev-filtered-field-item [item]=\"filterItem\" (discard)=\"onDiscardFilter($event)\" (openFilter)=\"onOpenFilter()\">\r\n * </mefdev-filtered-field-item>\r\n *``` \r\n *\r\n*/\r\n@Component({\r\n selector: 'mefdev-filtered-field-item',\r\n templateUrl: './filtered-field-item.component.html',\r\n styleUrls: ['./filtered-field-item.component.scss']\r\n})\r\nexport class FilteredFieldItemComponent implements OnInit {\r\n\r\n /**\r\n * The filtered item model.\r\n * ```\r\n * <mefdev-filtered-field-item [item]=\"filterItem\">\r\n * Content goes here...\r\n * </mefdev-filtered-field-item>\r\n * ```\r\n */\r\n @Input() item: FiltredItemModel;\r\n\r\n /**\r\n * Event emitted when the filter is discarded.\r\n * ```\r\n * <mefdev-filtered-field-item (discard)=\"onDiscardFilter($event)\">\r\n * Content goes here...\r\n * </mefdev-filtered-field-item>\r\n * ```\r\n */\r\n @Output() discard = new EventEmitter<FiltredItemModel>();\r\n\r\n /**\r\n * Event emitted when the filter is opened.\r\n * ```\r\n * <mefdev-filtered-field-item (openFilter)=\"onOpenFilter()\">\r\n * Content goes here...\r\n * </mefdev-filtered-field-item>\r\n * ```\r\n */\r\n @Output() openFilter = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n \r\n /**\r\n * Event handler for opening the filter.\r\n * Emits the `openFilter` event.\r\n */\r\n onOpenFilter(){\r\n this.openFilter.next({});\r\n }\r\n\r\n\r\n /**\r\n * Event handler for discarding the filter.\r\n * Emits the `discard` event with the `item` as the payload.\r\n */\r\n onDiscard(){\r\n this.discard.next(this.item);\r\n }\r\n\r\n}\r\n","<div class=\"item\">\r\n <i class=\"fa fa-times\" (click)=\"onDiscard()\" style=\"margin-right: 3px; cursor: pointer;\"></i> \r\n <span (click)=\"onOpenFilter()\">{{item.newValue}}</span>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FilteredFieldService } from '../filtered-field.service';\r\nimport { FiltredItemModel } from '../filtred-item.model';\r\n\r\n /**\r\n * A container component for filtered fields.\r\n *\r\n * Example of usage:\r\n * ```\r\n * <mefdev-filtered-field-container>\r\n * \r\n * <mefdev-filtered-field-item [item]=\"filterItem\" (discard)=\"onDiscardFilter($event)\" (openFilter)=\"onOpenFilter()\">\r\n * </mefdev-filtered-field-item>\r\n *\r\n * </mefdev-filtered-field-container>\r\n * ```\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/utils/filtered-field</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-filtered-field-container',\r\n templateUrl: './filtered-field-container.component.html',\r\n styleUrls: ['./filtered-field-container.component.scss']\r\n})\r\nexport class FilteredFieldContainerComponent implements OnInit {\r\n\r\n /**\r\n * An array of filtered item models.\r\n */\r\n items: FiltredItemModel[] = [];\r\n\r\n constructor(\r\n private service: FilteredFieldService\r\n ) { }\r\n\r\n /**\r\n * Event handler for opening the filter.\r\n *\r\n * @param item The filtered item model.\r\n */\r\n onOpenFilter(item: FiltredItemModel){\r\n this.service.sendOpenFilter(item);\r\n }\r\n\r\n /**\r\n * Event handler for discarding the filter.\r\n *\r\n * @param item The filtered item model.\r\n */\r\n onDiscard(item: FiltredItemModel){\r\n item.discard(item.standartValue);\r\n this.items.splice(this.items.findIndex(x => x.id == item.id), 1);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.service.getNewFilterItem().subscribe(item => {\r\n let i = this.items.findIndex(x => x.id == item.id)\r\n\r\n if(i != -1 && item.newValue == item.standartValue){\r\n this.items[i] = item;\r\n this.items.splice(i, 1);\r\n return;\r\n }\r\n\r\n if(i == -1 && (item.newValue == item.standartValue || item.newValue == '') ){\r\n return;\r\n }\r\n\r\n if(i != -1){\r\n this.items[i] = item;\r\n return;\r\n }\r\n\r\n this.items.push(item);\r\n\r\n })\r\n }\r\n}\r\n","<div class=\"item-container\">\r\n <mefdev-filtered-field-item *ngFor=\"let item of items\" [item]=\"item\" (discard)=\"onDiscard(item)\" (openFilter)=\"onOpenFilter(item)\"></mefdev-filtered-field-item>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FilteredFieldContainerComponent } from './filtered-field-container/filtered-field-container.component';\r\nimport { FilteredFieldItemComponent } from './filtered-field-item/filtered-field-item.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n FilteredFieldContainerComponent,\r\n FilteredFieldItemComponent,\r\n ],\r\n exports:[\r\n FilteredFieldItemComponent,\r\n FilteredFieldContainerComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class MefDevFilteredFieldModule { }\r\n","export class FiltredItemModel{\r\n\r\n\r\n constructor(id:string, newValue: string, standartValue: string, discard: (standartValue: string) => any){\r\n this.id = id;\r\n this.newValue = newValue;\r\n this.standartValue = standartValue;\r\n this.discard = discard;\r\n }\r\n\r\n id:string;\r\n newValue: string;\r\n standartValue: string;\r\n discard: (standartValue: string) => any;\r\n}","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition,\r\n} from '@angular/animations';\r\n\r\n\r\n /**\r\n * A component representing a help block with smooth expand animation.\r\n *\r\n * Example of usage:\r\n *```\r\n * <mefdev-help-block [title]=\"'Help'\">\r\n * Content goes here...\r\n * <ng-content></ng-content>\r\n * </mefdev-help-block>\r\n *```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/utils/help-block</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-help-block',\r\n templateUrl: './help-block.component.html',\r\n styleUrls: ['./help-block.component.scss'],\r\n animations:[\r\n trigger('smothExpand',[\r\n state('close', style({\r\n height: '0',\r\n margin: '0',\r\n padding: '0',\r\n opacity: '0',\r\n visibility: 'hidden',\r\n })),\r\n state('open', style({})),\r\n transition('close<=>open', animate(200))\r\n ])\r\n ]\r\n})\r\nexport class HelpBlockComponent implements OnInit {\r\n\r\n /**\r\n * Indicates whether the help block is visible.\r\n */\r\n isVisible:boolean = true;\r\n\r\n /**\r\n * Indicates whether the help block is expanded.\r\n */\r\n expanded:boolean = false;\r\n\r\n\r\n /**\r\n * The title of the help block.\r\n *```\r\n * <mefdev-help-block [title]=\"'Help Block'\">\r\n * Content goes here...\r\n * </mefdev-help-block>\r\n *```\r\n */\r\n @Input('title') title:string = \"Help\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"card-simple\" *ngIf=\"isVisible\">\r\n <div class=\"row m-1 body-1\" (click)=\"expanded = !expanded\" style=\"cursor: pointer;\">\r\n <div class=\"col-10\" style=\"color: white;\">\r\n {{ title }}\r\n </div>\r\n <div class=\"col-2\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\" style=\"float: right; margin-left: 20px;\" (click)=\"isVisible = !isVisible;\"></i>\r\n \r\n <i class=\"fa fa-angle-down \" *ngIf=\"!expanded\" aria-hidden=\"true\" style=\"float: right;\"></i>\r\n <i class=\"fa fa-angle-up\" *ngIf=\"expanded\" aria-hidden=\"true\" style=\"float: right;\"></i> \r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body row\" [@smothExpand]=\"expanded ? 'open' : 'close'\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HelpBlockComponent } from './help-block.component';\r\nimport { MefDevCollapseModule } from '../../collapse/collapse.module';\r\n\r\n@NgModule({\r\n declarations: [HelpBlockComponent],\r\n exports: [HelpBlockComponent],\r\n imports: [\r\n CommonModule,\r\n MefDevCollapseModule\r\n ]\r\n})\r\nexport class MefDevHelpBlockModule { }\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n/**\r\n * Component representing a progress bar.\r\n * \r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-progress type=\"linear\" color=\"blue\" [thick]=\"true\"></mefdev-progress>\r\n * <mefdev-progress type=\"circle\" color=\"red\" [indeterminate]=\"true\"></mefdev-progress>\r\n * ```\r\n */\r\n@Component({\r\n selector: \"mefdev-progress\",\r\n templateUrl: \"./progress.component.html\"\r\n})\r\nexport class MefDevProgressComponent {\r\n _value: number;\r\n _value2: any;\r\n\r\n /**\r\n * The type of progress bar.\r\n * Possible values: \"linear\" | \"circle\".\r\n * Default value: \"linear\".\r\n */\r\n @Input() type: string;\r\n\r\n /**\r\n * The color of the progress bar.\r\n * Possible values: any valid CSS color value.\r\n * Default value: none.\r\n */\r\n\r\n @Input() color: string;\r\n\r\n /**\r\n * Determines whether the progress bar is thick.\r\n * Default value: false.\r\n */\r\n @Input() thick: boolean;\r\n\r\n /**\r\n * Determines whether the progress bar is indeterminate.\r\n * Default value: false.\r\n */\r\n @Input() indeterminate: boolean;\r\n\r\n\r\n /**\r\n * The value of the progress bar.\r\n * For the \"circle\" type, it should be a number between 0 and 100.\r\n */\r\n @Input() set value(value: number) {\r\n if (this.type == \"circle\") {\r\n this._value = (value / 100) * 360;\r\n if (this.value >= 50) {\r\n this._value2 = true;\r\n }\r\n } else this._value = value;\r\n }\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n /**\r\n * Additional value property.\r\n */\r\n get value2() {\r\n return this._value2;\r\n }\r\n constructor() {}\r\n}\r\n","<div *ngIf=\"type === 'bar'; else circleBlock\">\r\n <div *ngIf=\"indeterminate; else determineBarBlock\">\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar-{{ color }}\" [class.progress-bar-indeterminate]=\"indeterminate\"></div>\r\n </div>\r\n </div>\r\n <ng-template #determineBarBlock>\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar progress-bar-{{ color }}\" [ngStyle]=\"{ width: value + '%' }\"></div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<ng-template #circleBlock>\r\n <div class=\"progress-circle-{{ color }}\" [class.progress-circle-indeterminate]=\"indeterminate\"\r\n [class.progress-circle]=\"!indeterminate\" [class.progress-circle-thick]=\"thick\">\r\n <div *ngIf=\"indeterminate; else determineBlock\"></div>\r\n <ng-template #determineBlock>\r\n <div class=\"pie\" [ngStyle]=\"_value2 && { clip: 'rect(auto, auto, auto, auto)' }\">\r\n <div class=\"left-side half-circle\" [ngStyle]=\"_value2 && { transform: 'rotate(' + value + 'deg)' }\"></div>\r\n <div class=\"right-side half-circle\" [ngStyle]=\"{\r\n transform:\r\n _value2 === true ? 'rotate(180deg)' : 'rotate(' + value + 'deg)'\r\n }\"></div>\r\n </div>\r\n <div class=\"shadow\"></div>\r\n </ng-template>\r\n </div>\r\n</ng-template>","import {\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n TemplateRef,\r\n ContentChild,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger\r\n} from \"@angular/animations\";\r\n\r\n/**\r\n * Component representing a custom card.\r\n * It provides various styling and animation options for the card layout.\r\n *\r\n * Example usage:\r\n * ```\r\n * <pgcard [Title]=\"'Card Title'\" [Type]=\"'default'\" [MinimalHeader]=\"false\" [ProgressType]=\"'circle'\">\r\n * Card content goes here...\r\n * </pgcard>\r\n * ```\r\n */\r\n@Component({\r\n selector: \"pgcard\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./card.components.html\",\r\n animations: [\r\n trigger(\"collapseState\", [\r\n state(\r\n \"inactive\",\r\n style({\r\n opacity: \"0\",\r\n height: 0,\r\n paddingBottom: \"0\"\r\n })\r\n ),\r\n state(\r\n \"active\",\r\n style({\r\n opacity: \"1\",\r\n height: \"*\",\r\n paddingBottom: \"*\"\r\n })\r\n ),\r\n transition(\"inactive => active\", animate(\"125ms ease-in\")),\r\n transition(\"active => inactive\", animate(\"125ms ease-out\"))\r\n ]),\r\n trigger(\"fadeAnimation\", [\r\n state(\r\n \"false\",\r\n style({\r\n opacity: \"0\",\r\n visibility: \"hidden\"\r\n })\r\n ),\r\n state(\r\n \"true\",\r\n style({\r\n opacity: \"1\",\r\n visibility: \"visible\"\r\n })\r\n ),\r\n transition(\"false => true\", animate(\"500ms ease-in\")),\r\n transition(\"true => false\", animate(\"500ms ease-out\"))\r\n ])\r\n ]\r\n})\r\nexport class pgCard {\r\n /**\r\n * Indicates whether the card is collapsed or not.\r\n * Default: false\r\n */\r\n _isCollapsed: boolean = false;\r\n\r\n /**\r\n * Indicates whether the card is maximized or not.\r\n * Default: false\r\n */\r\n _isMaximixed: boolean = false;\r\n\r\n /**\r\n * Indicates whether the card is in loading state or not.\r\n * Default: false\r\n */\r\n _isLoading: boolean = false;\r\n\r\n /**\r\n * Indicates whether the card has a minimal header or not.\r\n * Default: false\r\n */\r\n _minimalHeader: boolean = false;\r\n\r\n /**\r\n * The message to be displayed in the card.\r\n */\r\n _message: string = \"\";\r\n\r\n /**\r\n * The type of message to be displayed in the card (e.g., success, danger, warning).\r\n * Default: \"danger\"\r\n */\r\n _messageType: string = \"danger\";\r\n\r\n /**\r\n * Indicates whether the message in the card is visible or not.\r\n * Default: false\r\n */\r\n _messageVisible: boolean = false;\r\n\r\n /**\r\n * The type of progress indicator to be displayed in the card (e.g., circle, bar, none).\r\n * Default: \"circle\"\r\n */\r\n _progressType: string = \"circle\";\r\n\r\n /**\r\n * The color of the progress indicator in the card.\r\n */\r\n _progressColor: string = \"\";\r\n\r\n /**\r\n * Indicates whether the tools (e.g., refresh, close, maximize) are shown in the card header or not.\r\n * Default: true\r\n */\r\n _showTools: boolean = true;\r\n\r\n \r\n _close_card: boolean = false;\r\n _refresh: boolean = false;\r\n _refreshColor: string = \"light\";\r\n\r\n /**\r\n * Indicates whether the close button in the card is visible or not.\r\n * Default: true\r\n */\r\n _close: boolean = true;\r\n\r\n /**\r\n * Indicates whether the toggle button in the card is visible or not.\r\n * Default: true\r\n */\r\n _toggle: boolean = true;\r\n\r\n /**\r\n * Indicates whether the maximize button in the card is visible or not.\r\n * Default: true\r\n */\r\n _maximize: boolean = true;\r\n\r\n /**\r\n * The timeout value in milliseconds for the loading state of the card.\r\n * If set to 0, the loading state will not automatically turn off.\r\n * Default: 0\r\n */\r\n _timeout: number = 0;\r\n\r\n /**\r\n * The title text to be displayed in the card header.\r\n */\r\n _titleText: string = \"\";\r\n\r\n /**\r\n * The border style of the card.\r\n */\r\n _card_border_style: string = \"\";\r\n\r\n /**\r\n * The type of the card (e.g., default, bordered, minimal).\r\n * Default: \"default\"\r\n */\r\n _type: string = \"default\";\r\n\r\n\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card header.\r\n */\r\n _extraHeaderClass = \"\";\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card body.\r\n */\r\n _extraBodyClass = \"\";\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card.\r\n */\r\n _additionalClasses = \"\";\r\n\r\n /**\r\n * ViewChild reference to the host content element.\r\n */\r\n @ViewChild(\"hostContent\") _hostContent: ElementRef;\r\n /**\r\n * ViewChild reference to the minimal circle loading element.\r\n */\r\n @ViewChild(\"minimalCircleLoading\") minimalCircleLoading: ElementRef;\r\n /**\r\n * ViewChild reference to the minimal circle loading trigger element.\r\n */\r\n @ViewChild(\"minimalCircleLoadingTrigger\")\r\n minimalCircleLoadingTrigger: ElementRef;\r\n /**\r\n * ContentChild reference to the CardTitle template.\r\n */\r\n @ContentChild(\"CardTitle\") CardTitle: TemplateRef<void>;\r\n /**\r\n * ContentChild reference to the CardExtraControls template.\r\n */\r\n @ContentChild(\"CardExtraControls\") CardExtraControls: TemplateRef<void>;\r\n\r\n\r\n // Input properties\r\n\r\n /**\r\n * The title text to be displayed in the card header.\r\n */\r\n @Input()\r\n set Title(value: string) {\r\n this._titleText = value;\r\n }\r\n get Title() {\r\n return this._titleText;\r\n }\r\n\r\n /**\r\n * The type of the card (e.g., default, bordered, minimal).\r\n * Default: \"default\"\r\n */\r\n @Input()\r\n set Type(value: string) {\r\n this._type = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card has a minimal header or not.\r\n * Default: false\r\n */\r\n @Input()\r\n set MinimalHeader(value: boolean) {\r\n this._minimalHeader = value;\r\n }\r\n\r\n /**\r\n * The type of progress indicator to be displayed in the card (e.g., circle, bar, none).\r\n * Default: \"circle\"\r\n */\r\n @Input()\r\n set ProgressType(value: string) {\r\n this._progressType = value;\r\n }\r\n\r\n /**\r\n * The color of the progress indicator in the card.\r\n */\r\n @Input()\r\n set ProgressColor(value: string) {\r\n this._progressColor = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a refresh button or not.\r\n */\r\n @Input()\r\n set Refresh(value: boolean) {\r\n this._refresh = value;\r\n }\r\n\r\n /**\r\n * The color of the refresh button in the card (e.g., light, dark).\r\n * Default: \"light\"\r\n */\r\n @Input()\r\n set RefreshColor(value: string) {\r\n this._refreshColor = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a maximize button or not.\r\n */\r\n @Input()\r\n set Maximize(value: boolean) {\r\n this._maximize = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a close button or not.\r\n */\r\n @Input()\r\n set Close(value: boolean) {\r\n this._close = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the card should have a toggle button or not.\r\n */\r\n @Input()\r\n set Toggle(value: boolean) {\r\n this._toggle = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card header.\r\n */\r\n @Input()\r\n set HeaderClass(value: string) {\r\n this._extraHeaderClass = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card body.\r\n */\r\n @Input()\r\n set BodyClass(value: string) {\r\n this._extraBodyClass = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class(es) to be added to the card.\r\n */\r\n @Input()\r\n set AdditionalClasses(value: string) {\r\n this._additionalClasses = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the tools (e.g., refresh, close, maximize) are shown in the card header or not.\r\n */\r\n @Input()\r\n set Controls(value: boolean) {\r\n this._showTools = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the message in the card is visible or not.\r\n */\r\n @Input()\r\n set ShowMessage(value: boolean) {\r\n this._messageVisible = value;\r\n }\r\n\r\n /**\r\n * The message text to be displayed in the card.\r\n */\r\n @Input()\r\n set Message(value: string) {\r\n this._message = value;\r\n }\r\n\r\n /**\r\n * Indicates whether the loading indicator is shown in the card or not.\r\n */\r\n @Input()\r\n set Loading(value: boolean) {\r\n this._isLoading = value;\r\n }\r\n\r\n /**\r\n * The timeout duration for the loading indicator (in milliseconds).\r\n * If set to 0, the loading indicator will be displayed indefinitely until manually dismissed.\r\n * Default: 0\r\n */\r\n @Input()\r\n set TimeOut(value: number) {\r\n this._timeout = value;\r\n }\r\n\r\n /**\r\n * The border style of the card.\r\n */\r\n @Input()\r\n set CardBorderStyle(value: string) {\r\n this._card_border_style = value;\r\n }\r\n\r\n\r\n // Output properties\r\n\r\n /**\r\n * Event emitted when the refresh button is clicked.\r\n */\r\n @Output() onRefresh: EventEmitter<void> = new EventEmitter();\r\n\r\n // Other methods and lifecycle hooks\r\n\r\n /**\r\n * Toggles the collapsed state of the card.\r\n */\r\n toggle(): void {\r\n this._isCollapsed = this._isCollapsed === true ? false : true;\r\n }\r\n\r\n /**\r\n * Maximizes or restores the card to its original position.\r\n */\r\n maximize(): void {\r\n let nativeElement = this._hostContent.nativeElement;\r\n if (this._isMaximixed) {\r\n this._isMaximixed = false;\r\n nativeElement.style.left = null;\r\n nativeElement.style.top = null;\r\n } else {\r\n this._isMaximixed = true;\r\n let pagecontainer: Element = document.querySelector(\".content\") ?? new Element();\r\n console.log(pagecontainer);\r\n let rect = pagecontainer.getBoundingClientRect();\r\n let elementRect = nativeElement.getBoundingClientRect();\r\n let style = window.getComputedStyle(pagecontainer);\r\n\r\n nativeElement.style.left =\r\n parseFloat(style[\"marginLeft\"]) +\r\n parseFloat(style[\"paddingLeft\"]) +\r\n rect.left +\r\n \"px\";\r\n nativeElement.style.top =\r\n parseFloat(style[\"padding-top\"]) + rect.top + \"px\";\r\n }\r\n }\r\n\r\n /**\r\n * Dismisses the message in the card.\r\n */\r\n alertDismiss(): void {\r\n this._messageVisible = false;\r\n }\r\n\r\n /**\r\n * Triggers the refresh action of the card.\r\n */\r\n refresh(): void {\r\n if (!this._isLoading) {\r\n this._isLoading = true;\r\n this.onRefresh.emit();\r\n }\r\n if (this._timeout > 0) {\r\n setTimeout(() => {\r\n this._isLoading = false;\r\n }, this._timeout);\r\n }\r\n }\r\n\r\n /**\r\n * Closes the card.\r\n */\r\n close(): void {\r\n this._close_card = true;\r\n }\r\n}\r\n","<div class=\"card card-{{ _type }} {{ _additionalClasses }}\" *ngIf=\"!_close_card\" [class.card-collapsed]=\"_isCollapsed\"\r\n [class.card-maximized]=\"_isMaximixed\" #hostContent class=\"col-sm-12 col-md-6 col-lg-4\"\r\n [ngStyle]=\"{'border': _card_border_style}\">\r\n <div class=\"card-header {{ _extraHeaderClass }}\">\r\n <div class=\"card-title\">\r\n <ng-template [ngTemplateOutlet]=\"CardTitle\"></ng-template>\r\n </div>\r\n <div class=\"card-controls\" *ngIf=\"_showTools == true\">\r\n <ng-template [ngTemplateOutlet]=\"CardExtraControls\"></ng-template>\r\n <ul *ngIf=\"_minimalHeader == false; else minimalBlock\">\r\n <li *ngIf=\"_toggle == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-collapse\" (click)=\"toggle()\"><i\r\n class=\"pg pg-arrow_maximize\" [class.pg-arrow_minimize]=\"_isCollapsed\"></i></a>\r\n </li>\r\n <li *ngIf=\"_refresh == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-refresh\" (click)=\"refresh()\"><i\r\n class=\"card-icon card-icon-refresh\"></i></a>\r\n </li>\r\n <li *ngIf=\"_maximize == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-maximize\" (click)=\"maximize()\"><i\r\n class=\"card-icon card-icon-maximize\"></i></a>\r\n </li>\r\n <li *ngIf=\"_close == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-close\" (click)=\"close()\"><i\r\n class=\"card-icon card-icon-close\"></i></a>\r\n </li>\r\n </ul>\r\n <!-- <ng-template #minimalBlock>\r\n <ul>\r\n <li>\r\n <a href=\"javascript:void(0);\" (click)=\"refresh()\" class=\"card-refresh minimal\"\r\n [class.refreshing]=\"_isLoading\">\r\n <i #minimalCircleLoadingTrigger class=\"card-icon card-icon-refresh-lg-{{\r\n _refreshColor == 'light' ? 'white' : 'master'\r\n }}\" [class.fade]=\"_isLoading\"></i>\r\n <i #minimalCircleLoading class=\"card-icon-refresh-lg-white-animated\"\r\n style=\"position: absolute;top:0;left:0\" [class.active]=\"_isLoading\"\r\n [class.hide]=\"_isLoading != true\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <div class=\"card-body {{ _extraBodyClass }}\" [@collapseState]=\"_isCollapsed == true ? 'inactive' : 'active'\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"pgn-wrapper\" data-position=\"top\">\r\n <div class=\"pgn pgn-bar push-on-sidebar-open\">\r\n <div class=\"alert alert-danger\">\r\n <span>{{ _message }}</span><button class=\"close\" (click)=\"alertDismiss()\" type=\"button\">\r\n <span aria-hidden=\"true\">×</span><span class=\"sr-only\">{{ 'Close' }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\" display: block;\"></div>\r\n <div [@fadeAnimation]=\"_isLoading\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\"display: block;pointer-events: none\">\r\n <mefdev-progress *ngIf=\"_minimalHeader == false\" type=\"{{ _progressType }}\" color=\"{{ _progressColor }}\"\r\n indeterminate=\"true\" class=\"\"></mefdev-progress>\r\n </div>\r\n</div>","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n/**\r\n * Component for displaying a card with a title, image, and description.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-card>\r\n * <ng-template #card_title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * <ng-template #card_footer>\r\n * <!-- Content for the card footer -->\r\n * </ng-template>\r\n * </mefdev-card>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/card</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-card',\r\n templateUrl: './card.component.html',\r\n styleUrls: ['./card.component.scss']\r\n})\r\nexport class CardComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the content of the card title.\r\n *\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card>\r\n * <ng-template #card_title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * </mefdev-card>\r\n * ```\r\n */\r\n @ContentChild(\"card_title\") card_title: TemplateRef<void>; \r\n\r\n /**\r\n * The template reference to the content of the card footer.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card>\r\n * <ng-template #card_footer>\r\n * <!-- Content for the card footer -->\r\n * </ng-template>\r\n * </mefdev-card>\r\n * ```\r\n */\r\n @ContentChild(\"card_footer\") card_footer: TemplateRef<void>;\r\n\r\n /**\r\n * The type of the card.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [card_type] = \"'type'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() card_type: string;\r\n\r\n /**\r\n * The path to the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [img] = \"'img/path/img.png'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() img: string;\r\n\r\n /**\r\n * The path, where user goes after click at the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [imgUrl] = \"'Img.url'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() imgUrl: string;\r\n\r\n /**\r\n * The description of the card.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card [description] = \"'description'\"></mefdev-card>\r\n * ```\r\n */\r\n @Input() description: string;\r\n\r\n\r\n constructor(\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Event handler for image click.\r\n * Navigates to the specified URL.\r\n */\r\n public imgClick(){\r\n this.router.navigate(['/', this.imgUrl.toString()])\r\n }\r\n\r\n}\r\n","\r\n <pgcard\r\n MinimalHeader=\"true\"\r\n TimeOut=\"2500\"\r\n [Refresh]=\"false\"\r\n [Close]=\"false\">\r\n\r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title body-1\" [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </ng-template>\r\n\r\n <div class=\"plugin-type\">\r\n {{ card_type }}\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"m-l-2 card-description\">\r\n <div *ngIf=\"!description || description == ''\" class=\"card-no-description\"> {{'No plugin description'}}</div>\r\n <p>\r\n {{description}}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mt-3 text-center card-img\"\r\n [ngStyle]=\"{'background-color': img ? 'transparent' : '#fff'}\">\r\n <div *ngIf=\"!img || img == ''\" >\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\" >\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n style=\"max-width: 260px; max-height: 150px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"row mb-3 mt-3\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_footer\"></ng-template>\r\n </div>\r\n </div>\r\n </pgcard>\r\n","export enum CartTypeColors {\r\n UNSET = 'UNSET',\r\n RED = 'RED',\r\n GREEN = 'GREEN'\r\n }","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CartTypeColors } from './cart-type-colors.enum';\r\n\r\n /**\r\n * Component for displaying a long card with a title, parameters, and description.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <medev-card-long\r\n * [type_text]=\"'Type Text'\"\r\n * [type_color]=\"CartTypeColors.RED\"\r\n * [img]=\"'path/to/image.jpg'\"\r\n * [imgUrl]=\"'path/to/image'\"\r\n * [description]=\"'Card description'\">\r\n * \r\n * <ng-template #title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n\r\n * <ng-template #params>\r\n * <!-- Content for the card parameters -->\r\n * </ng-template>\r\n\r\n * <ng-template #second_col>\r\n * <!-- Content for the second column -->\r\n * </ng-template>\r\n \r\n * <ng-template #third_col>\r\n * <!-- Content for the third column -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/card/card-long</example-url>\r\n */\r\n\r\n@Component({\r\n selector: 'medev-card-long',\r\n templateUrl: './card-long.component.html',\r\n styleUrls: ['./card-long.component.scss']\r\n})\r\nexport class CardLongComponent implements OnInit {\r\n\r\n /**\r\n * Template for displaying the title of the card.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"title\") title: TemplateRef<void>;\r\n\r\n /**\r\n * Template for displaying the parameters of the card.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #params>\r\n * <!-- Content for the card params -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"params\") params: TemplateRef<void>; \r\n\r\n /**\r\n * Template for displaying the content of the second column.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #second_col>\r\n * <!-- Content for the card second column -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"second_col\") second_col: TemplateRef<void>;\r\n\r\n /**\r\n * Template for displaying the content of the third column.\r\n * ```\r\n * <medev-card-long>\r\n * <ng-template #third_col>\r\n * <!-- Content for the card third column -->\r\n * </ng-template>\r\n * </medev-card-long>\r\n * ```\r\n */\r\n @ContentChild(\"third_col\") third_col: TemplateRef<void>;\r\n\r\n\r\n /**\r\n * The text for the card type.\r\n * @usageNotes\r\n * ```\r\n * <medev-card-long type_text = \"'Type'\"></<medev-card-long>\r\n * ```\r\n */\r\n @Input() type_text: string;\r\n\r\n /**\r\n * The color of the card type.\r\n * @usageNotes\r\n * ```\r\n * <medev-card-long type_color = \"'RED'\"></<medev-card-long>\r\n * ```\r\n * Colors: RED, UNSET, GREEN\r\n \r\n */\r\n @Input() type_color: CartTypeColors = CartTypeColors.UNSET;\r\n\r\n /**\r\n * The path to the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card-long [img] = \"'img/path/img.png'\"></mefdev-card-long>\r\n * ```\r\n */\r\n @Input() img: string;\r\n\r\n /**\r\n * The path, where user goes after click at the image.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card-long [imgUrl] = \"'Img.url'\"></mefdev-card-long>\r\n * ```\r\n */\r\n @Input() imgUrl: string;\r\n\r\n /**\r\n * The description of the card.\r\n * @usageNotes\r\n * ```\r\n * <mefdev-card-long [description] = \"'description'\"></mefdev-card-long>\r\n * ```\r\n */\r\n @Input() description: string;\r\n\r\n constructor(\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n /**\r\n * Event handler for image click.\r\n * Navigates to the specified URL.\r\n */\r\n public imgClick(){\r\n this.router.navigate(['/', this.imgUrl.toString()])\r\n }\r\n\r\n}\r\n","\r\n <pgcard \r\n MinimalHeader=\"true\" \r\n TimeOut=\"2500\" \r\n [Refresh]=\"false\" \r\n [Close]=\"false\"\r\n >\r\n \r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title\" [ngTemplateOutlet]=\"title\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template #CardExtraControls>\r\n <div class=\"plugin-type\" \r\n [ngClass] = \"{\r\n 'b-color-Light-Gray-1': type_color === 'UNSET',\r\n 'b-color-Red': type_color === 'RED',\r\n 'b-color-Green': type_color === 'GREEN'}\">\r\n {{type_text}}\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"row h-100 m-b-10\">\r\n <div class=\"col-lg-3 col-12 card-col\">\r\n <div class=\"row\">\r\n <div class=\"col-12 card-img m-b-10\">\r\n <div *ngIf=\"!img || img == ''\" >\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\">\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n height=\"110px\" \r\n style=\"max-width: 110px; max-height: 110px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div> \r\n </div>\r\n <div class=\"col-12 m-t-2 body-6 text-dark params-block\">\r\n <ng-template [ngTemplateOutlet]=\"params\"></ng-template> \r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-5 col-12 card-col\">\r\n <ng-template [ngTemplateOutlet]=\"second_col\"></ng-template> \r\n </div>\r\n \r\n <div class=\"col-lg-4 col-12 card-col mt-lg-0 mt-5\">\r\n <ng-template [ngTemplateOutlet]=\"third_col\"></ng-template> \r\n </div> \r\n\r\n </div>\r\n </pgcard>","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n/**\r\n * Component for displaying a simple card with a title.\r\n *\r\n * Example of usage:\r\n *```\r\n * <medev-card-simple [disabled]=\"true\">\r\n * <ng-template #card_title>\r\n * <!-- Content for the card title -->\r\n * </ng-template>\r\n * </medev-card-simple>\r\n *```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/card/card-simple</example-url>\r\n */\r\n@Component({\r\n selector: 'medev-card-simple',\r\n templateUrl: './card-simple.component.html',\r\n styleUrls: ['./card-simple.component.scss']\r\n})\r\nexport class CardSimpleComponent implements OnInit {\r\n\r\n /**\r\n * Determines whether the card is disabled or not.\r\n */\r\n @Input(\"disabled\") isDisabled: boolean = false;\r\n\r\n /**\r\n * Template for displaying the title of the card.\r\n *```\r\n * <medev-card-simple>\r\n * <ng-template #card_title>\r\n * <h3>Card Title</h3>\r\n * </ng-template>\r\n * </medev-card-simple>\r\n *``` \r\n */\r\n @ContentChild(\"card_title\") card_title: TemplateRef<void>;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"card-simple\" [ngClass]=\"{ 'unused-block':isDisabled }\">\r\n <div class=\"row m-2 body-1\" *ngIf=\"card_title\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row m-2\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n","export function toBoolean(value: any): boolean {\r\n return value === '' || (value && value !== 'false');\r\n}\r\n","/* tslint:disable:no-any */\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { MefDevOptionComponent } from \"./option.component\";\r\n\r\n@Pipe({ name: \"OptionPipe\" })\r\nexport class OptionPipe implements PipeTransform {\r\n // TODO: enable type checking for this method\r\n transform(options: MefDevOptionComponent[], value: any): any {\r\n if (value.searchText) {\r\n let _options = options.filter(\r\n option =>\r\n option.Label &&\r\n option.Label.toLowerCase().indexOf(value.searchText.toLowerCase()) !==\r\n -1\r\n );\r\n if (value.tags) {\r\n _options = options.filter(\r\n option =>\r\n option.Label &&\r\n option.Label.toLowerCase() === value.searchText.toLowerCase()\r\n );\r\n }\r\n if (_options.length) {\r\n return _options;\r\n } else {\r\n return [\r\n ({\r\n Value: value.value,\r\n _value: value.value,\r\n Disabled: value.disabled,\r\n _disabled: value.disabled,\r\n Label: value.notFoundContent,\r\n _label: value.notFoundContent\r\n } as any) as MefDevOptionComponent\r\n ];\r\n }\r\n } else {\r\n return options;\r\n }\r\n }\r\n}\r\n","/**\r\n * complex but work well\r\n * TODO: rebuild latter\r\n */\r\nimport { DOWN_ARROW, ENTER, TAB } from \"@angular/cdk/keycodes\";\r\nimport {\r\n CdkConnectedOverlay,\r\n ConnectedOverlayPositionChange\r\n} from \"@angular/cdk/overlay\";\r\nimport {\r\n forwardRef,\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation,\r\n ChangeDetectorRef\r\n} from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { MefDevOptionComponent } from \"./option.component\";\r\nimport { OptionPipe } from \"./option.pipe\";\r\nimport { toBoolean } from '../util/convert';\r\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\r\n\r\n\r\n/**\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/select</example-url>\r\n */\r\n@Component({\r\n selector: \"mefdev-select\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./select.component.html\",\r\n\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MefDevSelectComponent),\r\n multi: true\r\n }\r\n ],\r\n animations: [trigger('dropDownAnimation', [\r\n state('bottom', style({\r\n opacity : 1,\r\n transform : 'scaleY(1)',\r\n transformOrigin: '0% 0%'\r\n })),\r\n transition('void => bottom', [\r\n style({\r\n opacity : 0,\r\n transform : 'scaleY(0)',\r\n transformOrigin: '0% 0%'\r\n }),\r\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\r\n ]),\r\n state('top', style({\r\n opacity : 1,\r\n transform : 'scaleY(1)',\r\n transformOrigin: '0% 100%'\r\n })),\r\n transition('void => top', [\r\n style({\r\n opacity : 0,\r\n transform : 'scaleY(0)',\r\n transformOrigin: '0% 100%'\r\n }),\r\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\r\n ]),\r\n transition('* => void', [\r\n animate('250ms 100ms linear', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n\r\n trigger('tagAnimation', [\r\n state('*', style({ opacity: 1, transform: 'scale(1)' })),\r\n transition('void => *', [\r\n style({ opacity: 0, transform: 'scale(0)' }),\r\n animate('150ms linear')\r\n ]),\r\n state('void', style({ opacity: 0, transform: 'scale(0)' })),\r\n transition('* => void', [\r\n style({ opacity: 1, transform: 'scale(1)' }),\r\n animate('150ms linear')\r\n ])])]\r\n})\r\nexport class MefDevSelectComponent\r\n implements\r\n OnInit,\r\n AfterContentInit,\r\n AfterContentChecked,\r\n ControlValueAccessor {\r\n private _allowClear = false;\r\n private _disabled = false;\r\n private _isTags = false;\r\n private _isMultiple = false;\r\n private _keepUnListOptions = false;\r\n private _showSearch = false;\r\n _el: HTMLElement;\r\n _isOpen = false;\r\n _prefixCls = \"pg-select\";\r\n _classList: string[] = [];\r\n _dropDownClassMap: any;\r\n _dropDownPrefixCls = `${this._prefixCls}-dropdown`;\r\n _selectionClassMap: any;\r\n _selectionPrefixCls = `${this._prefixCls}-selection`;\r\n _size: string;\r\n _value: string[] | string;\r\n _placeholder = \"placeholder\";\r\n _notFoundContent = \"No Content\";\r\n _searchText = \"\";\r\n _triggerWidth = 0;\r\n _selectedOption: MefDevOptionComponent;\r\n _operatingMultipleOption: MefDevOptionComponent;\r\n _selectedOptions: Set<MefDevOptionComponent> = new Set();\r\n _options: MefDevOptionComponent[] = [];\r\n _cacheOptions: MefDevOptionComponent[] = [];\r\n _filterOptions: MefDevOptionComponent[] = [];\r\n _tagsOptions: MefDevOptionComponent[] = [];\r\n _activeFilterOption: MefDevOptionComponent;\r\n _isMultiInit = false;\r\n _dropDownPosition: \"top\" | \"center\" | \"bottom\" = \"bottom\";\r\n _composing = false;\r\n _mode: any;\r\n // ngModel Access\r\n onChange: (value: string | string[]) => void = () => null;\r\n onTouched: () => void = () => null;\r\n @ViewChild(\"searchInput\") searchInputElementRef: any;\r\n @ViewChild(\"trigger\") trigger: ElementRef;\r\n @ViewChild(\"dropdownUl\") dropdownUl: ElementRef;\r\n @Output() SearchChange: EventEmitter<string> = new EventEmitter();\r\n @Output() change: EventEmitter<string> = new EventEmitter();\r\n @Output() OpenChange: EventEmitter<boolean> = new EventEmitter();\r\n @Output() ScrollToBottom: EventEmitter<boolean> = new EventEmitter();\r\n @Input() Filter = true;\r\n @Input() MaxMultiple = Infinity;\r\n @Input() FirstDefault: boolean = false;\r\n @ViewChild(CdkConnectedOverlay) _cdkOverlay: CdkConnectedOverlay;\r\n\r\n @Input()\r\n set AllowClear(value: boolean) {\r\n this._allowClear = toBoolean(value);\r\n }\r\n\r\n get AllowClear(): boolean {\r\n return this._allowClear;\r\n }\r\n\r\n @Input()\r\n set KeepUnListOptions(value: boolean) {\r\n this._keepUnListOptions = toBoolean(value);\r\n }\r\n\r\n get KeepUnListOptions(): boolean {\r\n return this._keepUnListOptions;\r\n }\r\n\r\n @Input()\r\n set Mode(value: string) {\r\n this._mode = value;\r\n if (this._mode === \"multiple\") {\r\n this.Multiple = true;\r\n } else if (this._mode === \"tags\") {\r\n this.Tags = true;\r\n } else if (this._mode === \"combobox\") {\r\n this.ShowSearch = true;\r\n }\r\n }\r\n\r\n @Input()\r\n set Multiple(value: boolean) {\r\n this._isMultiple = toBoolean(value);\r\n if (this._isMultiple) {\r\n this.ShowSearch = true;\r\n }\r\n }\r\n\r\n get Multiple(): boolean {\r\n return this._isMultiple;\r\n }\r\n\r\n @Input()\r\n set PlaceHolder(value: string) {\r\n this._placeholder = value;\r\n }\r\n\r\n get PlaceHolder(): string {\r\n return this._placeholder;\r\n }\r\n\r\n @Input()\r\n set NotFoundContent(value: string) {\r\n this._notFoundContent = value;\r\n }\r\n\r\n get NotFoundContent(): string {\r\n return this._notFoundContent;\r\n }\r\n\r\n @Input()\r\n set Size(value: string) {\r\n // @ts-ignore\r\n this._size = { large: \"lg\", small: \"sm\" }[value];\r\n this.setClassMap();\r\n }\r\n\r\n get Size(): string {\r\n return this._size;\r\n }\r\n\r\n @Input()\r\n set ShowSearch(value: boolean) {\r\n this._showSearch = toBoolean(value);\r\n }\r\n\r\n get ShowSearch(): boolean {\r\n return this._showSearch;\r\n }\r\n\r\n @Input()\r\n set Tags(value: boolean) {\r\n const isTags = toBoolean(value);\r\n this._isTags = isTags;\r\n this.Multiple = isTags;\r\n }\r\n\r\n get Tags(): boolean {\r\n return this._isTags;\r\n }\r\n\r\n @Input()\r\n set Disabled(value: boolean) {\r\n this._disabled = toBoolean(value);\r\n this.closeDropDown();\r\n this.setClassMap();\r\n }\r\n\r\n get Disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n @Input()\r\n set Open(value: boolean) {\r\n const isOpen = toBoolean(value);\r\n if (this._isOpen === isOpen) {\r\n return;\r\n }\r\n if (isOpen) {\r\n this.scrollToActive();\r\n this._setTriggerWidth();\r\n }\r\n this._isOpen = isOpen;\r\n this.OpenChange.emit(this._isOpen);\r\n this.setClassMap();\r\n if (this._isOpen) {\r\n setTimeout(() => {\r\n this.checkDropDownScroll();\r\n });\r\n }\r\n }\r\n\r\n get Open(): boolean {\r\n return this._isOpen;\r\n }\r\n\r\n /** new -option insert or new tags insert */\r\n // @ts-ignore\r\n addOption = option => {\r\n this._options.push(option);\r\n if (!this._isTags) {\r\n if (option.Value) {\r\n this.updateSelectedOption(this._value);\r\n } else {\r\n this.forceUpdateSelectedOption(this._value);\r\n }\r\n }\r\n };\r\n\r\n /** -option remove or tags remove */\r\n removeOption(option: MefDevOptionComponent): void {\r\n this._options.splice(this._options.indexOf(option), 1);\r\n if (!this._isTags) {\r\n this.forceUpdateSelectedOption(this._value);\r\n }\r\n }\r\n\r\n /** dropdown position changed */\r\n onPositionChange(position: ConnectedOverlayPositionChange): void {\r\n this._dropDownPosition = position.connectionPair.originY;\r\n }\r\n\r\n compositionStart(): void {\r\n this._composing = true;\r\n }\r\n\r\n compositionEnd(): void {\r\n this._composing = false;\r\n }\r\n\r\n /** clear single selected option */\r\n clearSelect($event?: MouseEvent): void {\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n } // @ts-ignore\r\n this._selectedOption = null; // @ts-ignore\r\n this.Value = null; // @ts-ignore\r\n this.onChange(null);\r\n }\r\n\r\n /** click dropdown option by user */\r\n clickOption(option: MefDevOptionComponent, $event?: MouseEvent): void {\r\n if (!option) {\r\n return;\r\n }\r\n this.chooseOption(option, true, $event);\r\n this.clearSearchText();\r\n if (!this._isMultiple) {\r\n this.Open = false;\r\n }\r\n }\r\n\r\n /** choose option */\r\n chooseOption(\r\n option: MefDevOptionComponent,\r\n isUserClick: boolean = false,\r\n $event?: MouseEvent\r\n ): void {\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n this._activeFilterOption = option;\r\n if (option && !option.Disabled) {\r\n if (!this.Multiple) {\r\n this._selectedOption = option;\r\n this._value = option.Value;\r\n if (isUserClick) {\r\n this.change.next(this._value);\r\n this.onChange(option.Value);\r\n }\r\n } else {\r\n if (isUserClick) {\r\n this.isInSet(this._selectedOptions, option)\r\n ? this.unSelectMultipleOption(option)\r\n : this.selectMultipleOption(option);\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateWidth(element: HTMLInputElement, text: string): void {\r\n if (text) {\r\n /** wait for scroll width change */ // @ts-ignore\r\n setTimeout(_ => {\r\n this._renderer.setStyle(element, \"width\", `${element.scrollWidth}px`);\r\n });\r\n } else {\r\n this._renderer.removeStyle(element, \"width\");\r\n }\r\n }\r\n\r\n /** determine if option in set */\r\n isInSet(\r\n set: Set<MefDevOptionComponent>,\r\n option: MefDevOptionComponent\r\n ): MefDevOptionComponent { // @ts-ignore\r\n return (Array.from(set) as MefDevOptionComponent[]).find(\r\n (data: MefDevOptionComponent) => data.Value === option.Value\r\n );\r\n }\r\n\r\n /** cancel select multiple option */ // @ts-ignore\r\n unSelectMultipleOption = (option, $event?, emitChange = true) => {\r\n this._operatingMultipleOption = option;\r\n this._selectedOptions.delete(option);\r\n if (emitChange) {\r\n this.emitMultipleOptions();\r\n }\r\n\r\n // 对Tag进行特殊处理\r\n if (\r\n this._isTags &&\r\n this._options.indexOf(option) !== -1 &&\r\n this._tagsOptions.indexOf(option) !== -1\r\n ) {\r\n this.removeOption(option);\r\n this._tagsOptions.splice(this._tagsOptions.indexOf(option), 1);\r\n }\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n };\r\n\r\n /** select multiple option */\r\n selectMultipleOption(option: MefDevOptionComponent, $event?: MouseEvent): void {\r\n /** if tags do push to tag option */\r\n if (\r\n this._isTags &&\r\n this._options.indexOf(option) === -1 &&\r\n this._tagsOptions.indexOf(option) === -1\r\n ) {\r\n this.addOption(option);\r\n this._tagsOptions.push(option);\r\n }\r\n this._operatingMultipleOption = option;\r\n if (this._selectedOptions.size < this.MaxMultiple) {\r\n this._selectedOptions.add(option);\r\n }\r\n this.emitMultipleOptions();\r\n\r\n if ($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n }\r\n\r\n /** emit multiple options */\r\n emitMultipleOptions(): void {\r\n if (this._isMultiInit) {\r\n return;\r\n }\r\n const arrayOptions = Array.from(this._selectedOptions);\r\n this._value = arrayOptions.map(item => item.Value);\r\n this.onChange(this._value);\r\n }\r\n\r\n /** update selected option when add remove option etc */\r\n updateSelectedOption(\r\n currentModelValue: string | string[],\r\n triggerByNgModel: boolean = false\r\n ): void {\r\n if (currentModelValue == null) {\r\n return;\r\n }\r\n if (this.Multiple) {\r\n const selectedOptions = this._options.filter(item => {\r\n return item != null && currentModelValue.indexOf(item.Value) !== -1;\r\n });\r\n if ((this.KeepUnListOptions || this.Tags) && !triggerByNgModel) {\r\n const _selectedOptions = Array.from(this._selectedOptions);\r\n selectedOptions.forEach(option => {\r\n const _exist = _selectedOptions.some(\r\n item => item._value == option._value\r\n );\r\n if (!_exist) {\r\n this._selectedOptions.add(option);\r\n }\r\n });\r\n } else {\r\n this._selectedOptions = new Set();\r\n selectedOptions.forEach(option => {\r\n this._selectedOptions.add(option);\r\n });\r\n }\r\n } else {\r\n const selectedOption = this._options.filter(item => {\r\n return item != null && item.Value == currentModelValue;\r\n });\r\n this.chooseOption(selectedOption[0]);\r\n }\r\n }\r\n\r\n forceUpdateSelectedOption(value: string | string[]): void {\r\n /** trigger dirty check */ // @ts-ignore\r\n setTimeout(_ => {\r\n this.updateSelectedOption(value);\r\n });\r\n }\r\n\r\n get Value(): string | string[] {\r\n return this._value;\r\n }\r\n\r\n set Value(value: string | string[]) {\r\n this._updateValue(value);\r\n }\r\n\r\n clearAllSelectedOption(emitChange: boolean = true): void {\r\n this._selectedOptions.forEach(item => {\r\n this.unSelectMultipleOption(item, null, emitChange);\r\n });\r\n }\r\n\r\n handleKeyEnterEvent(event: KeyboardEvent): void {\r\n /** when composing end */\r\n if (!this._composing && this._isOpen) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.updateFilterOption(false);\r\n this.clickOption(this._activeFilterOption);\r\n }\r\n }\r\n\r\n handleKeyBackspaceEvent(event: KeyboardEvent): void {\r\n if (!this._searchText && !this._composing && this._isMultiple) {\r\n event.preventDefault();\r\n const lastOption = Array.from(this._selectedOptions).pop();\r\n this.unSelectMultipleOption(lastOption);\r\n }\r\n }\r\n\r\n handleKeyDownEvent($event: MouseEvent): void {\r\n if (this._isOpen) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this._activeFilterOption = this.nextOption(\r\n this._activeFilterOption,\r\n this._filterOptions.filter(w => !w.Disabled)\r\n );\r\n this.scrollToActive();\r\n }\r\n }\r\n\r\n handleKeyUpEvent($event: MouseEvent): void {\r\n if (this._isOpen) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this._activeFilterOption = this.preOption(\r\n this._activeFilterOption,\r\n this._filterOptions.filter(w => !w.Disabled)\r\n );\r\n this.scrollToActive();\r\n }\r\n }\r\n\r\n preOption(\r\n option: MefDevOptionComponent,\r\n options: MefDevOptionComponent[]\r\n ): MefDevOptionComponent {\r\n return options[options.indexOf(option) - 1] || options[options.length - 1];\r\n }\r\n\r\n nextOption(\r\n option: MefDevOptionComponent,\r\n options: MefDevOptionComponent[]\r\n ): MefDevOptionComponent {\r\n return options[options.indexOf(option) + 1] || options[0];\r\n }\r\n\r\n clearSearchText(): void {\r\n this._searchText = \"\";\r\n this.updateFilterOption();\r\n }\r\n\r\n updateFilterOption(updateActiveFilter: boolean = true): void {\r\n if (this.Filter) {\r\n this._filterOptions = new OptionPipe().transform(this._options, {\r\n searchText: this._searchText,\r\n tags: this._isTags,\r\n notFoundContent: this._isTags\r\n ? this._searchText\r\n : this._notFoundContent,\r\n disabled: !this._isTags,\r\n value: this._isTags ? this._searchText : \"disabled\"\r\n });\r\n } else {\r\n this._filterOptions = this._options;\r\n }\r\n\r\n /** TODO: cause pre & next key selection not work */\r\n if (updateActiveFilter && !this._selectedOption) {\r\n this._activeFilterOption = this._filterOptions[0];\r\n }\r\n }\r\n\r\n onSearchChange(searchValue: string): void {\r\n this.SearchChange.emit(searchValue);\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n onClick(e: MouseEvent): void {\r\n e.preventDefault();\r\n if (!this._disabled) {\r\n this.Open = !this.Open;\r\n if (this.ShowSearch) {\r\n /** wait for search display */ // @ts-ignore\r\n setTimeout(_ => {\r\n this.searchInputElementRef.nativeElement.focus();\r\n });\r\n }\r\n }\r\n }\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(e: KeyboardEvent): void {\r\n const keyCode = e.keyCode;\r\n if (keyCode === TAB && this.Open) {\r\n this.Open = false;\r\n return;\r\n }\r\n if ((keyCode !== DOWN_ARROW && keyCode !== ENTER) || this.Open) {\r\n return;\r\n }\r\n e.preventDefault();\r\n if (!this._disabled) {\r\n this.Open = true;\r\n if (this.ShowSearch) {\r\n /** wait for search display */ // @ts-ignore\r\n setTimeout(_ => {\r\n this.searchInputElementRef.nativeElement.focus();\r\n });\r\n }\r\n }\r\n }\r\n\r\n closeDropDown(): void {\r\n if (!this.Open) {\r\n return;\r\n }\r\n this.onTouched();\r\n if (this.Multiple) {\r\n this._renderer.removeStyle(\r\n this.searchInputElementRef.nativeElement,\r\n \"width\"\r\n );\r\n }\r\n this.clearSearchText();\r\n this.Open = false;\r\n }\r\n\r\n setClassMap(): void {\r\n this._classList.forEach(_className => {\r\n this._renderer.removeClass(this._el, _className);\r\n }); // @ts-ignore\r\n this._classList = [\r\n this._prefixCls,\r\n this._mode === \"combobox\" && `${this._prefixCls}-combobox`,\r\n !this._disabled && `${this._prefixCls}-enabled`,\r\n this._disabled && `${this._prefixCls}-disabled`,\r\n this._isOpen && `${this._prefixCls}-open`,\r\n this._showSearch && `${this._prefixCls}-show-search`,\r\n this._size && `${this._prefixCls}-${this._size}`\r\n ].filter(item => {\r\n return !!item;\r\n });\r\n this._classList.forEach(_className => {\r\n this._renderer.addClass(this._el, _className);\r\n });\r\n this._selectionClassMap = {\r\n [this._selectionPrefixCls]: true,\r\n [`${this._selectionPrefixCls}--single`]: !this.Multiple,\r\n [`${this._selectionPrefixCls}--multiple`]: this.Multiple\r\n };\r\n }\r\n\r\n setDropDownClassMap(): void {\r\n this._dropDownClassMap = {\r\n [this._dropDownPrefixCls]: true,\r\n [\"component-select\"]: this._mode === \"combobox\",\r\n [`${this._dropDownPrefixCls}--single`]: !this.Multiple,\r\n [`${this._dropDownPrefixCls}--multiple`]: this.Multiple,\r\n [`${this._dropDownPrefixCls}-placement-bottomLeft`]:\r\n this._dropDownPosition === \"bottom\",\r\n [`${this._dropDownPrefixCls}-placement-topLeft`]:\r\n this._dropDownPosition === \"top\"\r\n };\r\n }\r\n\r\n scrollToActive(): void {\r\n /** wait for dropdown display */ // @ts-ignore\r\n setTimeout(_ => {\r\n if (this._activeFilterOption && this._activeFilterOption.Value) {\r\n const index = this._filterOptions.findIndex(\r\n option => option.Value === this._activeFilterOption.Value\r\n );\r\n try {\r\n const scrollPane = this.dropdownUl.nativeElement.children[\r\n index\r\n ] as HTMLLIElement;\r\n // TODO: scrollIntoViewIfNeeded is not a standard API, why doing so?\r\n /* tslint:disable-next-line:no-any */\r\n (scrollPane as any).scrollIntoViewIfNeeded(false);\r\n } catch (e) {}\r\n }\r\n });\r\n }\r\n\r\n flushComponentState(): void {\r\n this.updateFilterOption();\r\n if (!this.Multiple) {\r\n this.updateSelectedOption(this._value);\r\n } else {\r\n if (this._value) {\r\n this.updateSelectedOption(this._value);\r\n }\r\n }\r\n }\r\n\r\n _setTriggerWidth(): void {\r\n this._triggerWidth = this._getTriggerRect().width;\r\n /** should remove after after https://github.com/angular/material2/pull/8765 merged **/\r\n if (this._cdkOverlay && this._cdkOverlay.overlayRef) {\r\n this._cdkOverlay.overlayRef.updateSize({\r\n width: this._triggerWidth\r\n });\r\n }\r\n }\r\n\r\n _getTriggerRect(): ClientRect {\r\n return this.trigger.nativeElement.getBoundingClientRect();\r\n }\r\n\r\n writeValue(value: string | string[]): void {\r\n this._updateValue(value, false);\r\n }\r\n\r\n registerOnChange(fn: (value: string | string[]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.Disabled = isDisabled;\r\n }\r\n\r\n dropDownScroll(ul: HTMLUListElement): void {\r\n if (ul && ul.scrollHeight - ul.scrollTop === ul.clientHeight) {\r\n this.ScrollToBottom.emit(true);\r\n }\r\n }\r\n\r\n checkDropDownScroll(): void {\r\n if (\r\n this.dropdownUl &&\r\n this.dropdownUl.nativeElement.scrollHeight ===\r\n this.dropdownUl.nativeElement.clientHeight\r\n ) {\r\n this.ScrollToBottom.emit(true);\r\n }\r\n }\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private cDRef: ChangeDetectorRef\r\n ) {\r\n this._el = this._elementRef.nativeElement;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this._value != null) {\r\n this.flushComponentState();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateFilterOption();\r\n this.setClassMap();\r\n this.setDropDownClassMap();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this._cacheOptions !== this._options) {\r\n /** update filter option after every content check cycle */\r\n this.updateFilterOption();\r\n this._cacheOptions = this._options;\r\n } else {\r\n this.updateFilterOption(false);\r\n }\r\n\r\n if (this.FirstDefault) {\r\n if (!this._value && this._options) {\r\n if (this._options[0] !== undefined && this._options[0].Value) {\r\n this.chooseOption(this._options[0], false);\r\n setTimeout(() => {\r\n this.onChange(this._options[0].Value);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _updateValue(\r\n value: string[] | string,\r\n emitChange: boolean = true\r\n ): void {\r\n if (this._value === value) {\r\n return;\r\n }\r\n if (value == null && this.Multiple) {\r\n this._value = [];\r\n } else {\r\n this._value = value;\r\n }\r\n if (!this.Multiple) {\r\n if (value == null) { // @ts-ignore\r\n this._selectedOption = null;\r\n } else {\r\n this.updateSelectedOption(value);\r\n }\r\n } else {\r\n if (value) {\r\n if (value.length === 0) {\r\n this.clearAllSelectedOption(emitChange);\r\n } else {\r\n this.updateSelectedOption(value, true);\r\n }\r\n } else if (value == null) {\r\n this.clearAllSelectedOption(emitChange);\r\n }\r\n }\r\n }\r\n}\r\n","<div tabindex=\"0\" #trigger cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" [ngClass]=\"_selectionClassMap\"\r\n (keydown.Enter)=\"handleKeyEnterEvent($event)\" (keydown.Backspace)=\"handleKeyBackspaceEvent($event)\"\r\n (keydown.ArrowUp)=\"handleKeyUpEvent($event)\" (keydown.ArrowDown)=\"handleKeyDownEvent($event)\">\r\n <div class=\"pg-select-selection__rendered\" *ngIf=\"!ShowSearch\">\r\n <div class=\"pg-select-selection__placeholder\">\r\n <ng-template [ngIf]=\"!_selectedOption\">\r\n {{ PlaceHolder }}\r\n </ng-template>\r\n </div>\r\n <div class=\"pg-select-selection-selected-value\">\r\n {{ _selectedOption?.Label }}\r\n </div>\r\n </div>\r\n <div class=\"pg-select-selection__rendered\" *ngIf=\"ShowSearch\">\r\n <div [hidden]=\"_searchText||(!Open&&_selectedOption)||_selectedOptions.size\"\r\n class=\"pg-select-selection__placeholder\">\r\n <ng-template [ngIf]=\"(!_composing)&&_selectedOption\">\r\n {{ _selectedOption.Label }}\r\n </ng-template>\r\n <ng-template [ngIf]=\"(!_composing)&&(!_selectedOption)\">\r\n {{ PlaceHolder }}\r\n </ng-template>\r\n </div>\r\n <ul *ngIf=\"Multiple\">\r\n <li *ngFor=\"let option of _selectedOptions\" [@tagAnimation] [attr.title]=\"option?.Label || option?.Value\"\r\n class=\"pg-select-selection__choice\" style=\"-webkit-user-select: none;\">\r\n <span class=\"pg-select-selection__choice__remove\" (click)=\"unSelectMultipleOption(option,$event)\"></span>\r\n <div class=\"pg-select-selection__choice__content\">{{ option?.Label }}</div>\r\n </li>\r\n <li class=\"pg-select-search pg-select-search--inline\">\r\n <div class=\"pg-select-search__field__wrap\">\r\n <input class=\"pg-select-search__field\" (compositionstart)=\"compositionStart()\"\r\n (compositionend)=\"compositionEnd();updateWidth(searchInput,_searchText);\" [(ngModel)]=\"_searchText\"\r\n (ngModelChange)=\"updateFilterOption();onSearchChange($event);\"\r\n (keydown)=\"updateWidth(searchInput,_searchText)\" (input)=\"updateWidth(searchInput,_searchText)\"\r\n (blur)=\"onTouched()\" #searchInput>\r\n <span class=\"pg-select-search__field__mirror\"></span></div>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!Multiple\" class=\"pg-select-selection-selected-value\" [hidden]=\"!(_selectedOption?.Label)||Open\">\r\n {{ _selectedOption?.Label }}\r\n </div>\r\n <div *ngIf=\"!Multiple\" [hidden]=\"!Open\" class=\"pg-select-search pg-select-search--inline\">\r\n <div class=\"pg-select-search__field__wrap\">\r\n <input class=\"pg-select-search__field\" (blur)=\"onTouched()\" (compositionstart)=\"compositionStart()\"\r\n (compositionend)=\"compositionEnd()\" [(ngModel)]=\"_searchText\"\r\n (ngModelChange)=\"updateFilterOption();onSearchChange($event);\" #searchInput>\r\n <span class=\"pg-select-search__field__mirror\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <span (click)=\"onTouched();clearSelect($event)\" class=\"pg-select-selection__clear\" style=\"-webkit-user-select: none;\"\r\n *ngIf=\"_selectedOption?.Label&&AllowClear&&!Multiple\">\r\n </span>\r\n <span class=\"pg-select-arrow\"><b></b></span>\r\n</div>\r\n<ng-template cdkConnectedOverlay cdkConnectedOverlayHasBackdrop [cdkConnectedOverlayOrigin]=\"origin\"\r\n (backdropClick)=\"closeDropDown()\" (detach)=\"closeDropDown();\" (positionChange)=\"onPositionChange($event)\"\r\n [cdkConnectedOverlayWidth]=\"_triggerWidth\" [cdkConnectedOverlayOpen]=\"_isOpen\">\r\n <div [ngClass]=\"_dropDownClassMap\" [@dropDownAnimation]=\"_dropDownPosition\">\r\n <div style=\"overflow: auto;\">\r\n <ul class=\"pg-select-dropdown-menu pg-select-dropdown-menu-vertical pg-select-dropdown-menu-root\" #dropdownUl\r\n (scroll)=\"dropDownScroll(dropdownUl)\">\r\n <li *ngFor=\"let option of _filterOptions\" [class.pg-select-dropdown-menu-item-disabled]=\"option.Disabled\"\r\n [class.pg-select-dropdown-menu-item-active]=\"option.Value == _activeFilterOption?.Value\"\r\n [class.pg-select-dropdown-menu-item-selected]=\"(option.Value==(_selectedOption?.Value))||(isInSet(_selectedOptions,option))\"\r\n class=\"pg-select-dropdown-menu-item\" (click)=\"clickOption(option,$event)\">\r\n <ng-template *ngIf=\"option.OptionTemplate\" [ngTemplateOutlet]=\"option.OptionTemplate\">\r\n </ng-template>\r\n <ng-template [ngIf]=\"!option.OptionTemplate\">\r\n {{ option.Label }}\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>","import {\r\n\tComponent,\r\n\tContentChild,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\n//import { toBoolean } from \"@shared/utils/convert\";\r\nimport { MefDevSelectComponent } from \"./select.component\";\r\nimport { toBoolean } from \"./../util/convert\";\r\n\r\n\r\n/**\r\n * @skipTemplateDoc true\r\n * Component for representing an option in a dropdown list.\r\n *\r\n *```\r\n * <mefdev-select>\r\n * <mefdev-option Value=\"1\" Label=\"Option 1\"></mefdev-option>\r\n * <mefdev-option Value=\"2\" Label=\"Option 2\"></mefdev-option>\r\n * <mefdev-option Value=\"3\" Label=\"Option 3\"></mefdev-option>\r\n * </mefdev-select>\r\n *```\r\n *\r\n */\r\n@Component({\r\n\tselector: \"mefdev-option\",\r\n\tencapsulation: ViewEncapsulation.None,\r\n\ttemplateUrl: \"./option.component.html\",\r\n\tstyleUrls: []\r\n})\r\nexport class MefDevOptionComponent implements OnDestroy, OnInit {\r\n\tprivate _disabled = false;\r\n\r\n\t_value: string;\r\n\t_label: string;\r\n\r\n\t/**\r\n \t* Template for the content of the option.\r\n \t*/\r\n\t@ContentChild(\"OptionTemplate\") OptionTemplate: any;\r\n\r\n\t /**\r\n * The value of the option.\r\n */\r\n\t@Input()\r\n\tset Value(value: string) {\r\n\t\tif (this._value === value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._value = value;\r\n\t}\r\n\r\n\tget Value(): string {\r\n\t\treturn this._value;\r\n\t}\r\n\r\n\t/**\r\n * The label of the option.\r\n */\r\n\t@Input()\r\n\tset Label(value: string) {\r\n\t\tif (this._label === value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._label = value;\r\n\t}\r\n\r\n\tget Label(): string {\r\n\t\treturn this._label;\r\n\t}\r\n\r\n\t/**\r\n * Indicates whether the option is disabled.\r\n */\r\n\t@Input()\r\n\tset Disabled(value: boolean) {\r\n\t\tthis._disabled = toBoolean(value);\r\n\t}\r\n\r\n\tget Disabled(): boolean {\r\n\t\treturn this._disabled;\r\n\t}\r\n\r\n\tconstructor(private _Select: MefDevSelectComponent) {}\r\n\r\n\t/**\r\n * Initialization lifecycle hook.\r\n * Adds the option to the dropdown list.\r\n */\r\n\tngOnInit(): void {\r\n\t\tthis._Select.addOption(this);\r\n\t}\r\n\r\n\t/**\r\n * Destruction lifecycle hook.\r\n * Removes the option from the dropdown list.\r\n */\r\n\tngOnDestroy(): void {\r\n\t\tthis._Select.removeOption(this);\r\n\t}\r\n}\r\n","<ng-content></ng-content>","import { OverlayModule } from \"@angular/cdk/overlay\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MefDevOptionComponent } from \"./option.component\";\r\nimport { OptionPipe } from \"./option.pipe\";\r\nimport { MefDevSelectComponent } from \"./select.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, OverlayModule],\r\n declarations: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent],\r\n exports: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent]\r\n})\r\nexport class MefDevSelectModule {}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class ProgressConfig {\r\n color = \"primary\";\r\n thickness = 1;\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\r\n\r\nimport { MefDevProgressComponent } from \"./progress.component\";\r\nimport { ProgressConfig } from \"./progress.config\";\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [MefDevProgressComponent],\r\n exports: [MefDevProgressComponent]\r\n})\r\nexport class MefDevProgressModule {\r\n static forRoot(): ModuleWithProviders<MefDevProgressModule> {\r\n return { ngModule: MefDevProgressModule, providers: [ProgressConfig] };\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport { pgCard } from \"./card.components\";\r\nimport { MefDevProgressModule } from \"../progress/progress.module\";\r\n\r\n@NgModule({\r\n declarations: [pgCard],\r\n exports: [pgCard],\r\n imports: [CommonModule, MefDevProgressModule]\r\n})\r\nexport class pgCardModule {\r\n static forRoot(): ModuleWithProviders<pgCardModule> {\r\n return {\r\n ngModule: pgCardModule\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CardComponent } from './card/card.component';\r\nimport { MefDevSelectModule } from '../../pg-components/select/select.module';\r\nimport { pgCardModule } from \"./../../pg-components/card/card.module\";\r\nimport { MefDevCollapseModule } from '../collapse/collapse.module';\r\nimport { CardLongComponent } from './card-long/card-long.component';\r\nimport { CardSimpleComponent } from './card-simple/card-simple.component';\r\n\r\nexport const mefDevCardComponents = [CardComponent, CardLongComponent, CardSimpleComponent];\r\n@NgModule({\r\n declarations: mefDevCardComponents,\r\n exports: mefDevCardComponents,\r\n imports: [\r\n CommonModule,\r\n MefDevCollapseModule,\r\n\t\tMefDevSelectModule,\r\n pgCardModule,\r\n ]\r\n})\r\nexport class MefDevCardModule { }\r\n","import { Component, ContentChild, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\"; // add for static analizer bug fix\r\nimport { animate, style, transition, trigger } from '@angular/animations';\r\n\r\n\r\n/**\r\n * Fill Component for a modal window.\r\n *\r\n * Example of usage:\r\n * ```\r\n * <mefdev-fill-modal #pin_modal>\r\n * <!-- Modal header content -->\r\n * <ng-template #modal_header>\r\n * <!-- Header content goes here -->\r\n * </ng-template>\r\n *\r\n * <!-- Modal footer content -->\r\n * <ng-template #modal_footer>\r\n * <!-- Footer content goes here -->\r\n * </ng-template>\r\n * </mefdev-fill-modal>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/modals/fill</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-fill-modal',\r\n templateUrl: './fill.component.html',\r\n styleUrls: ['./fill.component.scss'],\r\n animations: [\r\n trigger('dialog', [\r\n transition('void => *', [\r\n style({ transform: 'scale3d(.3, .3, .3)' }),\r\n animate(100)\r\n ]),\r\n transition('* => void', [\r\n animate(100, style({ transform: 'scale3d(.0, .0, .0)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class FillComponent implements OnInit {\r\n protected visible: boolean = false;\r\n\r\n @ViewChild('dialog', { static: false }) protected dialog?: ElementRef;\r\n\r\n\r\n /**\r\n * The header template of the modal window.\r\n * ```\r\n * <mefdev-fill-modal #pin_modal>\r\n * <ng-template #modal_header>\r\n * <!-- Header content goes here -->\r\n * </ng-template>\r\n * </mefdev-fill-modal>\r\n * ```\r\n */\r\n @ContentChild(\"modal_header\") modal_header: TemplateRef<void>;\r\n\r\n /**\r\n * The footer template of the modal window.\r\n * ```\r\n * <mefdev-fill-modal #pin_modal>\r\n * <ng-template #modal_footer>\r\n * <!-- Footer content goes here -->\r\n * </ng-template>\r\n * </mefdev-fill-modal>\r\n * ```\r\n */\r\n @ContentChild(\"modal_footer\") modal_footer: TemplateRef<void>;\r\n\r\n /**\r\n * Input parameter that determines whether to show the modal window.\r\n */\r\n @Input() set show(val: boolean){\r\n if(val){\r\n this.showModal();\r\n }\r\n else{\r\n this.hideModal();\r\n }\r\n };\r\n\r\n /**\r\n * Event emitted when the modal is change state.\r\n * Emits a boolean value indicating if the modal is closed(false), or open(true).\r\n * Example:\r\n * ```\r\n * <mefdev-fill-modal (visibleChange)=\"onModalClosed($event)\"></mefdev-fill-modal>\r\n * ```\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Shows the modal state.\r\n * Return a boolean value indicating if the modal is closed(false), or open(true)\r\n */\r\n getModalState(): boolean{\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * Shows the modal.\r\n * Call this method to open the modal window.\r\n */\r\n public showModal(){\r\n this.visible = true;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n\r\n /**\r\n * Hides the modal.\r\n * Call this method to close the modal window.\r\n */\r\n public hideModal(){\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n}\r\n","<button *ngIf=\"visible\" (click)=\"hideModal()\" aria-label=\"Close\" class=\"dialog__close-btn\">X</button>\r\n<div [@dialog] *ngIf=\"visible\" class=\"dialog\" #dialog>\r\n\t<div class=\"modal-content\">\r\n <div class=\"modal-header clearfix text-left\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"visible\" class=\"overlay\" (click)=\"hideModal()\"></div>\r\n","import { Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ModalSize } from '../modal-size.enum';\r\nimport { CommonModule } from \"@angular/common\"; // add for static analizer bug fix\r\nimport { animate, style, transition, trigger } from '@angular/animations';\r\n\r\n /**\r\n * A component representing a slide-up modal window.\r\n *\r\n * Example of usage:\r\n *\r\n * ```\r\n * <mefdev-slide-up-modal [show]=\"showModal\">\r\n * <ng-template #modal_header>\r\n * <h4>Modal Header</h4>\r\n * </ng-template>\r\n * <ng-template #modal_footer>\r\n * <button (click)=\"closeModal()\">Close</button>\r\n * </ng-template>\r\n * <div class=\"modal-body\">\r\n * Content goes here...\r\n * </div>\r\n * </mefdev-slide-up-modal>\r\n * ```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/modals/slide-up</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-slide-up-modal',\r\n templateUrl: './slide-up.component.html',\r\n styleUrls: ['./slide-up.component.scss'],\r\n animations: [\r\n trigger('dialog', [\r\n transition('void => *', [\r\n style({ transform: 'scale3d(.3, .3, .3)' }),\r\n animate(100)\r\n ]),\r\n transition('* => void', [\r\n animate(100, style({ transform: 'scale3d(.0, .0, .0)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class SlideUpComponent implements OnInit {\r\n protected visible: boolean = false;\r\n /**\r\n * Reference to the template for the modal header.\r\n * Use this template to customize the header of the modal.\r\n */\r\n @ContentChild(\"modal_header\") modal_header: TemplateRef<void>;\r\n\r\n /**\r\n * Reference to the template for the modal footer.\r\n * Use this template to customize the footer of the modal.\r\n */\r\n @ContentChild(\"modal_footer\") modal_footer: TemplateRef<void>;\r\n /**\r\n * Flag indicating whether the modal should be shown or hidden.\r\n * Set it to `true` to show the modal and `false` to hide it.\r\n */\r\n @Input() set show(val: boolean){\r\n if(val){\r\n this.showModal();\r\n }\r\n else{\r\n this.hideModal();\r\n }\r\n };\r\n\r\n /**\r\n * Event emitted when the modal is change state.\r\n * Emits a boolean value indicating if the modal is closed(false), or open(true).\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Shows the modal state.\r\n * Return a boolean value indicating if the modal is closed(false), or open(true)\r\n */\r\n getModalState(): boolean{\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * Shows the modal.\r\n * Call this method to open the modal window.\r\n */\r\n public showModal(){\r\n this.visible = true;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n\r\n /**\r\n * Hides the modal.\r\n * Call this method to close the modal window.\r\n */\r\n public hideModal(){\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n}\r\n","<div [@dialog] *ngIf=\"visible\" class=\"dialog\">\r\n\t<button (click)=\"hideModal()\" aria-label=\"Close\" class=\"dialog__close-btn\">X</button>\r\n\t<div class=\"modal-content\">\r\n <div class=\"modal-header clearfix text-left\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"visible\" class=\"overlay\" (click)=\"hideModal()\"></div>\r\n","import { Component, ContentChild, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ModalSize } from '../modal-size.enum';\r\nimport { CommonModule } from \"@angular/common\"; // add for static analizer bug fix\r\nimport { animate, style, transition, trigger } from '@angular/animations';\r\n\r\n\r\n/**\r\n * A component representing a slide-right modal window.\r\n *\r\n * Example of usage:\r\n *\r\n * ```\r\n * <mefdev-slide-right-modal [size]=\"ModalSize.lg\" [show]=\"showModal\">\r\n * <ng-template #modal_header>\r\n * <h4>Modal Header</h4>\r\n * </ng-template>\r\n * <ng-template #modal_footer>\r\n * <button (click)=\"closeModal()\">Close</button>\r\n * </ng-template>\r\n * <div class=\"modal-body\">\r\n * Content goes here...\r\n * </div>\r\n * </mefdev-slide-right-modal>\r\n * ```\r\n * <example-url>https://mef.dev/ui_kit_demo/view/modals/slide-right</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-slide-right-modal',\r\n templateUrl: './slide-right.component.html',\r\n styleUrls: ['./slide-right.component.scss'],\r\n animations: [\r\n trigger('dialog', [\r\n transition('void => *', [\r\n style({ transform: 'translate3d(100%,0,0)' }),\r\n animate(100)\r\n ]),\r\n transition('* => void', [\r\n animate(100, style({ transform: 'translate3d(100%, 0, 0)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class SlideRightComponent implements OnInit {\r\n protected visible: boolean = false;\r\n\r\n @ViewChild('dialog') protected dialog: ElementRef;\r\n\r\n /**\r\n * Reference to the template for the modal header.\r\n * Use this template to customize the header of the modal.\r\n */\r\n @ContentChild(\"modal_header\") modal_header: TemplateRef<void>;\r\n\r\n /**\r\n * Reference to the template for the modal footer.\r\n * Use this template to customize the footer of the modal.\r\n */\r\n @ContentChild(\"modal_footer\") modal_footer: TemplateRef<void>;\r\n\r\n /**\r\n * Size of the modal.\r\n * Defaults to `ModalSize.md`.\r\n * Possible values: `ModalSize.sm`, `ModalSize.md`, `ModalSize.lg`, `ModalSize.xl`.\r\n */\r\n @Input() size:ModalSize = ModalSize.md;\r\n\r\n /**\r\n * Flag indicating whether the modal should be shown or hidden.\r\n * Set it to `true` to show the modal and `false` to hide it.\r\n */\r\n @Input() set show(val: boolean){\r\n if(val){\r\n this.showModal();\r\n }\r\n else{\r\n this.hideModal();\r\n }\r\n };\r\n\r\n /**\r\n * Event emitted when the modal is change state.\r\n * Emits a boolean value indicating if the modal is closed(false), or open(true).\r\n * Example:\r\n * ```\r\n * <mefdev-fill-modal (visibleChange)=\"onModalClosed($event)\"></mefdev-fill-modal>\r\n * ```\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Shows the modal state.\r\n * Return a boolean value indicating if the modal is closed(false), or open(true)\r\n */\r\n getModalState(): boolean{\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * Shows the modal.\r\n * Call this method to open the modal window.\r\n */\r\n public showModal(){\r\n this.visible = true;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n\r\n /**\r\n * Hides the modal.\r\n * Call this method to close the modal window.\r\n */\r\n public hideModal(){\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n}\r\n","<div [@dialog] *ngIf=\"visible\" class=\"dialog\" #dialog>\r\n\r\n <div *ngIf=\"modal_header\" class=\"header\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div>\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"modal_footer\" class=\"footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"visible\" class=\"overlay\" (click)=\"hideModal()\"></div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FilteredFieldService } from '../../utils/filtered-field/filtered-field.service';\r\n\r\n\r\n/**\r\n * Component representing the right filter.\r\n */\r\n@Component({\r\n selector: 'mefdev-right-filter',\r\n templateUrl: './right-filter.component.html',\r\n styleUrls: ['./right-filter.component.scss']\r\n})\r\nexport class RightFilterComponent implements OnInit {\r\n\r\n /**\r\n * Flag indicating whether the right filter is open or closed.\r\n */\r\n isOpen: boolean = false;\r\n\r\n constructor(\r\n private filteredFieldService: FilteredFieldService,) { }\r\n\r\n ngOnInit(): void {\r\n // Subscribe to the open filter event from the FilteredFieldService\r\n // and update the isOpen flag accordingly.\r\n this.filteredFieldService.getOpenFilter().subscribe(() => {\r\n this.isOpen = true;\r\n });\r\n }\r\n\r\n /**\r\n * Opens or closes the right filter modal.\r\n */\r\n openModal(){\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n /**\r\n * Event handler for when the modal is closed.\r\n * Sets the isOpen flag to false.\r\n */\r\n modalIsCloused(){\r\n this.isOpen = false;\r\n }\r\n \r\n}\r\n","<div class=\"filter-btn\">\r\n <button class=\"btn btn-secondary text-danger\" (click)=\"openModal()\"><i class=\"fa fa-filter\" aria-hidden=\"true\"></i></button>\r\n</div>\r\n\r\n<mefdev-slide-right-modal [show]=\"isOpen\" (isClouse)=\"modalIsCloused()\">\r\n <ng-content></ng-content>\r\n</mefdev-slide-right-modal>","import { NgModule } from \"@angular/core\";\r\nimport { FillComponent } from './fill/fill.component';\r\nimport { SlideUpComponent } from './slide-up/slide-up.component';\r\nimport { SlideRightComponent } from './slide-right/slide-right.component';\r\n\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RightFilterComponent } from \"./right-filter/right-filter.component\";\r\nimport { MefDevSelectModule } from '../../pg-components/select/select.module';\r\n\r\n\r\nlet mefDevModalModuleComponents = [\r\n FillComponent,\r\n SlideUpComponent,\r\n SlideRightComponent,\r\n RightFilterComponent\r\n];\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MefDevSelectModule\r\n ],\r\n exports: mefDevModalModuleComponents,\r\n declarations: mefDevModalModuleComponents\r\n})\r\nexport class MefDevModalModule {}\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n/**\r\n * A component representing a user profile.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-profile\r\n * [name]=\"'John Doe'\"\r\n * [img]=\"'assets/profile.png'\"\r\n * [shortDescription]=\"'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'\"\r\n * [header]=\"'User Profile'\"\r\n * [circleImg]=\"'true'\">\r\n * <ng-template #first_colum>\r\n * <!-- Content for the first column -->\r\n * </ng-template>\r\n * <ng-template #second_colum>\r\n * <!-- Content for the second column -->\r\n * </ng-template>\r\n * <ng-template #footer>\r\n * <!-- Content for the footer -->\r\n * </ng-template>\r\n * </mefdev-profile>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/profile</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the content of the first column.\r\n *```\r\n * <ng-template #first_colum>\r\n * <!-- Content for the first column -->\r\n * </ng-template>\r\n *```\r\n */\r\n @ContentChild(\"first_colum\") first_colum: TemplateRef<void>;\r\n\r\n /**\r\n * The template reference to the content of the second column.\r\n *```\r\n * <ng-template #second_colum>\r\n * <!-- Content for the second column -->\r\n * </ng-template>\r\n *```\r\n */\r\n @ContentChild(\"second_colum\") second_colum: TemplateRef<void>;\r\n\r\n /**\r\n * The template reference to the content of the footer.\r\n *```\r\n * <ng-template #footer>\r\n * <!-- Content for the footer -->\r\n * </ng-template>\r\n *```\r\n */\r\n @ContentChild(\"footer\") footer: TemplateRef<void>;\r\n\r\n /**\r\n * The name of the user.\r\n * ```\r\n * <mefdev-profile [name]=\"'John Doe'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() name:string;\r\n\r\n /**\r\n * The URL of the user's profile image.\r\n * ```\r\n * <mefdev-profile [img]=\"'assets/profile.png'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() img: string = '';\r\n\r\n /**\r\n * A short description of the user.\r\n * ```\r\n * <mefdev-profile [shortDescription]=\"'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() shortDescription: string;\r\n\r\n /**\r\n * The header title of the profile component.\r\n * ```\r\n * <mefdev-profile [header]=\"'User Profile'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() header: string;\r\n\r\n /**\r\n * A flag indicating whether to display the profile image as a circle. Default \"false\".\r\n * ```\r\n * <mefdev-profile [circleImg]=\"'true'\"></mefdev-profile>\r\n * ```\r\n */\r\n @Input() circleImg: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n get sizeStyle(){\r\n // return { 'width.px': this.width, 'height.px': this.height };\r\n /**\r\n * Returns the CSS style for the profile image size and shape.\r\n */\r\n if(!this.circleImg){\r\n return {};\r\n }\r\n\r\n return {\r\n 'border-top-left-radius': `50%`,\r\n 'border-top-right-radius': `50%`,\r\n 'border-bottom-right-radius': `50%`,\r\n 'border-bottom-left-radius': `50%`,\r\n };\r\n }\r\n}\r\n","<div class=\"row profile-page\">\r\n <div class=\"col-12 h3 mt-3\">\r\n {{header}}\r\n </div>\r\n <div class=\"col-xl-3 col-lg-3 col-md-4 col-sm-12\">\r\n <div *ngIf=\"!img || img == ''\" >\r\n <img src=\"assets/images/md_icon.png\" height=\"124\" width=\"220\" />\r\n </div>\r\n <div *ngIf=\"img\" >\r\n <img src=\"{{img}}\" alt=\"\" class=\"custom-img\" [ngStyle]=\"sizeStyle\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-xl-3 col-lg-4 col-md-5 col-sm-12 mt-4 mt-md-0\" >\r\n <div class=\"row profile-name\">\r\n <div class=\"col\">\r\n {{name}}\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col profile-description\">\r\n {{shortDescription}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-xl-3 col-lg-4 col-md-5 col-sm-12 body-6 mt-4 mt-md-0\">\r\n <ng-template [ngTemplateOutlet]=\"first_colum\"></ng-template>\r\n </div>\r\n\r\n <div class=\"col-xl-3 col-lg-4 col-md-5 col-sm-12 body-6 mt-4 mt-md-0\" >\r\n <ng-template [ngTemplateOutlet]=\"second_colum\"></ng-template>\r\n </div>\r\n\r\n</div>\r\n<div style=\"position: relative;\">\r\n <div class=\"row profile-page-tabs\">\r\n <ng-template [ngTemplateOutlet]=\"footer\">\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { AfterViewChecked, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\n\r\n/**\r\n * A component representing a central page layout.\r\n *\r\n * Example of usage:\r\n *\r\n * ```\r\n * <mefdev-central-page [width]=\"'80%'\">\r\n * Content goes here...\r\n * </mefdev-central-page>\r\n * ```\r\n *\r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/central-page</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-central-page',\r\n templateUrl: './central-page.component.html',\r\n styleUrls: ['./central-page.component.scss']\r\n})\r\nexport class CentralPageComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n /**\r\n * The width of the central page.\r\n * Defaults to '100%'.\r\n * You can specify the width using CSS units (e.g., '80%', '500px').\r\n */\r\n @Input() width: string = '100%';\r\n\r\n /**\r\n * Lifecycle hook called just before the component is destroyed.\r\n * Removes the height style from the main content element.\r\n */\r\n ngOnDestroy(): void {\r\n try{\r\n document.getElementById('dataMainContent')!.style.height = '';\r\n }catch(ex){};\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * Lifecycle hook called after the component's view has been checked.\r\n * Sets the height of the main content element to '100%'.\r\n */\r\n ngAfterViewChecked(): void {\r\n try{\r\n document.getElementById('dataMainContent')!.style.height = '100%'\r\n }catch(ex){};\r\n }\r\n\r\n}\r\n","<div class=\"row align-items-center\" style=\"height: 100%;\" [ngStyle]=\"{'width': width}\">\r\n <div class=\"col\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n\r\n/**\r\n * A component representing a central page layout.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-central-page>\r\n * <mefdev-central-page-row>\r\n * Content goes here...\r\n * </mefdev-central-page-row>\r\n * </mefdev-central-page>\r\n * ```\r\n*/\r\n@Component({\r\n selector: 'mefdev-central-page-row',\r\n templateUrl: './central-page-row.component.html',\r\n styleUrls: ['./central-page-row.component.scss']\r\n})\r\nexport class CentralPageRowComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"row justify-content-center\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, ContentChild, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n /**\r\n * A component representing a table page layout.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-table-page>\r\n * <ng-template #filter_colum>\r\n * <!-- Content for the filter column -->\r\n * </ng-template>\r\n * </mefdev-table-page>\r\n * ```\r\n * \r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/table-page</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-table-page',\r\n templateUrl: './table-page.component.html',\r\n styleUrls: ['./table-page.component.scss']\r\n})\r\nexport class TablePageComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the content of the filter column.\r\n * ```\r\n * <ng-template #filter_colum>\r\n * <!-- Content for the filter column -->\r\n * </ng-template>\r\n * ```\r\n */\r\n @ContentChild(\"filter_colum\") filter_colum: TemplateRef<void>;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-12 filter-colum\">\r\n <ng-template [ngTemplateOutlet]=\"filter_colum\"></ng-template> \r\n </div>\r\n</div>\r\n\r\n<div class=\"table-responsive\" >\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n\r\n /**\r\n * A component representing a manage page layout.\r\n *\r\n * Example of usage:\r\n * \r\n * ```\r\n * <mefdev-manage-page [startTabInd]=\"0\">\r\n * <ng-template #card_title>\r\n * Title of the card\r\n * </ng-template>\r\n * <ng-template #tabs_block>\r\n * Content of the tabs block\r\n * </ng-template>\r\n * </mefdev-manage-page>\r\n * ```\r\n *\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/page-layouts/menage-page</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-manage-page',\r\n templateUrl: './manage-page.component.html',\r\n styleUrls: ['./manage-page.component.scss']\r\n})\r\nexport class ManagePageComponent implements OnInit {\r\n\r\n /**\r\n * The template reference to the card title.\r\n * ```\r\n * <mefdev-manage-page>\r\n * <ng-template #card_title>\r\n * Title of the card\r\n * </ng-template>\r\n * </mefdev-manage-page>\r\n * ```\r\n */\r\n @ContentChild(\"card_title\") card_title: TemplateRef<void>;\r\n\r\n /**\r\n * The template reference to the tabs block.\r\n * ```\r\n * <mefdev-manage-page>\r\n * <ng-template #tabs_block>\r\n * Content of the tabs block\r\n * </ng-template>\r\n * </mefdev-manage-page>\r\n * ```\r\n */\r\n @ContentChild(\"tabs_block\") tabs_block: TemplateRef<void>;\r\n\r\n /**\r\n * The index of the starting tab.\r\n * ```\r\n * <mefdev-manage-page [startTabInd]=\"0\">\r\n * Content goes here...\r\n * </mefdev-manage-page>\r\n * ```\r\n */\r\n @Input() startTabInd = 0;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"card-tabs\">\r\n <div class=\"row body-1 card-header\" *ngIf=\"card_title\">\r\n <div class=\"m-2\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row profile-page-tabs\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProfileComponent } from './profile/profile.component';\r\n// import { pgTabsModule } from '../../pg-components/tabs/tabs.module';\r\nimport { CentralPageComponent } from './central-page/central-page.component';\r\nimport { CentralPageRowComponent } from './central-page-row/central-page-row.component';\r\nimport { TablePageComponent } from './table-page/table-page.component';\r\nimport { ManagePageComponent } from './manage-page/manage-page.component';\r\n\r\nlet mefDevPageLayoutsModuleComponents = [\r\n ProfileComponent,\r\n CentralPageComponent,\r\n CentralPageRowComponent,\r\n TablePageComponent,\r\n ManagePageComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: mefDevPageLayoutsModuleComponents,\r\n exports: mefDevPageLayoutsModuleComponents,\r\n imports: [\r\n CommonModule,\r\n\t\t// pgTabsModule,\r\n ],\r\n})\r\nexport class MefDevPageLayoutsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mefdev-spec-flow-test',\r\n templateUrl: './spec-flow-test.component.html',\r\n styleUrls: ['./spec-flow-test.component.scss']\r\n})\r\nexport class MefDevSpecFlowTestComponent implements OnInit {\r\n /**\r\n * UTC datetime\r\n */\r\n ResponseTimestamp: any;\r\n /**\r\n * 0/1 1 - ошибка, 0 - успех (200, 201 и тд)\r\n */\r\n ResponseError: any;\r\n /**\r\n * string для ResponseError=1\r\n */\r\n ReportError: any;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n public setError(error:any) {\r\n this.ResponseTimestamp = Date.now();\r\n this.ResponseError = 1;\r\n this.ReportError = error;\r\n }\r\n public setSuccess(){\r\n this.ResponseTimestamp = Date.now();\r\n this.ResponseError = 0;\r\n this.ReportError = undefined;\r\n }\r\n\r\n}\r\n","<!-- Block for test -->\r\n<div style=\"display: none;\">\r\n <input id=\"ResponseTimestamp\" type=\"hidden\" value=\"{{ResponseTimestamp}}\" />\r\n <input id=\"ResponseError\" type=\"hidden\" value=\"{{ResponseError}}\" />\r\n <input id=\"ReportError\" type=\"hidden\" value=\"{{ReportError}}\" />\r\n</div>","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MefDevSpecFlowTestComponent } from './spec-flow-test/spec-flow-test.component';\r\n\r\n@NgModule({\r\n declarations: [MefDevSpecFlowTestComponent],\r\n exports: [MefDevSpecFlowTestComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class MefDevSpecFlowTestModule {\r\n static forRoot(): ModuleWithProviders<MefDevSpecFlowTestModule> {\r\n return {\r\n ngModule: MefDevSpecFlowTestModule\r\n };\r\n }\r\n }\r\n","import {\r\n\tforwardRef,\r\n\tComponent,\r\n\tHostListener,\r\n\tInput,\r\n\tOnInit,\r\n\tViewEncapsulation,\r\n\tOutput\r\n} from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { toBoolean } from \"../util/convert\";\r\n\r\n\r\n/**\r\n * @component\r\n * @skipTemplateDoc: true\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/switch</example-url>\r\n*/\r\n@Component({\r\n\tselector: \"mefdev-switch\",\r\n\tencapsulation: ViewEncapsulation.None,\r\n\ttemplateUrl: \"./switch.component.html\",\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => MefDevSwitchComponent),\r\n\t\t\tmulti: true\r\n\t\t}\r\n\t]\r\n})\r\nexport class MefDevSwitchComponent implements OnInit, ControlValueAccessor {\r\n\t // Private variables\r\n\tprivate _disabled = false;\r\n\t_prefixCls = \"toggle-switch\";\r\n\t_color = \"primary\";\r\n\t_innerPrefixCls = `${this._prefixCls}-inner `;\r\n\t_classMap:any;\r\n\t_size: string;\r\n\t_checked = false;\r\n\r\n\t// ngModel Access\r\n\t// Output event triggered when the switch value changes\r\n\t@Output()\r\n\t/**\r\n * Event emitted when the value of the switch changes.\r\n * \r\n * @output\r\n * @param value The new value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch (onChange)=\"handleSwitchChange($event)\"></mefdev-switch>\r\n * ```\r\n */\r\n\tonChange: (value: boolean) => void = () => null;\r\n\tonTouched: () => void = () => null;\r\n\r\n\t// Input properties\r\n\r\n\t/**\r\n * Sets the value of the switch.\r\n * \r\n * @input\r\n * @param value The value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Value]=\"true\"></mefdev-switch>\r\n * ```\r\n */\r\n @Input()\r\n\tset Value(value: boolean) {\r\n\t\tthis.updateValue(value);\r\n\t}\r\n\r\n\t/**\r\n * Sets the size of the switch.\r\n * \r\n * @input\r\n * @param value The size of the switch (e.g., \"small\", \"large\").\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Size]=\"'small'\"></mefdev-switch>\r\n * ```\r\n */\r\n\t@Input()\r\n\tset Size(value: string) {\r\n\t\tthis._size = value;\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t/**\r\n * Sets the color of the switch.\r\n * \r\n * @input\r\n * @param value The color of the switch (e.g., \"primary\", \"secondary\").\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Color]=\"'primary'\"></mefdev-switch>\r\n * ```\r\n */\r\n\t@Input()\r\n\tset Color(value: string) {\r\n\t\tthis._color = value;\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t/**\r\n * Gets the current size of the switch.\r\n * \r\n * @input\r\n * @returns The size of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * const size = mySwitchComponent.Size;\r\n * ```\r\n */\r\n\tget Size(): string {\r\n\t\treturn this._size;\r\n\t}\r\n\r\n\t/**\r\n * Sets the disabled state of the switch.\r\n * \r\n * @input\r\n * @param value The disabled state of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch [Disabled]=\"true\"></mefdev-switch>\r\n * ```\r\n */\r\n\t@Input()\r\n\tset Disabled(value: boolean) {\r\n\t\tthis._disabled = toBoolean(value);\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t /**\r\n * Gets the current disabled state of the switch.\r\n * \r\n * @input\r\n * @returns The disabled state of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * const disabled = mySwitchComponent.Disabled;\r\n * ```\r\n */\r\n\tget Disabled(): boolean {\r\n\t\treturn this._disabled;\r\n\t}\r\n\r\n\t // Host listener for click event\r\n\t@HostListener(\"click\", [\"$event\"])\r\n\r\n\t/**\r\n * Handles the click event of the switch.\r\n * \r\n * @param e The click event object.\r\n * \r\n * Usage example:\r\n * ```\r\n * <mefdev-switch (click)=\"handleSwitchClick($event)\"></mefdev-switch>\r\n * ```\r\n */\r\n\tonClick(e: MouseEvent): void {\r\n\t\te.preventDefault();\r\n\t\tif (!this._disabled) {\r\n\t\t\tthis.updateValue(!this._checked);\r\n\t\t\tthis.onChange(this._checked);\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\t// Helper functions\r\n\r\n /**\r\n * Updates the value of the switch.\r\n * \r\n * @param value The new value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.updateValue(true);\r\n * ```\r\n */\r\n\tupdateValue(value: boolean): void {\r\n\t\tif (this._checked === value) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._checked = value;\r\n\t\tthis.setClassMap();\r\n\t}\r\n\r\n\t/**\r\n * Sets the class map for the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.setClassMap();\r\n * ```\r\n */\r\n\tsetClassMap(): void {\r\n\t\tthis._classMap = {\r\n\t\t\t[this._prefixCls]: true,\r\n\t\t\t[`${this._prefixCls}-checked`]: this._checked,\r\n\t\t\t[`${this._prefixCls}-disabled`]: this._disabled,\r\n\t\t\t[`${this._prefixCls}-small`]: this._size === \"small\",\r\n\t\t\t[this._color]: this._color\r\n\t\t};\r\n\t}\r\n\r\n\t\r\n\t// ControlValueAccessor interface implementation\r\n\r\n /**\r\n * Writes a new value to the switch.\r\n * \r\n * @param value The new value of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.writeValue(true);\r\n * ```\r\n */\r\n\tpublic writeValue(value: boolean): void {\r\n\t\tthis.updateValue(value);\r\n\t}\r\n\r\n\t/**\r\n * Registers a callback function to be executed when the switch value changes.\r\n * \r\n * @param fn The callback function.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.registerOnChange(value => {\r\n * // Do something with the new value\r\n * });\r\n * ```\r\n */\r\n\tregisterOnChange(fn: (_: boolean) => void): void {\r\n\t\tthis.onChange = fn;\r\n\t}\r\n\r\n\t/**\r\n * Registers a callback function to be executed when the switch is touched.\r\n * \r\n * @param fn The callback function.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.registerOnTouched(() => {\r\n * // Do something when the switch is touched\r\n * });\r\n * ```\r\n */\r\n\tregisterOnTouched(fn: () => void): void {\r\n\t\tthis.onTouched = fn;\r\n\t}\r\n\r\n\t/**\r\n * Sets the disabled state of the switch.\r\n * \r\n * @param isDisabled The disabled state of the switch.\r\n * \r\n * Usage example:\r\n * ```\r\n * this.setDisabledState(true);\r\n * ```\r\n */\r\n\tsetDisabledState(isDisabled: boolean): void {\r\n\t\tthis.Disabled = isDisabled;\r\n\t}\r\n\r\n\t // OnInit lifecycle hook\r\n\tngOnInit(): void {\r\n\t\tthis.setClassMap();\r\n\t}\r\n}\r\n","<span [ngClass]=\"_classMap\" tabindex=\"0\">\r\n <span [ngClass]=\"_innerPrefixCls\">\r\n <ng-template [ngIf]=\"_checked\">\r\n <ng-content select=\"[checked]\"></ng-content>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!_checked\">\r\n <ng-content select=\"[unchecked]\"></ng-content>\r\n </ng-template>\r\n </span>\r\n</span>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MefDevSwitchComponent } from './switch.component';\r\n\r\n@NgModule({\r\n exports : [ MefDevSwitchComponent ],\r\n declarations: [ MefDevSwitchComponent ],\r\n imports : [ CommonModule ]\r\n})\r\nexport class MefDevSwitchModule {\r\n}\r\n","import { Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * Component representing the body of a tab, which displays the tab's content.\r\n */\r\n@Component({\r\n selector: 'mefdev-tab-body',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl:\"./tab-body.component.html\",\r\n})\r\nexport class MefDevTabBodyComponent {\r\n /**\r\n * The content of the tab, which can be passed as a template.\r\n */\r\n @Input() content: TemplateRef<void>;\r\n}\r\n","<ng-template [ngTemplateOutlet]=\"content\"></ng-template>","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\r\nimport { toBoolean } from '../util/convert';\r\n\r\n@Directive({\r\n selector: '[mefdev-tab-label]',\r\n host: {\r\n '[class.nav-item]': 'true'\r\n }\r\n})\r\nexport class MefDevTabLabelDirective {\r\n private _disabled = false;\r\n\r\n @Input()\r\n @HostBinding('class.nav-item-disabled')\r\n set disabled(value: boolean) {\r\n this._disabled = toBoolean(value);\r\n }\r\n\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n constructor(public elementRef: ElementRef) {}\r\n\r\n getOffsetLeft(): number {\r\n return this.elementRef.nativeElement.offsetLeft;\r\n }\r\n\r\n getOffsetWidth(): number {\r\n return this.elementRef.nativeElement.offsetWidth;\r\n }\r\n\r\n getOffsetTop(): number {\r\n return this.elementRef.nativeElement.offsetTop;\r\n }\r\n\r\n getOffsetHeight(): number {\r\n return this.elementRef.nativeElement.offsetHeight;\r\n }\r\n}\r\n","\r\nconst availablePrefixs = ['moz', 'ms', 'webkit'];\r\n\r\nfunction requestAnimationFramePolyfill(): typeof requestAnimationFrame {\r\n let lastTime = 0;\r\n return function (callback: FrameRequestCallback): number {\r\n const currTime = new Date().getTime();\r\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n const id = window.setTimeout(() => { callback(currTime + timeToCall); }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n}\r\n\r\nfunction getRequestAnimationFrame(): typeof requestAnimationFrame {\r\n if (typeof window === 'undefined') {\r\n //@ts-ignore\r\n return () => null;\r\n }\r\n if (window.requestAnimationFrame) {\r\n return window.requestAnimationFrame.bind(window);\r\n }\r\n\r\n const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];\r\n\r\n return prefix\r\n ? window[`${prefix}RequestAnimationFrame`]\r\n : requestAnimationFramePolyfill();\r\n}\r\n\r\nexport const reqAnimFrame = getRequestAnimationFrame();\r\n","import { Directive, ElementRef, HostBinding, Input, NgZone, Renderer2 } from '@angular/core';\r\nimport { reqAnimFrame } from '../util/request-animation';\r\nimport { toBoolean } from '../util/convert';\r\n\r\nexport type TabPositionMode = 'horizontal' | 'vertical';\r\n\r\n@Directive({\r\n selector: '[mefdev-tabs-ink-bar]',\r\n host: {\r\n '[class.nav-item]': 'true'\r\n }\r\n})\r\nexport class MefDevTabsInkBarDirective {\r\n private _animated = false;\r\n\r\n @Input()\r\n @HostBinding('class.nav-item-animated')\r\n set Animated(value: boolean) {\r\n this._animated = toBoolean(value);\r\n }\r\n\r\n get Animated(): boolean {\r\n return this._animated;\r\n }\r\n\r\n @Input() PositionMode: TabPositionMode = 'horizontal';\r\n\r\n constructor(private _renderer: Renderer2, private _elementRef: ElementRef, private _ngZone: NgZone) {}\r\n\r\n alignToElement(element: HTMLElement): void {\r\n this.show();\r\n\r\n this._ngZone.runOutsideAngular(() => {\r\n reqAnimFrame(() => {\r\n /** when horizontal remove height style and add transfrom left **/\r\n if (this.PositionMode === 'horizontal') {\r\n this._renderer.removeStyle(this._elementRef.nativeElement, 'height');\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'transform', `translate3d(${this._getLeftPosition(element)}, 0px, 0px)`);\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'width', this._getElementWidth(element));\r\n } else {\r\n /** when vertical remove width style and add transfrom top **/\r\n this._renderer.removeStyle(this._elementRef.nativeElement, 'width');\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'transform', `translate3d(0px, ${this._getTopPosition(element)}, 0px)`);\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'height', this._getElementHeight(element));\r\n }\r\n });\r\n });\r\n }\r\n\r\n show(): void {\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'visibility', 'visible');\r\n }\r\n\r\n setDisplay(value: string): void {\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'display', value);\r\n }\r\n\r\n hide(): void {\r\n this._renderer.setStyle(this._elementRef.nativeElement, 'visibility', 'hidden');\r\n }\r\n\r\n _getLeftPosition(element: HTMLElement): string {\r\n return element ? element.offsetLeft + 'px' : '0';\r\n }\r\n\r\n _getElementWidth(element: HTMLElement): string {\r\n return element ? element.offsetWidth + 'px' : '0';\r\n }\r\n\r\n _getTopPosition(element: HTMLElement): string {\r\n return element ? element.offsetTop + 'px' : '0';\r\n }\r\n\r\n _getElementHeight(element: HTMLElement): string {\r\n return element ? element.offsetHeight + 'px' : '0';\r\n }\r\n}\r\n","/** code from https://github.com/angular/material2 */\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n Optional,\r\n QueryList,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Subscription, fromEvent, merge, of as observableOf } from 'rxjs';\r\nimport { auditTime, startWith } from 'rxjs/operators';\r\nimport { toBoolean } from '../util/convert';\r\nimport { MefDevTabLabelDirective } from './tab-label.directive';\r\nimport { MefDevTabsInkBarDirective } from './tabs-ink-bar.directive';\r\n\r\nconst EXAGGERATED_OVERSCROLL = 64;\r\nexport type ScrollDirection = 'after' | 'before';\r\n\r\n/** duplicated defined https://github.com/angular/angular-cli/issues/2034 **/\r\nexport type TabPositionMode = 'horizontal' | 'vertical';\r\n\r\n@Component({\r\n selector: 'mefdev-tabs-nav',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./tabs-nav.component.html\"\r\n})\r\nexport class MefDevTabsNavComponent implements AfterContentChecked, AfterContentInit {\r\n private _animated = true;\r\n private _hideBar = false;\r\n private _showPagination = true;\r\n\r\n _showPaginationControls = false;\r\n _disableScrollAfter = true;\r\n _disableScrollBefore = true;\r\n _scrollDistance = 0;\r\n _selectedIndexChanged = false;\r\n _realignInkBar: Subscription | null = null;\r\n _tabLabelCount: number;\r\n _scrollDistanceChanged: boolean;\r\n _selectedIndex = 0;\r\n _tabPositionMode: TabPositionMode = 'horizontal';\r\n _tabPosition = 'top';\r\n @Input() Size = 'default';\r\n _type = 'line';\r\n\r\n @Input()\r\n set Animated(value: boolean) {\r\n this._animated = toBoolean(value);\r\n }\r\n\r\n get Animated(): boolean {\r\n return this._animated;\r\n }\r\n\r\n @Input()\r\n set Position(value: string) {\r\n this._tabPosition = value;\r\n }\r\n\r\n get Position(): string {\r\n return this._tabPosition;\r\n }\r\n\r\n @Input()\r\n set HideBar(value: boolean) {\r\n this._hideBar = toBoolean(value);\r\n }\r\n\r\n get HideBar(): boolean {\r\n return this._hideBar;\r\n }\r\n\r\n @Input()\r\n set Type(value: string) {\r\n this._type = value;\r\n }\r\n\r\n get Type(): string {\r\n return this._type;\r\n }\r\n\r\n @ContentChild('tabBarExtraContent', { static: true }) _tabBarExtraContent: TemplateRef<void>;\r\n @ContentChildren(MefDevTabLabelDirective) _labelWrappers: QueryList<MefDevTabLabelDirective>;\r\n @ViewChild(MefDevTabsInkBarDirective, { static: true }) _inkBar: MefDevTabsInkBarDirective;\r\n @ViewChild('tabListContainer', { static: true }) _tabListContainer: ElementRef;\r\n @ViewChild('tabList', { static: true }) _tabList: ElementRef;\r\n\r\n @Input()\r\n set ShowPagination(value: boolean) {\r\n this._showPagination = toBoolean(value);\r\n }\r\n\r\n get ShowPagination(): boolean {\r\n return this._showPagination;\r\n }\r\n\r\n @Input()\r\n set PositionMode(value: TabPositionMode) {\r\n this._tabPositionMode = value;\r\n this._alignInkBarToSelectedTab();\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n }\r\n\r\n get PositionMode(): TabPositionMode {\r\n return this._tabPositionMode;\r\n }\r\n\r\n @Input()\r\n set selectedIndex(value: number) {\r\n this._selectedIndexChanged = this._selectedIndex !== value;\r\n\r\n this._selectedIndex = value;\r\n }\r\n\r\n get selectedIndex(): number {\r\n return this._selectedIndex;\r\n }\r\n\r\n constructor(\r\n public _elementRef: ElementRef,\r\n private _ngZone: NgZone,\r\n private _renderer: Renderer2,\r\n @Optional() private _dir: Directionality\r\n ) {}\r\n\r\n _onContentChanges(): void {\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n this._alignInkBarToSelectedTab();\r\n }\r\n\r\n _scrollHeader(scrollDir: ScrollDirection): void {\r\n // Move the scroll distance one-third the length of the tab list's viewport.\r\n this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * this.viewWidthHeightPix) / 3;\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this._tabLabelCount !== this._labelWrappers.length) {\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n this._tabLabelCount = this._labelWrappers.length;\r\n }\r\n if (this._selectedIndexChanged) {\r\n this._scrollToLabel(this._selectedIndex);\r\n if (this.ShowPagination) {\r\n this._checkScrollingControls();\r\n }\r\n this._alignInkBarToSelectedTab();\r\n this._selectedIndexChanged = false;\r\n }\r\n if (this._scrollDistanceChanged) {\r\n if (this.ShowPagination) {\r\n this._updateTabScrollPosition();\r\n }\r\n this._scrollDistanceChanged = false;\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this._realignInkBar = this._ngZone.runOutsideAngular(() => {\r\n const dirChange = this._dir ? this._dir.change : observableOf(null);\r\n const resize = typeof window !== 'undefined' ? fromEvent(window, 'resize').pipe(auditTime(10)) : observableOf(null);\r\n //@ts-ignore\r\n return merge(dirChange, resize)\r\n .pipe(startWith(null))\r\n .subscribe(() => {\r\n if (this.ShowPagination) {\r\n this._updatePagination();\r\n }\r\n this._alignInkBarToSelectedTab();\r\n });\r\n });\r\n }\r\n\r\n _updateTabScrollPosition(): void {\r\n const scrollDistance = this.scrollDistance;\r\n if (this.PositionMode === 'horizontal') {\r\n const translateX = this._getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;\r\n this._renderer.setStyle(this._tabList.nativeElement, 'transform', `translate3d(${translateX}px, 0, 0)`);\r\n } else {\r\n this._renderer.setStyle(this._tabList.nativeElement, 'transform', `translate3d(0,${-scrollDistance}px, 0)`);\r\n }\r\n }\r\n\r\n _updatePagination(): void {\r\n this._checkPaginationEnabled();\r\n this._checkScrollingControls();\r\n this._updateTabScrollPosition();\r\n }\r\n\r\n _checkPaginationEnabled(): void {\r\n this._showPaginationControls = this.tabListScrollWidthHeightPix > this.elementRefOffSetWidthHeight;\r\n\r\n if (!this._showPaginationControls) {\r\n this.scrollDistance = 0;\r\n }\r\n }\r\n\r\n _scrollToLabel(labelIndex: number): void {\r\n const selectedLabel = this._labelWrappers ? this._labelWrappers.toArray()[labelIndex] : null;\r\n\r\n if (!selectedLabel) {\r\n return;\r\n }\r\n\r\n // The view length is the visible width of the tab labels.\r\n\r\n let labelBeforePos: number;\r\n let labelAfterPos: number;\r\n if (this.PositionMode === 'horizontal') {\r\n if (this._getLayoutDirection() === 'ltr') {\r\n labelBeforePos = selectedLabel.getOffsetLeft();\r\n labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();\r\n } else {\r\n labelAfterPos = this._tabList.nativeElement.offsetWidth - selectedLabel.getOffsetLeft();\r\n labelBeforePos = labelAfterPos - selectedLabel.getOffsetWidth();\r\n }\r\n } else {\r\n labelBeforePos = selectedLabel.getOffsetTop();\r\n labelAfterPos = labelBeforePos + selectedLabel.getOffsetHeight();\r\n }\r\n const beforeVisiblePos = this.scrollDistance;\r\n const afterVisiblePos = this.scrollDistance + this.viewWidthHeightPix;\r\n\r\n if (labelBeforePos < beforeVisiblePos) {\r\n // Scroll header to move label to the before direction\r\n this.scrollDistance -= beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;\r\n } else if (labelAfterPos > afterVisiblePos) {\r\n // Scroll header to move label to the after direction\r\n this.scrollDistance += labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;\r\n }\r\n }\r\n\r\n _checkScrollingControls(): void {\r\n // Check if the pagination arrows should be activated.\r\n this._disableScrollBefore = this.scrollDistance === 0;\r\n this._disableScrollAfter = this.scrollDistance === this._getMaxScrollDistance();\r\n }\r\n\r\n /**\r\n * Determines what is the maximum length in pixels that can be set for the scroll distance. This\r\n * is equal to the difference in width between the tab list container and tab header container.\r\n *\r\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\r\n * should be called sparingly.\r\n */\r\n _getMaxScrollDistance(): number {\r\n return this.tabListScrollWidthHeightPix - this.viewWidthHeightPix || 0;\r\n }\r\n\r\n /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */\r\n set scrollDistance(v: number) {\r\n this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));\r\n\r\n // Mark that the scroll distance has changed so that after the view is checked, the CSS\r\n // transformation can move the header.\r\n this._scrollDistanceChanged = true;\r\n\r\n this._checkScrollingControls();\r\n }\r\n\r\n get scrollDistance(): number {\r\n return this._scrollDistance;\r\n }\r\n\r\n get viewWidthHeightPix(): number {\r\n let PAGINATION_PIX = 0;\r\n if (this._showPaginationControls) {\r\n PAGINATION_PIX = 64;\r\n }\r\n if (this.PositionMode === 'horizontal') {\r\n return this._tabListContainer.nativeElement.offsetWidth - PAGINATION_PIX;\r\n } else {\r\n return this._tabListContainer.nativeElement.offsetHeight - PAGINATION_PIX;\r\n }\r\n }\r\n\r\n get tabListScrollWidthHeightPix(): number {\r\n if (this.PositionMode === 'horizontal') {\r\n return this._tabList.nativeElement.scrollWidth;\r\n } else {\r\n return this._tabList.nativeElement.scrollHeight;\r\n }\r\n }\r\n\r\n get elementRefOffSetWidthHeight(): number {\r\n if (this.PositionMode === 'horizontal') {\r\n return this._elementRef.nativeElement.offsetWidth;\r\n } else {\r\n return this._elementRef.nativeElement.offsetHeight;\r\n }\r\n }\r\n\r\n _getLayoutDirection(): Direction {\r\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\r\n }\r\n\r\n _alignInkBarToSelectedTab(): void {\r\n if (this.Type !== 'fillup') {\r\n const selectedLabelWrapper =\r\n this._labelWrappers && this._labelWrappers.length\r\n ? this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement\r\n : null;\r\n if (this._inkBar) {\r\n this._inkBar.alignToElement(selectedLabelWrapper);\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"nav-tabs-wrapper\" [class.scrolling]=\"_showPaginationControls\" #tabListContainer>\r\n <div class=\"nav-wrap\">\r\n <ul\r\n class=\"nav nav-tabs nav-tabs-{{ _type }} nav-tabs-{{ _tabPosition }}\"\r\n [class.tabs-nav-animated]=\"Animated\"\r\n #tabList\r\n (cdkObserveContent)=\"_onContentChanges()\"\r\n >\r\n <div\r\n class=\"active-bar\"\r\n mefdev-tabs-ink-bar\r\n [hidden]=\"HideBar\"\r\n [Animated]=\"Animated\"\r\n [PositionMode]=\"PositionMode\"\r\n style=\"display: block;\"\r\n ></div>\r\n <ng-content></ng-content>\r\n </ul>\r\n </div>\r\n </div>","/** code from https://github.com/angular/material2 */\r\n\r\nimport {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { MefDevTabComponent } from './tab.component';\r\nimport { MefDevTabsNavComponent } from './tabs-nav.component';\r\n\r\nexport interface AnimatedInterface {\r\n inkBar: boolean;\r\n tabPane: boolean;\r\n}\r\n\r\nexport class TabChangeEvent {\r\n index: number;\r\n tab: MefDevTabComponent;\r\n}\r\n\r\nexport type TabPosition = 'top' | 'bottom' | 'left' | 'right';\r\nexport type TabPositionMode = 'horizontal' | 'vertical';\r\nexport type TabType = 'line' | 'fillup' | 'linetriangle';\r\n\r\n\r\n/**\r\n * Represents a tab set or tab group component.\r\n * @example\r\n * <mefdev-tabset TabPosition=\"top\" Animated=\"true\" ShowPagination=\"true\">\r\n * <mefdev-tab label=\"Tab 1\">Tab 1 content</mefdev-tab>\r\n * <mefdev-tab label=\"Tab 2\">Tab 2 content</mefdev-tab>\r\n * </mefdev-tabset>\r\n *\r\n * Example of usage:\r\n * <example-url>https://mef.dev/ui_kit_demo/view/tabset</example-url>\r\n */\r\n@Component({\r\n selector: 'mefdev-tabset',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./tabset.component.html\",\r\n})\r\nexport class MefDevTabSetComponent implements AfterContentChecked, OnInit, AfterViewInit {\r\n _el:any;\r\n _classMap:any;\r\n _prefixCls = 'nav-tabs';\r\n _width:any;\r\n _tabPosition: TabPosition = 'top';\r\n _tabPositionMode: TabPositionMode = 'horizontal';\r\n _indexToSelect: number | null = 0;\r\n _selectedIndex: number | null = null;\r\n _isViewInit = false;\r\n _tabs: MefDevTabComponent[] = [];\r\n _tabAnimation = '';\r\n _extra_tab_class = '';\r\n _extra_tabcontent_class = '';\r\n\r\n /**\r\n * Template reference for additional content to be displayed in the tab bar.\r\n */\r\n @Input() TabBarExtraTemplate: TemplateRef<void>;\r\n @ContentChild('TabBarExtraContent', { static: true }) TabBarExtraContent: TemplateRef<void>;\r\n @ViewChild('tabNav', { static: true }) _tabNav: MefDevTabsNavComponent;\r\n @ViewChild('tabContent', { static: true }) _tabContent: ElementRef;\r\n @ViewChild('hostContent', { static: true }) _hostContent: ElementRef;\r\n\r\n /**\r\n * Whether the tab set is animated. Can be a boolean or an object of type AnimatedInterface.\r\n * @example\r\n * - true (enables animation for both ink bar and tab pane)\r\n * - { inkBar: true, tabPane: false } (enables animation for ink bar only)\r\n * Default: true\r\n */\r\n\r\n @Input() Animated: AnimatedInterface | boolean = true;\r\n\r\n /**\r\n * Whether to show pagination controls for scrolling tabs.\r\n * @example true\r\n * Default: true\r\n */\r\n @Input() ShowPagination = true;\r\n\r\n /**\r\n * Whether the tab set is hidden.\r\n * @example true\r\n * Default: false\r\n */\r\n @Input() Hide = false;\r\n\r\n /**\r\n * The index of the selected tab.\r\n */\r\n @Input()\r\n set SelectedIndex(value: number | null) {\r\n this._indexToSelect = value;\r\n }\r\n\r\n get SelectedIndex(): number | null {\r\n return this._selectedIndex;\r\n }\r\n\r\n /**\r\n * Event emitted when the selected tab index changes.\r\n * @returns An Observable emitting the index of the selected tab.\r\n */\r\n @Output()\r\n get SelectedIndexChange(): Observable<number> {\r\n //@ts-ignore\r\n return this.SelectChange.pipe(map((event:any) => event.index));\r\n }\r\n\r\n /**\r\n * Event emitted when a tab is selected.\r\n * @example\r\n * <mefdev-tabset (SelectChange)=\"onTabSelect($event)\"></mefdev-tabset>\r\n */\r\n @Output() SelectChange: EventEmitter<TabChangeEvent> = new EventEmitter<TabChangeEvent>(true);\r\n\r\n /**\r\n * Size of the tab set. Can be 'default', 'small', or 'large'.\r\n * @example 'large'\r\n * Default: 'default'\r\n */\r\n @Input() Size = 'default';\r\n _type: TabType = 'line';\r\n tabs: MefDevTabComponent[] = [];\r\n\r\n /**\r\n * Position of the tab set. Can be 'top', 'bottom', 'left', or 'right'.\r\n */\r\n @Input()\r\n set TabPosition(value: TabPosition) {\r\n this._tabPosition = value;\r\n this._tabPositionMode = (value === 'top' || value === 'bottom') ? 'horizontal' : 'vertical';\r\n }\r\n get TabPosition(): TabPosition {\r\n return this._tabPosition;\r\n }\r\n\r\n /**\r\n * Additional CSS class for the tabs.\r\n */\r\n @Input()\r\n set extraTabClass(value: string) {\r\n this._extra_tab_class = value;\r\n }\r\n\r\n /**\r\n * Additional CSS class for the tab content.\r\n */\r\n @Input()\r\n set extraTabContentClass(value: string) {\r\n this._extra_tabcontent_class = value;\r\n }\r\n\r\n /**\r\n * Type of the tab set. Can be 'line', 'fillup', or 'linetriangle'.\r\n */\r\n @Input()\r\n set Type(value: TabType) {\r\n if (this._type === value) {\r\n return;\r\n }\r\n this._type = value;\r\n this._setClassMap();\r\n }\r\n\r\n /**\r\n * Animation to apply to the tabs. Accepts CSS animation name.\r\n */\r\n @Input()\r\n set tabAnimation(value: string) {\r\n this._tabAnimation = value;\r\n }\r\n\r\n get Type(): TabType {\r\n return this._type;\r\n }\r\n\r\n _setPosition(value: TabPosition): void {}\r\n\r\n _setClassMap(): void {}\r\n\r\n // Other properties, methods, and lifecycle hooks...\r\n\r\n /**\r\n * Selects the tab at the specified index.\r\n * @param index The index of the tab to select.\r\n * ```\r\n * <button (click)=\"clickLabel(0)\">Select Tab 1</button>\r\n *```\r\n */\r\n clickLabel(index: number): void {\r\n if (this._tabs[index].Disabled) {\r\n } else {\r\n this.SelectedIndex = index;\r\n this._tabs[index].pgClick.emit();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._setClassMap();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n // Clamp the next selected index to the bounds of 0 and the tabs length. Note the `|| 0`, which\r\n // ensures that values like NaN can't get through and which would otherwise throw the\r\n // component into an infinite loop (since Math.max(NaN, 0) === NaN).\r\n const indexToSelect = (this._indexToSelect = Math.min(this._tabs.length - 1, Math.max(this._indexToSelect || 0, 0)));\r\n\r\n // If there is a change in selected index, emit a change event. Should not trigger if\r\n // the selected index has not yet been initialized.\r\n if (this._selectedIndex !== indexToSelect && this._selectedIndex != null) {\r\n this.SelectChange.emit(this._createChangeEvent(indexToSelect));\r\n }\r\n\r\n // Setup the position for each tab and optionally setup an origin on the next selected tab.\r\n this._tabs.forEach((tab: MefDevTabComponent, index: number) => {\r\n tab.position = index - indexToSelect;\r\n // If there is already a selected tab, then set up an origin for the next selected tab\r\n // if it doesn't have one already.\r\n if (this._selectedIndex != null && tab.position === 0 && !tab.origin) {\r\n tab.origin = indexToSelect - this._selectedIndex;\r\n }\r\n });\r\n this._selectedIndex = indexToSelect;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._isViewInit = true;\r\n }\r\n\r\n private _createChangeEvent(index: number): TabChangeEvent {\r\n const event = new TabChangeEvent();\r\n event.index = index;\r\n if (this._tabs && this._tabs.length) {\r\n event.tab = this._tabs[index];\r\n this._tabs.forEach((item, i) => {\r\n if (i !== index) {\r\n item.pgDeselect.emit();\r\n }\r\n });\r\n event.tab.pgSelect.emit();\r\n }\r\n return event;\r\n }\r\n\r\n get inkBarAnimated(): boolean {\r\n return this.Animated === true || (this.Animated as AnimatedInterface).inkBar === true;\r\n }\r\n\r\n get tabPaneAnimated(): boolean {\r\n return this.Animated === true || (this.Animated as AnimatedInterface).tabPane === true;\r\n }\r\n\r\n constructor(private _renderer: Renderer2) {}\r\n}\r\n","<div class=\"tab-wrapper tab-{{ _tabPositionMode }} {{ _tabPosition }} {{ _type }} {{ _extra_tab_class }}\" #hostContent>\r\n <mefdev-tabs-nav\r\n #tabNav\r\n [Size]=\"Size\"\r\n [Type]=\"Type\"\r\n [ShowPagination]=\"ShowPagination\"\r\n [PositionMode]=\"_tabPositionMode\"\r\n [Position]=\"_tabPosition\"\r\n [Animated]=\"inkBarAnimated\"\r\n [HideBar]=\"Hide\"\r\n [selectedIndex]=\"SelectedIndex\"\r\n >\r\n <ng-template #tabBarExtraContent>\r\n <ng-template [ngTemplateOutlet]=\"TabBarExtraTemplate || TabBarExtraContent\"></ng-template>\r\n </ng-template>\r\n <li mefdev-tab-label [disabled]=\"tab.disabled\" (click)=\"clickLabel(i)\" *ngFor=\"let tab of _tabs; let i = index\">\r\n <a href=\"javascript:void(0);\" class=\"\" [class.active]=\"SelectedIndex == i && !Hide\">\r\n <ng-template [ngTemplateOutlet]=\"tab._tabHeading\"></ng-template>\r\n </a>\r\n </mefdev-tabs-nav>\r\n <div class=\"tab-content-wrapper {{ _extra_tabcontent_class }}\">\r\n <div\r\n class=\"tab-content {{ _tabAnimation }}\"\r\n #tabContent\r\n [class.animated]=\"tabPaneAnimated\"\r\n [class.not-animated]=\"!tabPaneAnimated\"\r\n [style.margin-left.%]=\"tabPaneAnimated && -(SelectedIndex ?? -1) * 100\"\r\n >\r\n <mefdev-tab-body\r\n class=\"tab-pane\"\r\n [class.active]=\"SelectedIndex == i && !Hide\"\r\n [class.inactive]=\"SelectedIndex != i || Hide\"\r\n [content]=\"tab.content\"\r\n *ngFor=\"let tab of _tabs; let i = index\"\r\n >\r\n </mefdev-tab-body>\r\n </div>\r\n </div>\r\n </div>","import {\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { toBoolean } from '../util/convert';\r\nimport { MefDevTabSetComponent } from './tabset.component';\r\n\r\n@Component({\r\n selector: 'mefdev-tab',\r\n templateUrl:\"./tab.component.html\" ,\r\n styles: [],\r\n host: {\r\n '[class.ant-tabs-tabpane]': 'true'\r\n }\r\n})\r\nexport class MefDevTabComponent implements OnDestroy, OnInit {\r\n private disabled = false;\r\n\r\n position: number | null = null;\r\n origin: number | null = null;\r\n\r\n /**\r\n * Sets the disabled state of the tab.\r\n *```html\r\n * <mefdev-tab [Disabled]=\"true\"></mefdev-tab>\r\n * ```\r\n */\r\n @Input()\r\n set Disabled(value: boolean) {\r\n this.disabled = toBoolean(value);\r\n }\r\n\r\n /**\r\n * Gets the disabled state of the tab.\r\n */\r\n get Disabled(): boolean {\r\n return this.disabled;\r\n }\r\n\r\n /**\r\n * Event emitted when the tab is selected.\r\n *```html\r\n * <mefdev-tab (pgSelect)=\"onTabSelect()\"></mefdev-tab>\r\n * ```\r\n */\r\n @Output() pgSelect = new EventEmitter();\r\n\r\n /**\r\n * Event emitted when the tab is clicked.\r\n *```html\r\n * <mefdev-tab (pgClick)=\"onTabClick()\"></mefdev-tab>\r\n * ```\r\n */\r\n @Output() pgClick = new EventEmitter();\r\n\r\n /**\r\n * Event emitted when the tab is deselected.\r\n *```html\r\n * <mefdev-tab (pgDeselect)=\"onTabDeselect()\"></mefdev-tab>\r\n *```\r\n */\r\n @Output() pgDeselect = new EventEmitter();\r\n\r\n /**\r\n * Reference to the template for the tab heading.\r\n */\r\n @ContentChild('TabHeading', { static: true }) _tabHeading: TemplateRef<void>;\r\n\r\n /**\r\n * Reference to the template for the tab content.\r\n */\r\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<void>;\r\n\r\n /**\r\n * Gets the template for the tab content.\r\n *```html\r\n * <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n *```\r\n */\r\n get content(): TemplateRef<void> | null {\r\n return this._content;\r\n }\r\n\r\n constructor(private MefDevTabSetComponent: MefDevTabSetComponent) {}\r\n\r\n /**\r\n * Initializes the tab component.\r\n */\r\n ngOnInit(): void {\r\n this.MefDevTabSetComponent._tabs.push(this);\r\n }\r\n\r\n /**\r\n * Cleans up resources when the tab component is destroyed.\r\n */\r\n ngOnDestroy(): void {\r\n // Remove the tab from the parent tabset component when destroyed\r\n this.MefDevTabSetComponent._tabs.splice(this.MefDevTabSetComponent._tabs.indexOf(this), 1);\r\n }\r\n}\r\n","<ng-template>\r\n <ng-content></ng-content>\r\n </ng-template>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MefDevTabBodyComponent } from './tab-body.component';\r\nimport { MefDevTabLabelDirective } from './tab-label.directive';\r\nimport { MefDevTabComponent } from './tab.component';\r\nimport { MefDevTabsInkBarDirective } from './tabs-ink-bar.directive';\r\nimport { MefDevTabsNavComponent } from './tabs-nav.component';\r\nimport { MefDevTabSetComponent } from './tabset.component';\r\n\r\n@NgModule({\r\n declarations: [MefDevTabComponent, MefDevTabSetComponent, MefDevTabsNavComponent, MefDevTabLabelDirective, MefDevTabsInkBarDirective, MefDevTabBodyComponent],\r\n exports: [MefDevTabComponent, MefDevTabSetComponent, MefDevTabsNavComponent, MefDevTabLabelDirective, MefDevTabsInkBarDirective, MefDevTabBodyComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class MefDevTabsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CollapseSetComponent","i2","i1.FilteredFieldService","i3.FilteredFieldItemComponent","i2.MefDevProgressComponent","i1","i3.pgCard","i1.MefDevSelectComponent","i2.SlideRightComponent","observableOf","i2.MefDevTabsInkBarDirective","i2.MefDevTabsNavComponent","i3.MefDevTabLabelDirective","i4.MefDevTabBodyComponent","i1.MefDevTabSetComponent"],"mappings":"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"}
|