@igo2/common 21.0.0-next.3 → 21.0.0-next.30
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/fesm2022/igo2-common-action.mjs +14 -14
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +7 -7
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +7 -7
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-clickout.mjs +7 -7
- package/fesm2022/igo2-common-clickout.mjs.map +1 -1
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +10 -10
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +8 -8
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +10 -10
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +10 -10
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +10 -10
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-datepicker.mjs +3 -3
- package/fesm2022/igo2-common-datepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +7 -7
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +10 -10
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +14 -14
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +31 -31
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +17 -14
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +379 -81
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +7 -7
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +6 -6
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +10 -10
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +13 -13
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +10 -10
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +10 -10
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +7 -7
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +10 -10
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +7 -7
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +10 -10
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +7 -7
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-timepicker.mjs +3 -3
- package/fesm2022/igo2-common-timepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +14 -14
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +14 -14
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +18 -18
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/package.json +3 -3
- package/style/style.css +1 -1
- package/types/igo2-common-entity.d.ts +2 -2
- package/types/igo2-common-flexible.d.ts +3 -2
- package/types/igo2-common-form.d.ts +204 -67
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-list.mjs","sources":["../../../packages/common/list/src/list-item.directive.ts","../../../packages/common/list/src/list.component.ts","../../../packages/common/list/src/list.component.html","../../../packages/common/list/src/list.module.ts","../../../packages/common/list/src/public_api.ts","../../../packages/common/list/src/igo2-common-list.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n Renderer2,\n inject,\n output\n} from '@angular/core';\n\n@Directive({\n selector: '[igoListItem]'\n})\nexport class ListItemDirective {\n renderer = inject(Renderer2);\n el = inject(ElementRef);\n\n static focusedCls = 'igo-list-item-focused';\n static selectedCls = 'igo-list-item-selected';\n static disabledCls = 'igo-list-item-disabled';\n\n @Input()\n get color() {\n return this._color;\n }\n set color(value: string) {\n this._color = value;\n }\n private _color = 'primary';\n\n @Input()\n get focused() {\n return this._focused;\n }\n set focused(value: boolean) {\n if (value === this._focused) {\n return;\n }\n if (this.disabled) {\n return;\n }\n\n value ? this.beforeFocus.emit(this) : this.beforeUnfocus.emit(this);\n\n this._focused = value;\n if (this.selected !== true) {\n this.toggleFocusedClass();\n }\n\n value ? this.focus.emit(this) : this.unfocus.emit(this);\n }\n private _focused = false;\n\n @Input()\n get selected() {\n return this._selected;\n }\n set selected(value: boolean) {\n if (value === this._selected) {\n return;\n }\n if (this.disabled) {\n return;\n }\n\n value ? this.beforeSelect.emit(this) : this.beforeUnselect.emit(this);\n\n this._selected = value;\n this._focused = value;\n this.toggleSelectedClass();\n\n value ? this.select.emit(this) : this.unselect.emit(this);\n }\n private _selected = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n if (value === this._disabled) {\n return;\n }\n\n if (value === true) {\n this.selected = false;\n }\n\n value ? this.beforeDisable.emit(this) : this.beforeEnable.emit(this);\n\n this._disabled = value;\n this.toggleDisabledClass();\n\n value ? this.disable.emit(this) : this.enable.emit(this);\n }\n private _disabled = false;\n\n readonly beforeSelect = output<ListItemDirective>();\n readonly beforeFocus = output<ListItemDirective>();\n readonly beforeUnselect = output<ListItemDirective>();\n readonly beforeUnfocus = output<ListItemDirective>();\n readonly beforeDisable = output<ListItemDirective>();\n readonly beforeEnable = output<ListItemDirective>();\n readonly focus = output<ListItemDirective>();\n readonly unfocus = output<ListItemDirective>();\n readonly select = output<ListItemDirective>();\n readonly unselect = output<ListItemDirective>();\n readonly disable = output<ListItemDirective>();\n readonly enable = output<ListItemDirective>();\n\n @HostListener('click')\n onClick() {\n this.selected = true;\n }\n\n getOffsetTop(): number {\n const padding = 5;\n\n return this.el.nativeElement.offsetTop - padding;\n }\n\n private toggleFocusedClass() {\n if (this.focused) {\n this.addCls(ListItemDirective.focusedCls);\n } else {\n this.removeCls(ListItemDirective.focusedCls);\n }\n }\n\n private toggleSelectedClass() {\n if (this.selected) {\n this.addCls(ListItemDirective.selectedCls);\n this.removeCls(ListItemDirective.focusedCls);\n } else {\n this.removeCls(ListItemDirective.selectedCls);\n }\n }\n\n private toggleDisabledClass() {\n if (this.disabled) {\n this.addCls(ListItemDirective.disabledCls);\n } else {\n this.removeCls(ListItemDirective.disabledCls);\n }\n }\n\n private addCls(cls: string) {\n this.renderer.addClass(this.el.nativeElement, cls);\n }\n\n private removeCls(cls: string) {\n this.renderer.removeClass(this.el.nativeElement, cls);\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n contentChildren,\n effect,\n inject\n} from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\nimport { ClickoutDirective } from '@igo2/common/clickout';\n\n// subscriptions can be rxjs Subscription or OutputRefSubscription-like objects\n\nimport { ListItemDirective } from './list-item.directive';\n\n@Component({\n selector: 'igo-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n imports: [MatListModule, ClickoutDirective],\n host: {\n '(document:keydown)': 'handleKeyboardEvent($event)'\n }\n})\nexport class ListComponent implements AfterViewInit, OnInit, OnDestroy {\n private el = inject(ElementRef);\n\n @Input()\n get navigation() {\n return this._navigation;\n }\n set navigation(value: boolean) {\n this._navigation = value;\n }\n private _navigation = true;\n\n @Input()\n get selection() {\n return this._selection;\n }\n set selection(value) {\n this._selection = value;\n }\n private _selection = true;\n\n get selectedItem() {\n return this._selectedItem;\n }\n set selectedItem(value) {\n this.focusedItem = value;\n this._selectedItem = value;\n }\n private _selectedItem?: ListItemDirective;\n\n get focusedItem() {\n return this._focusedItem;\n }\n set focusedItem(value) {\n this._focusedItem = value;\n }\n private _focusedItem?: ListItemDirective;\n\n private navigationEnabled = true;\n // Accept both rxjs Subscription and Angular signal OutputRefSubscription\n private subscriptions: { unsubscribe: () => void }[] = [];\n private listItemsEffect = effect(() => {\n this.listItems();\n this.init();\n });\n\n readonly listItems = contentChildren(ListItemDirective, {\n descendants: true\n });\n\n handleKeyboardEvent(event: KeyboardEvent) {\n // It would be nice to be able to unsubscribe to the event\n // completely but until ES7 this won't be possible because\n // document events are not observables\n if (this.navigationEnabled) {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.navigate(event.key);\n } else if (event.key === 'Enter') {\n if (this.focusedItem) {\n this.select(this.focusedItem);\n }\n }\n }\n }\n\n ngOnInit() {\n this.enableNavigation();\n }\n\n ngAfterViewInit() {\n const listItems = this.listItems();\n if (listItems.length) {\n this.init();\n }\n }\n\n ngOnDestroy() {\n this.unsubscribe();\n if (this.listItemsEffect) {\n this.listItemsEffect.destroy();\n }\n }\n\n focus(item?: ListItemDirective) {\n if (!this.selection) {\n return;\n }\n\n this.unfocus();\n\n // We need to make this check because dynamic\n // lists such as in the search results list may fail\n if (item !== undefined) {\n item.focused = true;\n }\n }\n\n unfocus() {\n if (this.focusedItem !== undefined) {\n this.focusedItem.focused = false;\n }\n\n this.focusedItem = undefined;\n }\n\n focusNext() {\n const items = this.listItems();\n let item: ListItemDirective | undefined;\n const igoList = this.el.nativeElement;\n let disabled = true;\n let index = this.getFocusedIndex();\n if (index === undefined) {\n index = -1;\n }\n\n while (disabled && index < items.length - 1) {\n index += 1;\n item = items[index];\n if (item) {\n disabled = item.disabled;\n }\n }\n\n if (item !== undefined) {\n this.focus(item);\n }\n\n if (!items[index + 1]) {\n igoList.scrollTop = igoList.scrollHeight - igoList.clientHeight;\n return;\n }\n\n if (item !== undefined && !this.isScrolledIntoView(item.el.nativeElement)) {\n igoList.scrollTop =\n item.el.nativeElement.offsetTop +\n item.el.nativeElement.children[0].offsetHeight -\n igoList.clientHeight;\n }\n }\n\n focusPrevious() {\n const items = this.listItems();\n let item: ListItemDirective | undefined;\n const igoList = this.el.nativeElement;\n let disabled = true;\n let index = this.getFocusedIndex();\n\n while (disabled && index > 0) {\n index -= 1;\n item = items[index];\n if (item) {\n disabled = item.disabled;\n }\n }\n\n if (item !== undefined) {\n this.focus(item);\n }\n\n if (index > 0 && !items[index - 1]) {\n igoList.scrollTop = 0;\n return;\n }\n\n if (item !== undefined && !this.isScrolledIntoView(item.el.nativeElement)) {\n const padding = 3;\n igoList.scrollTop = item.el.nativeElement.offsetTop - padding;\n }\n }\n\n select(item?: ListItemDirective) {\n if (!this.selection) {\n return;\n }\n\n this.unselect();\n\n if (item !== undefined) {\n item.selected = true;\n }\n }\n\n unselect() {\n this.unfocus();\n\n if (this.selectedItem !== undefined) {\n this.selectedItem.selected = false;\n }\n\n this.selectedItem = undefined;\n }\n\n enableNavigation() {\n if (this.navigation) {\n this.navigationEnabled = true;\n }\n }\n\n disableNavigation() {\n this.navigationEnabled = false;\n }\n\n scrollToItem(item: ListItemDirective) {\n this.el.nativeElement.scrollTop = item.getOffsetTop();\n }\n\n isScrolledIntoView(elem: HTMLElement) {\n const docViewTop =\n this.el.nativeElement.scrollTop + this.el.nativeElement.offsetTop;\n const docViewBottom = docViewTop + this.el.nativeElement.clientHeight;\n\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + (elem.children[0] as HTMLElement).offsetHeight;\n return elemBottom <= docViewBottom && elemTop >= docViewTop;\n }\n\n private init() {\n this.subscribe();\n\n this.selectedItem = this.findSelectedItem();\n this.focusedItem = this.findFocusedItem();\n\n this.enableNavigation();\n }\n\n private subscribe() {\n this.unsubscribe();\n\n this.listItems().forEach((item) => {\n this.subscriptions.push(\n item.beforeSelect.subscribe((item2: ListItemDirective) =>\n this.handleItemBeforeSelect(item2)\n )\n );\n\n this.subscriptions.push(\n item.select.subscribe((item2: ListItemDirective) =>\n this.handleItemSelect(item2)\n )\n );\n\n this.subscriptions.push(\n item.beforeFocus.subscribe((item2: ListItemDirective) =>\n this.handleItemBeforeFocus(item2)\n )\n );\n\n this.subscriptions.push(\n item.focus.subscribe((item2: ListItemDirective) =>\n this.handleItemFocus(item2)\n )\n );\n }, this);\n }\n\n private unsubscribe() {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n this.subscriptions = [];\n }\n\n private handleItemBeforeFocus(item: ListItemDirective) {\n if (item !== this.focusedItem) {\n this.unfocus();\n }\n }\n\n private handleItemFocus(item: ListItemDirective) {\n this.focusedItem = item;\n }\n\n private handleItemBeforeSelect(item: ListItemDirective) {\n if (item !== this.focusedItem) {\n this.unselect();\n }\n }\n\n private handleItemSelect(item: ListItemDirective) {\n this.selectedItem = item;\n }\n\n private findSelectedItem() {\n return this.listItems().find((item) => item.selected);\n }\n\n private findFocusedItem() {\n return this.listItems().find((item) => item.focused);\n }\n\n private getFocusedIndex() {\n return this.listItems().findIndex((item) => item === this.focusedItem);\n }\n\n private navigate(key: string) {\n switch (key) {\n case 'ArrowUp':\n this.focusPrevious();\n break;\n case 'ArrowDown':\n this.focusNext();\n break;\n default:\n break;\n }\n }\n}\n","<mat-list\n igoClickout\n [class.selectable]=\"selection\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\"\n>\n <ng-content />\n</mat-list>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ListItemDirective } from './list-item.directive';\nimport { ListComponent } from './list.component';\n\n/**\n * @deprecated import the components/directives directly or LIST_DIRECTIVES for the set\n */\n@NgModule({\n imports: [ListItemDirective, ListComponent],\n exports: [ListItemDirective, ListComponent]\n})\nexport class IgoListModule {\n static forRoot(): ModuleWithProviders<IgoListModule> {\n return {\n ngModule: IgoListModule,\n providers: []\n };\n }\n}\n","import { ListItemDirective } from './list-item.directive';\nimport { ListComponent } from './list.component';\n\nexport * from './list.module';\nexport * from './list.component';\nexport * from './list-item.directive';\n\nexport const LIST_DIRECTIVES = [ListItemDirective, ListComponent] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-list.mjs","sources":["../../../packages/common/list/src/list-item.directive.ts","../../../packages/common/list/src/list.component.ts","../../../packages/common/list/src/list.component.html","../../../packages/common/list/src/list.module.ts","../../../packages/common/list/src/public_api.ts","../../../packages/common/list/src/igo2-common-list.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n Renderer2,\n inject,\n output\n} from '@angular/core';\n\n@Directive({\n selector: '[igoListItem]'\n})\nexport class ListItemDirective {\n renderer = inject(Renderer2);\n el = inject(ElementRef);\n\n static focusedCls = 'igo-list-item-focused';\n static selectedCls = 'igo-list-item-selected';\n static disabledCls = 'igo-list-item-disabled';\n\n @Input()\n get color() {\n return this._color;\n }\n set color(value: string) {\n this._color = value;\n }\n private _color = 'primary';\n\n @Input()\n get focused() {\n return this._focused;\n }\n set focused(value: boolean) {\n if (value === this._focused) {\n return;\n }\n if (this.disabled) {\n return;\n }\n\n value ? this.beforeFocus.emit(this) : this.beforeUnfocus.emit(this);\n\n this._focused = value;\n if (this.selected !== true) {\n this.toggleFocusedClass();\n }\n\n value ? this.focus.emit(this) : this.unfocus.emit(this);\n }\n private _focused = false;\n\n @Input()\n get selected() {\n return this._selected;\n }\n set selected(value: boolean) {\n if (value === this._selected) {\n return;\n }\n if (this.disabled) {\n return;\n }\n\n value ? this.beforeSelect.emit(this) : this.beforeUnselect.emit(this);\n\n this._selected = value;\n this._focused = value;\n this.toggleSelectedClass();\n\n value ? this.select.emit(this) : this.unselect.emit(this);\n }\n private _selected = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n if (value === this._disabled) {\n return;\n }\n\n if (value === true) {\n this.selected = false;\n }\n\n value ? this.beforeDisable.emit(this) : this.beforeEnable.emit(this);\n\n this._disabled = value;\n this.toggleDisabledClass();\n\n value ? this.disable.emit(this) : this.enable.emit(this);\n }\n private _disabled = false;\n\n readonly beforeSelect = output<ListItemDirective>();\n readonly beforeFocus = output<ListItemDirective>();\n readonly beforeUnselect = output<ListItemDirective>();\n readonly beforeUnfocus = output<ListItemDirective>();\n readonly beforeDisable = output<ListItemDirective>();\n readonly beforeEnable = output<ListItemDirective>();\n readonly focus = output<ListItemDirective>();\n readonly unfocus = output<ListItemDirective>();\n readonly select = output<ListItemDirective>();\n readonly unselect = output<ListItemDirective>();\n readonly disable = output<ListItemDirective>();\n readonly enable = output<ListItemDirective>();\n\n @HostListener('click')\n onClick() {\n this.selected = true;\n }\n\n getOffsetTop(): number {\n const padding = 5;\n\n return this.el.nativeElement.offsetTop - padding;\n }\n\n private toggleFocusedClass() {\n if (this.focused) {\n this.addCls(ListItemDirective.focusedCls);\n } else {\n this.removeCls(ListItemDirective.focusedCls);\n }\n }\n\n private toggleSelectedClass() {\n if (this.selected) {\n this.addCls(ListItemDirective.selectedCls);\n this.removeCls(ListItemDirective.focusedCls);\n } else {\n this.removeCls(ListItemDirective.selectedCls);\n }\n }\n\n private toggleDisabledClass() {\n if (this.disabled) {\n this.addCls(ListItemDirective.disabledCls);\n } else {\n this.removeCls(ListItemDirective.disabledCls);\n }\n }\n\n private addCls(cls: string) {\n this.renderer.addClass(this.el.nativeElement, cls);\n }\n\n private removeCls(cls: string) {\n this.renderer.removeClass(this.el.nativeElement, cls);\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n contentChildren,\n effect,\n inject\n} from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\nimport { ClickoutDirective } from '@igo2/common/clickout';\n\n// subscriptions can be rxjs Subscription or OutputRefSubscription-like objects\n\nimport { ListItemDirective } from './list-item.directive';\n\n@Component({\n selector: 'igo-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n imports: [MatListModule, ClickoutDirective],\n host: {\n '(document:keydown)': 'handleKeyboardEvent($event)'\n }\n})\nexport class ListComponent implements AfterViewInit, OnInit, OnDestroy {\n private el = inject(ElementRef);\n\n @Input()\n get navigation() {\n return this._navigation;\n }\n set navigation(value: boolean) {\n this._navigation = value;\n }\n private _navigation = true;\n\n @Input()\n get selection() {\n return this._selection;\n }\n set selection(value) {\n this._selection = value;\n }\n private _selection = true;\n\n get selectedItem() {\n return this._selectedItem;\n }\n set selectedItem(value) {\n this.focusedItem = value;\n this._selectedItem = value;\n }\n private _selectedItem?: ListItemDirective;\n\n get focusedItem() {\n return this._focusedItem;\n }\n set focusedItem(value) {\n this._focusedItem = value;\n }\n private _focusedItem?: ListItemDirective;\n\n private navigationEnabled = true;\n // Accept both rxjs Subscription and Angular signal OutputRefSubscription\n private subscriptions: { unsubscribe: () => void }[] = [];\n private listItemsEffect = effect(() => {\n this.listItems();\n this.init();\n });\n\n readonly listItems = contentChildren(ListItemDirective, {\n descendants: true\n });\n\n handleKeyboardEvent(event: KeyboardEvent) {\n // It would be nice to be able to unsubscribe to the event\n // completely but until ES7 this won't be possible because\n // document events are not observables\n if (this.navigationEnabled) {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.navigate(event.key);\n } else if (event.key === 'Enter') {\n if (this.focusedItem) {\n this.select(this.focusedItem);\n }\n }\n }\n }\n\n ngOnInit() {\n this.enableNavigation();\n }\n\n ngAfterViewInit() {\n const listItems = this.listItems();\n if (listItems.length) {\n this.init();\n }\n }\n\n ngOnDestroy() {\n this.unsubscribe();\n if (this.listItemsEffect) {\n this.listItemsEffect.destroy();\n }\n }\n\n focus(item?: ListItemDirective) {\n if (!this.selection) {\n return;\n }\n\n this.unfocus();\n\n // We need to make this check because dynamic\n // lists such as in the search results list may fail\n if (item !== undefined) {\n item.focused = true;\n }\n }\n\n unfocus() {\n if (this.focusedItem !== undefined) {\n this.focusedItem.focused = false;\n }\n\n this.focusedItem = undefined;\n }\n\n focusNext() {\n const items = this.listItems();\n let item: ListItemDirective | undefined;\n const igoList = this.el.nativeElement;\n let disabled = true;\n let index = this.getFocusedIndex();\n if (index === undefined) {\n index = -1;\n }\n\n while (disabled && index < items.length - 1) {\n index += 1;\n item = items[index];\n if (item) {\n disabled = item.disabled;\n }\n }\n\n if (item !== undefined) {\n this.focus(item);\n }\n\n if (!items[index + 1]) {\n igoList.scrollTop = igoList.scrollHeight - igoList.clientHeight;\n return;\n }\n\n if (item !== undefined && !this.isScrolledIntoView(item.el.nativeElement)) {\n igoList.scrollTop =\n item.el.nativeElement.offsetTop +\n item.el.nativeElement.children[0].offsetHeight -\n igoList.clientHeight;\n }\n }\n\n focusPrevious() {\n const items = this.listItems();\n let item: ListItemDirective | undefined;\n const igoList = this.el.nativeElement;\n let disabled = true;\n let index = this.getFocusedIndex();\n\n while (disabled && index > 0) {\n index -= 1;\n item = items[index];\n if (item) {\n disabled = item.disabled;\n }\n }\n\n if (item !== undefined) {\n this.focus(item);\n }\n\n if (index > 0 && !items[index - 1]) {\n igoList.scrollTop = 0;\n return;\n }\n\n if (item !== undefined && !this.isScrolledIntoView(item.el.nativeElement)) {\n const padding = 3;\n igoList.scrollTop = item.el.nativeElement.offsetTop - padding;\n }\n }\n\n select(item?: ListItemDirective) {\n if (!this.selection) {\n return;\n }\n\n this.unselect();\n\n if (item !== undefined) {\n item.selected = true;\n }\n }\n\n unselect() {\n this.unfocus();\n\n if (this.selectedItem !== undefined) {\n this.selectedItem.selected = false;\n }\n\n this.selectedItem = undefined;\n }\n\n enableNavigation() {\n if (this.navigation) {\n this.navigationEnabled = true;\n }\n }\n\n disableNavigation() {\n this.navigationEnabled = false;\n }\n\n scrollToItem(item: ListItemDirective) {\n this.el.nativeElement.scrollTop = item.getOffsetTop();\n }\n\n isScrolledIntoView(elem: HTMLElement) {\n const docViewTop =\n this.el.nativeElement.scrollTop + this.el.nativeElement.offsetTop;\n const docViewBottom = docViewTop + this.el.nativeElement.clientHeight;\n\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + (elem.children[0] as HTMLElement).offsetHeight;\n return elemBottom <= docViewBottom && elemTop >= docViewTop;\n }\n\n private init() {\n this.subscribe();\n\n this.selectedItem = this.findSelectedItem();\n this.focusedItem = this.findFocusedItem();\n\n this.enableNavigation();\n }\n\n private subscribe() {\n this.unsubscribe();\n\n this.listItems().forEach((item) => {\n this.subscriptions.push(\n item.beforeSelect.subscribe((item2: ListItemDirective) =>\n this.handleItemBeforeSelect(item2)\n )\n );\n\n this.subscriptions.push(\n item.select.subscribe((item2: ListItemDirective) =>\n this.handleItemSelect(item2)\n )\n );\n\n this.subscriptions.push(\n item.beforeFocus.subscribe((item2: ListItemDirective) =>\n this.handleItemBeforeFocus(item2)\n )\n );\n\n this.subscriptions.push(\n item.focus.subscribe((item2: ListItemDirective) =>\n this.handleItemFocus(item2)\n )\n );\n }, this);\n }\n\n private unsubscribe() {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n this.subscriptions = [];\n }\n\n private handleItemBeforeFocus(item: ListItemDirective) {\n if (item !== this.focusedItem) {\n this.unfocus();\n }\n }\n\n private handleItemFocus(item: ListItemDirective) {\n this.focusedItem = item;\n }\n\n private handleItemBeforeSelect(item: ListItemDirective) {\n if (item !== this.focusedItem) {\n this.unselect();\n }\n }\n\n private handleItemSelect(item: ListItemDirective) {\n this.selectedItem = item;\n }\n\n private findSelectedItem() {\n return this.listItems().find((item) => item.selected);\n }\n\n private findFocusedItem() {\n return this.listItems().find((item) => item.focused);\n }\n\n private getFocusedIndex() {\n return this.listItems().findIndex((item) => item === this.focusedItem);\n }\n\n private navigate(key: string) {\n switch (key) {\n case 'ArrowUp':\n this.focusPrevious();\n break;\n case 'ArrowDown':\n this.focusNext();\n break;\n default:\n break;\n }\n }\n}\n","<mat-list\n igoClickout\n [class.selectable]=\"selection\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\"\n>\n <ng-content />\n</mat-list>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ListItemDirective } from './list-item.directive';\nimport { ListComponent } from './list.component';\n\n/**\n * @deprecated import the components/directives directly or LIST_DIRECTIVES for the set\n */\n@NgModule({\n imports: [ListItemDirective, ListComponent],\n exports: [ListItemDirective, ListComponent]\n})\nexport class IgoListModule {\n static forRoot(): ModuleWithProviders<IgoListModule> {\n return {\n ngModule: IgoListModule,\n providers: []\n };\n }\n}\n","import { ListItemDirective } from './list-item.directive';\nimport { ListComponent } from './list.component';\n\nexport * from './list.module';\nexport * from './list.component';\nexport * from './list-item.directive';\n\nexport const LIST_DIRECTIVES = [ListItemDirective, ListComponent] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ class PanelComponent {
|
|
|
5
5
|
title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
|
|
6
6
|
withHeader = input(true, ...(ngDevMode ? [{ debugName: "withHeader" }] : /* istanbul ignore next */ []));
|
|
7
7
|
cursorPointer = input(false, ...(ngDevMode ? [{ debugName: "cursorPointer" }] : /* istanbul ignore next */ []));
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: PanelComponent, isStandalone: true, selector: "igo-panel", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, withHeader: { classPropertyName: "withHeader", publicName: "withHeader", isSignal: true, isRequired: false, transformFunction: null }, cursorPointer: { classPropertyName: "cursorPointer", publicName: "cursorPointer", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.igo-panel-with-header": "withHeader()" } }, ngImport: i0, template: "@if (withHeader()) {\n <div\n class=\"igo-panel-header\"\n title=\"\"\n [class.igo-cursor-pointer]=\"cursorPointer() === true\"\n >\n <div class=\"panel-left\">\n <ng-content select=\"[panelLeftButton]\" />\n </div>\n <h5 class=\"igo-panel-title\">\n {{ title() }}\n <ng-content select=\"[panelHeader]\" />\n </h5>\n <div class=\"panel-right\">\n <ng-content select=\"[panelRightButton]\" />\n </div>\n </div>\n}\n<div class=\"igo-panel-content\" title=\"\">\n <ng-content />\n</div>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden}:host>.igo-panel-header{color:var(--mat-sys-on-primary)!important;background-color:var(--mat-sys-on-primary-container)}:host>.igo-panel-header ::ng-deep mat-icon{fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}:host>.igo-panel-header ::ng-deep .mat-mdc-button-disabled mat-icon{fill:inherit;color:inherit}:host .igo-panel-header{display:flex;justify-content:space-between;align-items:center;height:48px;text-align:center}:host .igo-panel-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin:0;font-weight:600;flex:1;color:var(--mat-sys-on-primary)!important}:host .igo-panel-content{flex:1;overflow:auto}:host .igo-cursor-pointer{cursor:pointer}:host .panel-left,:host .panel-right{display:flex;min-width:40px}:host .panel-right:not(:empty){padding-right:4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PanelComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'igo-panel', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
14
14
|
'[class.igo-panel-with-header]': 'withHeader()'
|
|
@@ -19,11 +19,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
19
19
|
* @deprecated import the PanelComponent directly
|
|
20
20
|
*/
|
|
21
21
|
class IgoPanelModule {
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
23
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
24
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoPanelModule, imports: [PanelComponent], exports: [PanelComponent] });
|
|
24
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoPanelModule });
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoPanelModule, decorators: [{
|
|
27
27
|
type: NgModule,
|
|
28
28
|
args: [{
|
|
29
29
|
imports: [PanelComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-panel.mjs","sources":["../../../packages/common/panel/src/panel.component.ts","../../../packages/common/panel/src/panel.component.html","../../../packages/common/panel/src/panel.module.ts","../../../packages/common/panel/src/igo2-common-panel.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'igo-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.igo-panel-with-header]': 'withHeader()'\n }\n})\nexport class PanelComponent {\n readonly title = input<string>();\n readonly withHeader = input(true);\n readonly cursorPointer = input(false);\n}\n","@if (withHeader()) {\n <div\n class=\"igo-panel-header\"\n title=\"\"\n [class.igo-cursor-pointer]=\"cursorPointer() === true\"\n >\n <div class=\"panel-left\">\n <ng-content select=\"[panelLeftButton]\" />\n </div>\n <h5 class=\"igo-panel-title\">\n {{ title() }}\n <ng-content select=\"[panelHeader]\" />\n </h5>\n <div class=\"panel-right\">\n <ng-content select=\"[panelRightButton]\" />\n </div>\n </div>\n}\n<div class=\"igo-panel-content\" title=\"\">\n <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { PanelComponent } from './panel.component';\n\n/**\n * @deprecated import the PanelComponent directly\n */\n@NgModule({\n imports: [PanelComponent],\n exports: [PanelComponent]\n})\nexport class IgoPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAWa,cAAc,CAAA;IAChB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AACvB,IAAA,UAAU,GAAG,KAAK,CAAC,IAAI,iFAAC;AACxB,IAAA,aAAa,GAAG,KAAK,CAAC,KAAK,oFAAC;wGAH1B,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,yiBCX3B,0hBAqBA,EAAA,MAAA,EAAA,CAAA,q1BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDVa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,+BAA+B,EAAE;AAClC,qBAAA,EAAA,QAAA,EAAA,0hBAAA,EAAA,MAAA,EAAA,CAAA,q1BAAA,CAAA,EAAA;;;AELH;;AAEG;MAKU,cAAc,CAAA;wGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAd,cAAc,EAAA,OAAA,EAAA,CAHf,cAAc,CAAA,EAAA,OAAA,EAAA,CACd,cAAc,CAAA,EAAA,CAAA;yGAEb,cAAc,EAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,OAAO,EAAE,CAAC,cAAc;AACzB,iBAAA;;;ACVD;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-common-panel.mjs","sources":["../../../packages/common/panel/src/panel.component.ts","../../../packages/common/panel/src/panel.component.html","../../../packages/common/panel/src/panel.module.ts","../../../packages/common/panel/src/igo2-common-panel.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'igo-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.igo-panel-with-header]': 'withHeader()'\n }\n})\nexport class PanelComponent {\n readonly title = input<string>();\n readonly withHeader = input(true);\n readonly cursorPointer = input(false);\n}\n","@if (withHeader()) {\n <div\n class=\"igo-panel-header\"\n title=\"\"\n [class.igo-cursor-pointer]=\"cursorPointer() === true\"\n >\n <div class=\"panel-left\">\n <ng-content select=\"[panelLeftButton]\" />\n </div>\n <h5 class=\"igo-panel-title\">\n {{ title() }}\n <ng-content select=\"[panelHeader]\" />\n </h5>\n <div class=\"panel-right\">\n <ng-content select=\"[panelRightButton]\" />\n </div>\n </div>\n}\n<div class=\"igo-panel-content\" title=\"\">\n <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { PanelComponent } from './panel.component';\n\n/**\n * @deprecated import the PanelComponent directly\n */\n@NgModule({\n imports: [PanelComponent],\n exports: [PanelComponent]\n})\nexport class IgoPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAWa,cAAc,CAAA;IAChB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AACvB,IAAA,UAAU,GAAG,KAAK,CAAC,IAAI,iFAAC;AACxB,IAAA,aAAa,GAAG,KAAK,CAAC,KAAK,oFAAC;wGAH1B,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,yiBCX3B,0hBAqBA,EAAA,MAAA,EAAA,CAAA,q1BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDVa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,+BAA+B,EAAE;AAClC,qBAAA,EAAA,QAAA,EAAA,0hBAAA,EAAA,MAAA,EAAA,CAAA,q1BAAA,CAAA,EAAA;;;AELH;;AAEG;MAKU,cAAc,CAAA;wGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAd,cAAc,EAAA,OAAA,EAAA,CAHf,cAAc,CAAA,EAAA,OAAA,EAAA,CACd,cAAc,CAAA,EAAA,CAAA;yGAEb,cAAc,EAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,OAAO,EAAE,CAAC,cAAc;AACzB,iBAAA;;;ACVD;;AAEG;;"}
|
|
@@ -24,10 +24,10 @@ class ResizeDirective {
|
|
|
24
24
|
this.mouseUp$$?.unsubscribe();
|
|
25
25
|
this.mouseMove$$?.unsubscribe();
|
|
26
26
|
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
28
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: ResizeDirective, isStandalone: true, selector: "[igoResize]", outputs: { change: "change" }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 });
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ResizeDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: '[igoResize]'
|
|
@@ -66,10 +66,10 @@ class ResizableBarComponent {
|
|
|
66
66
|
}
|
|
67
67
|
this.change.emit(event);
|
|
68
68
|
}
|
|
69
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
69
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ResizableBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: ResizableBarComponent, isStandalone: true, selector: "igo-resizable-bar", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: "<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor()]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n", styles: [":host{display:block;position:absolute;transform:translateZ(0);z-index:3000}:host.horizontal{left:0;right:0;height:12px}:host.vertical{top:0;bottom:0;width:3px;height:100%}:host.top{bottom:100%}:host.bottom{bottom:3px}:host.right{left:auto;right:0}:host.left{left:0;right:auto}.resize-container:hover .resize-item,.resize-container:hover .expand-btn{opacity:1}.resize-indicator{opacity:1;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:left,opacity,width;transition-timing-function:cubic-bezier(.2,0,0,1);background:#0000001a}.resize-indicator.horizontal{left:0;right:0;bottom:-2px;height:3px}.resize-indicator.vertical{top:0;bottom:0;right:-2px;width:3px}.resize-bar{position:relative}.resize-bar.horizontal{cursor:n-resize;width:100%;height:12px;bottom:-3px}.resize-bar.vertical{cursor:e-resize;width:3px;height:100%;right:-3px;position:absolute}.resize-item{opacity:0;position:absolute;background-color:var(--mat-sys-secondary-fixed-dim)}.resize-item.horizontal{height:3px;width:100%;bottom:2px}.resize-item.vertical{height:100%;width:3px;right:2px}.expand-btn{pointer-events:none;position:absolute;width:24px;height:24px;line-height:24px;opacity:0;color:var(--mat-sys-primary);background-color:var(--mat-sys-on-primary);transition:opacity .3s cubic-bezier(.2,0,0,1) 0s,transform .3s cubic-bezier(.2,0,0,1) 0s}.expand-btn.horizontal{top:0;left:50%}.expand-btn.vertical{top:50%}.expand-btn.vertical.right{left:-8px}.expand-btn.vertical.left{right:-8px}.expand-btn .mat-icon{color:inherit;height:20px;width:20px;font-size:20px;transition:color .1s linear}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: ResizeDirective, selector: "[igoResize]", outputs: ["change"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ResizableBarComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ selector: 'igo-resizable-bar', imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor()]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n", styles: [":host{display:block;position:absolute;transform:translateZ(0);z-index:3000}:host.horizontal{left:0;right:0;height:12px}:host.vertical{top:0;bottom:0;width:3px;height:100%}:host.top{bottom:100%}:host.bottom{bottom:3px}:host.right{left:auto;right:0}:host.left{left:0;right:auto}.resize-container:hover .resize-item,.resize-container:hover .expand-btn{opacity:1}.resize-indicator{opacity:1;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:left,opacity,width;transition-timing-function:cubic-bezier(.2,0,0,1);background:#0000001a}.resize-indicator.horizontal{left:0;right:0;bottom:-2px;height:3px}.resize-indicator.vertical{top:0;bottom:0;right:-2px;width:3px}.resize-bar{position:relative}.resize-bar.horizontal{cursor:n-resize;width:100%;height:12px;bottom:-3px}.resize-bar.vertical{cursor:e-resize;width:3px;height:100%;right:-3px;position:absolute}.resize-item{opacity:0;position:absolute;background-color:var(--mat-sys-secondary-fixed-dim)}.resize-item.horizontal{height:3px;width:100%;bottom:2px}.resize-item.vertical{height:100%;width:3px;right:2px}.expand-btn{pointer-events:none;position:absolute;width:24px;height:24px;line-height:24px;opacity:0;color:var(--mat-sys-primary);background-color:var(--mat-sys-on-primary);transition:opacity .3s cubic-bezier(.2,0,0,1) 0s,transform .3s cubic-bezier(.2,0,0,1) 0s}.expand-btn.horizontal{top:0;left:50%}.expand-btn.vertical{top:50%}.expand-btn.vertical.right{left:-8px}.expand-btn.vertical.left{right:-8px}.expand-btn .mat-icon{color:inherit;height:20px;width:20px;font-size:20px;transition:color .1s linear}\n"] }]
|
|
75
75
|
}], propDecorators: { anchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchor", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], change: [{ type: i0.Output, args: ["change"] }], cssClass: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-resizable-bar.mjs","sources":["../../../packages/common/resizable-bar/src/shared/resize.directive.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.html","../../../packages/common/resizable-bar/src/igo2-common-resizable-bar.ts"],"sourcesContent":["import { Directive, HostListener, output } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[igoResize]'\n})\nexport class ResizeDirective {\n private mouseMove$$?: Subscription;\n private mouseUp$$?: Subscription;\n\n readonly change = output<MouseEvent>();\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n this.mouseUp$$ = fromEvent(document, 'mouseup').subscribe(() => {\n this._unsubscribe();\n });\n\n this.mouseMove$$ = fromEvent<MouseEvent>(document, 'mousemove').subscribe(\n (moveEvent) => {\n this.change.emit(moveEvent);\n }\n );\n\n event.preventDefault();\n }\n\n private _unsubscribe(): void {\n this.mouseUp$$?.unsubscribe();\n this.mouseMove$$?.unsubscribe();\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnInit,\n input,\n numberAttribute,\n output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ResizeDirective } from './shared/resize.directive';\n\nexport const ResizeAnchorType = ['top', 'left', 'bottom', 'right'] as const;\nexport type ResizeAnchorType = (typeof ResizeAnchorType)[number];\n\nexport const AlignmentType = ['vertical', 'horizontal'] as const;\nexport type AlignmentType = (typeof AlignmentType)[number];\n\n@Component({\n selector: 'igo-resizable-bar',\n templateUrl: './resizable-bar.component.html',\n styleUrls: ['./resizable-bar.component.scss'],\n imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResizableBarComponent implements OnInit {\n alignement!: AlignmentType;\n iconRotation!: string;\n\n readonly anchor = input<ResizeAnchorType>('right');\n\n /** En pixel */\n readonly min = input<number, unknown>(undefined, {\n transform: numberAttribute\n });\n\n /** En pixel */\n readonly max = input<number, unknown>(undefined, {\n transform: numberAttribute\n });\n\n readonly change = output<MouseEvent>();\n\n @HostBinding('class') get cssClass() {\n return `${this.alignement} ${this.anchor()}`;\n }\n\n ngOnInit(): void {\n const anchor = this.anchor();\n this.alignement =\n anchor === 'top' || anchor === 'bottom' ? 'horizontal' : 'vertical';\n\n this.iconRotation = this.alignement === 'vertical' ? 'rotate(90deg)' : '';\n }\n\n onChange(event: MouseEvent): void {\n const value =\n this.alignement === 'horizontal' ? event.clientX : event.clientX;\n const min = this.min();\n const max = this.max();\n if ((min && value <= min) || (max && value >= max)) {\n return;\n }\n this.change.emit(event);\n }\n}\n","<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor()]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-common-resizable-bar.mjs","sources":["../../../packages/common/resizable-bar/src/shared/resize.directive.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.html","../../../packages/common/resizable-bar/src/igo2-common-resizable-bar.ts"],"sourcesContent":["import { Directive, HostListener, output } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[igoResize]'\n})\nexport class ResizeDirective {\n private mouseMove$$?: Subscription;\n private mouseUp$$?: Subscription;\n\n readonly change = output<MouseEvent>();\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n this.mouseUp$$ = fromEvent(document, 'mouseup').subscribe(() => {\n this._unsubscribe();\n });\n\n this.mouseMove$$ = fromEvent<MouseEvent>(document, 'mousemove').subscribe(\n (moveEvent) => {\n this.change.emit(moveEvent);\n }\n );\n\n event.preventDefault();\n }\n\n private _unsubscribe(): void {\n this.mouseUp$$?.unsubscribe();\n this.mouseMove$$?.unsubscribe();\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnInit,\n input,\n numberAttribute,\n output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ResizeDirective } from './shared/resize.directive';\n\nexport const ResizeAnchorType = ['top', 'left', 'bottom', 'right'] as const;\nexport type ResizeAnchorType = (typeof ResizeAnchorType)[number];\n\nexport const AlignmentType = ['vertical', 'horizontal'] as const;\nexport type AlignmentType = (typeof AlignmentType)[number];\n\n@Component({\n selector: 'igo-resizable-bar',\n templateUrl: './resizable-bar.component.html',\n styleUrls: ['./resizable-bar.component.scss'],\n imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResizableBarComponent implements OnInit {\n alignement!: AlignmentType;\n iconRotation!: string;\n\n readonly anchor = input<ResizeAnchorType>('right');\n\n /** En pixel */\n readonly min = input<number, unknown>(undefined, {\n transform: numberAttribute\n });\n\n /** En pixel */\n readonly max = input<number, unknown>(undefined, {\n transform: numberAttribute\n });\n\n readonly change = output<MouseEvent>();\n\n @HostBinding('class') get cssClass() {\n return `${this.alignement} ${this.anchor()}`;\n }\n\n ngOnInit(): void {\n const anchor = this.anchor();\n this.alignement =\n anchor === 'top' || anchor === 'bottom' ? 'horizontal' : 'vertical';\n\n this.iconRotation = this.alignement === 'vertical' ? 'rotate(90deg)' : '';\n }\n\n onChange(event: MouseEvent): void {\n const value =\n this.alignement === 'horizontal' ? event.clientX : event.clientX;\n const min = this.min();\n const max = this.max();\n if ((min && value <= min) || (max && value >= max)) {\n return;\n }\n this.change.emit(event);\n }\n}\n","<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor()]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -85,10 +85,10 @@ class SelectValueCheckRadioDialogComponent {
|
|
|
85
85
|
choices[e.value] = true;
|
|
86
86
|
this.formGroup.setValue(choices);
|
|
87
87
|
}
|
|
88
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SelectValueCheckRadioDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: SelectValueCheckRadioDialogComponent, isStandalone: true, selector: "igo-select-value-check-radio-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{ data?.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data?.choices; track choice; let i = $index) {\n @if (data?.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data?.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data?.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data?.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data?.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n", styles: [":host::ng-deep div[mat-dialog-actions]{margin:10px 0 0}:host::ng-deep section.choices-section{max-width:auto;display:grid;grid-template-columns:auto auto;grid-gap:0px;padding:5px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
90
90
|
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SelectValueCheckRadioDialogComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
93
93
|
args: [{ selector: 'igo-select-value-check-radio-dialog', imports: [
|
|
94
94
|
MatDialogTitle,
|
|
@@ -117,10 +117,10 @@ class SelectValueDialogService {
|
|
|
117
117
|
});
|
|
118
118
|
return dialogRef.afterClosed();
|
|
119
119
|
}
|
|
120
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
121
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SelectValueDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
121
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SelectValueDialogService });
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SelectValueDialogService, decorators: [{
|
|
124
124
|
type: Injectable
|
|
125
125
|
}] });
|
|
126
126
|
|
|
@@ -134,11 +134,11 @@ class IgoSelectValueDialogModule {
|
|
|
134
134
|
providers: []
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
138
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
139
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSelectValueDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
138
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoSelectValueDialogModule, imports: [SelectValueCheckRadioDialogComponent], exports: [SelectValueCheckRadioDialogComponent] });
|
|
139
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSelectValueDialogModule, providers: [SelectValueDialogService], imports: [SelectValueCheckRadioDialogComponent] });
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSelectValueDialogModule, decorators: [{
|
|
142
142
|
type: NgModule,
|
|
143
143
|
args: [{
|
|
144
144
|
imports: [SelectValueCheckRadioDialogComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-select-value-dialog.mjs","sources":["../../../packages/common/select-value-dialog/src/select-value-dialog.enums.ts","../../../packages/common/select-value-dialog/src/select-value-check-radio-dialog.component.ts","../../../packages/common/select-value-dialog/src/select-value-check-radio-dialog.component.html","../../../packages/common/select-value-dialog/src/select-value-dialog.service.ts","../../../packages/common/select-value-dialog/src/select-value-dialog.module.ts","../../../packages/common/select-value-dialog/src/igo2-common-select-value-dialog.ts"],"sourcesContent":["export enum SelectValueDialogType {\n Radio = 'radio',\n Checkbox = 'checkbox'\n}\n","import { AsyncPipe } from '@angular/common';\nimport { Component, OnInit, inject } from '@angular/core';\nimport {\n FormsModule,\n ReactiveFormsModule,\n UntypedFormBuilder,\n UntypedFormGroup\n} from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\nimport { MatRadioChange, MatRadioModule } from '@angular/material/radio';\n\nimport { LanguageService } from '@igo2/core/language';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SelectValueDialogType } from './select-value-dialog.enums';\nimport { SelectValueData } from './select-value-dialog.interface';\n\n@Component({\n selector: 'igo-select-value-check-radio-dialog',\n templateUrl: './select-value-check-radio-dialog.component.html',\n styleUrls: ['./select-value-check-radio-dialog.component.scss'],\n imports: [\n MatDialogTitle,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n MatRadioModule,\n MatDialogActions,\n MatButtonModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class SelectValueCheckRadioDialogComponent implements OnInit {\n private formBuilder = inject(UntypedFormBuilder);\n languageService = inject(LanguageService);\n dialogRef =\n inject<MatDialogRef<SelectValueCheckRadioDialogComponent>>(MatDialogRef);\n data = inject<SelectValueData>(MAT_DIALOG_DATA, { optional: true });\n\n public formGroup: UntypedFormGroup;\n public isDisabled$ = new BehaviorSubject<boolean>(true);\n\n constructor() {\n this.data = this.data || ({} as SelectValueData);\n this.formGroup = this.formBuilder.group(this.getFg());\n this.data.selectFieldText =\n this.data.selectFieldText ??\n 'igo.common.selectValueDialog.selectFieldText';\n this.data.processButtonText =\n this.data.processButtonText ??\n 'igo.common.selectValueDialog.processButtonText';\n this.data.cancelButtonText =\n this.data.cancelButtonText ??\n 'igo.common.selectValueDialog.cancelButtonText';\n this.data.title =\n this.data.title ?? 'igo.common.selectValueDialog.multipleTitle';\n if (this.data.type === SelectValueDialogType.Radio) {\n this.data.title = 'igo.common.selectValueDialog.title';\n }\n }\n\n ngOnInit() {\n this.formGroup.valueChanges.subscribe(() => this.canProcess());\n }\n\n getFg() {\n const a: Record<string, boolean> = {};\n if (this.data && this.data.choices) {\n this.data.choices.map((l) => (a[l.value] = false));\n }\n return a;\n }\n\n canProcess() {\n if (!this.data || !this.data.choices) {\n return;\n }\n const choices = this.data.choices.map((l) => l.value);\n const selectedIds = [];\n choices.map((l) =>\n this.formGroup.value[l] ? selectedIds.push(l) : undefined\n );\n selectedIds.length\n ? this.isDisabled$.next(false)\n : this.isDisabled$.next(true);\n }\n\n save() {\n if (!this.data || !this.data.choices) {\n this.dialogRef.close();\n return;\n }\n const choices = this.data.choices.map((l) => l.value);\n\n const selectedChoices: string[] = [];\n choices.map((l) =>\n this.formGroup.value[l] ? selectedChoices.push(l) : undefined\n );\n this.dialogRef.close({ choices: selectedChoices });\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n onChange(e: MatRadioChange) {\n const choices: Record<string, boolean> = {};\n this.data?.choices.forEach((l) => (choices[l.value] = false));\n choices[e.value] = true;\n this.formGroup.setValue(choices);\n }\n}\n","<h1 mat-dialog-title>{{ data?.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data?.choices; track choice; let i = $index) {\n @if (data?.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data?.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data?.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data?.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data?.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { Injectable, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { SelectValueCheckRadioDialogComponent } from './select-value-check-radio-dialog.component';\nimport {\n Choice,\n SelectValueData,\n SelectValueDialogOptions\n} from './select-value-dialog.interface';\n\n@Injectable()\nexport class SelectValueDialogService {\n private dialog = inject(MatDialog);\n\n public open(\n choices: Choice[],\n options?: SelectValueDialogOptions\n ): Observable<any> {\n const data: SelectValueData = {\n choices,\n ...options\n };\n\n const dialogRef = this.dialog.open(SelectValueCheckRadioDialogComponent, {\n disableClose: false,\n data,\n ...options\n });\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SelectValueCheckRadioDialogComponent } from './select-value-check-radio-dialog.component';\nimport { SelectValueDialogService } from './select-value-dialog.service';\n\n@NgModule({\n imports: [SelectValueCheckRadioDialogComponent],\n exports: [SelectValueCheckRadioDialogComponent],\n providers: [SelectValueDialogService]\n})\nexport class IgoSelectValueDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoSelectValueDialogModule> {\n return {\n ngModule: IgoSelectValueDialogModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-select-value-dialog.mjs","sources":["../../../packages/common/select-value-dialog/src/select-value-dialog.enums.ts","../../../packages/common/select-value-dialog/src/select-value-check-radio-dialog.component.ts","../../../packages/common/select-value-dialog/src/select-value-check-radio-dialog.component.html","../../../packages/common/select-value-dialog/src/select-value-dialog.service.ts","../../../packages/common/select-value-dialog/src/select-value-dialog.module.ts","../../../packages/common/select-value-dialog/src/igo2-common-select-value-dialog.ts"],"sourcesContent":["export enum SelectValueDialogType {\n Radio = 'radio',\n Checkbox = 'checkbox'\n}\n","import { AsyncPipe } from '@angular/common';\nimport { Component, OnInit, inject } from '@angular/core';\nimport {\n FormsModule,\n ReactiveFormsModule,\n UntypedFormBuilder,\n UntypedFormGroup\n} from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\nimport { MatRadioChange, MatRadioModule } from '@angular/material/radio';\n\nimport { LanguageService } from '@igo2/core/language';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SelectValueDialogType } from './select-value-dialog.enums';\nimport { SelectValueData } from './select-value-dialog.interface';\n\n@Component({\n selector: 'igo-select-value-check-radio-dialog',\n templateUrl: './select-value-check-radio-dialog.component.html',\n styleUrls: ['./select-value-check-radio-dialog.component.scss'],\n imports: [\n MatDialogTitle,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n MatRadioModule,\n MatDialogActions,\n MatButtonModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class SelectValueCheckRadioDialogComponent implements OnInit {\n private formBuilder = inject(UntypedFormBuilder);\n languageService = inject(LanguageService);\n dialogRef =\n inject<MatDialogRef<SelectValueCheckRadioDialogComponent>>(MatDialogRef);\n data = inject<SelectValueData>(MAT_DIALOG_DATA, { optional: true });\n\n public formGroup: UntypedFormGroup;\n public isDisabled$ = new BehaviorSubject<boolean>(true);\n\n constructor() {\n this.data = this.data || ({} as SelectValueData);\n this.formGroup = this.formBuilder.group(this.getFg());\n this.data.selectFieldText =\n this.data.selectFieldText ??\n 'igo.common.selectValueDialog.selectFieldText';\n this.data.processButtonText =\n this.data.processButtonText ??\n 'igo.common.selectValueDialog.processButtonText';\n this.data.cancelButtonText =\n this.data.cancelButtonText ??\n 'igo.common.selectValueDialog.cancelButtonText';\n this.data.title =\n this.data.title ?? 'igo.common.selectValueDialog.multipleTitle';\n if (this.data.type === SelectValueDialogType.Radio) {\n this.data.title = 'igo.common.selectValueDialog.title';\n }\n }\n\n ngOnInit() {\n this.formGroup.valueChanges.subscribe(() => this.canProcess());\n }\n\n getFg() {\n const a: Record<string, boolean> = {};\n if (this.data && this.data.choices) {\n this.data.choices.map((l) => (a[l.value] = false));\n }\n return a;\n }\n\n canProcess() {\n if (!this.data || !this.data.choices) {\n return;\n }\n const choices = this.data.choices.map((l) => l.value);\n const selectedIds = [];\n choices.map((l) =>\n this.formGroup.value[l] ? selectedIds.push(l) : undefined\n );\n selectedIds.length\n ? this.isDisabled$.next(false)\n : this.isDisabled$.next(true);\n }\n\n save() {\n if (!this.data || !this.data.choices) {\n this.dialogRef.close();\n return;\n }\n const choices = this.data.choices.map((l) => l.value);\n\n const selectedChoices: string[] = [];\n choices.map((l) =>\n this.formGroup.value[l] ? selectedChoices.push(l) : undefined\n );\n this.dialogRef.close({ choices: selectedChoices });\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n onChange(e: MatRadioChange) {\n const choices: Record<string, boolean> = {};\n this.data?.choices.forEach((l) => (choices[l.value] = false));\n choices[e.value] = true;\n this.formGroup.setValue(choices);\n }\n}\n","<h1 mat-dialog-title>{{ data?.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data?.choices; track choice; let i = $index) {\n @if (data?.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data?.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data?.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data?.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data?.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { Injectable, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { SelectValueCheckRadioDialogComponent } from './select-value-check-radio-dialog.component';\nimport {\n Choice,\n SelectValueData,\n SelectValueDialogOptions\n} from './select-value-dialog.interface';\n\n@Injectable()\nexport class SelectValueDialogService {\n private dialog = inject(MatDialog);\n\n public open(\n choices: Choice[],\n options?: SelectValueDialogOptions\n ): Observable<any> {\n const data: SelectValueData = {\n choices,\n ...options\n };\n\n const dialogRef = this.dialog.open(SelectValueCheckRadioDialogComponent, {\n disableClose: false,\n data,\n ...options\n });\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SelectValueCheckRadioDialogComponent } from './select-value-check-radio-dialog.component';\nimport { SelectValueDialogService } from './select-value-dialog.service';\n\n@NgModule({\n imports: [SelectValueCheckRadioDialogComponent],\n exports: [SelectValueCheckRadioDialogComponent],\n providers: [SelectValueDialogService]\n})\nexport class IgoSelectValueDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoSelectValueDialogModule> {\n return {\n ngModule: IgoSelectValueDialogModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -30,10 +30,10 @@ class SidenavShimDirective {
|
|
|
30
30
|
this.blurElement = undefined;
|
|
31
31
|
this.focusedElement = undefined;
|
|
32
32
|
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
34
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SidenavShimDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SidenavShimDirective, isStandalone: true, selector: "[igoSidenavShim]", host: { listeners: { "opened": "onOpen()", "closedStart": "onCloseStart()", "closed": "onClose()" } }, ngImport: i0 });
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SidenavShimDirective, decorators: [{
|
|
37
37
|
type: Directive,
|
|
38
38
|
args: [{
|
|
39
39
|
selector: '[igoSidenavShim]',
|
|
@@ -55,11 +55,11 @@ class IgoSidenavModule {
|
|
|
55
55
|
providers: []
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
59
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
60
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
58
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSidenavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
59
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoSidenavModule, imports: [SidenavShimDirective], exports: [SidenavShimDirective] });
|
|
60
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSidenavModule });
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSidenavModule, decorators: [{
|
|
63
63
|
type: NgModule,
|
|
64
64
|
args: [{
|
|
65
65
|
imports: [SidenavShimDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-sidenav.mjs","sources":["../../../packages/common/sidenav/src/sidenav-shim.directive.ts","../../../packages/common/sidenav/src/sidenav.module.ts","../../../packages/common/sidenav/src/igo2-common-sidenav.ts"],"sourcesContent":["import { Directive, Renderer2, inject } from '@angular/core';\n\n/**\n * <igoSidenavShim> directive.\n *\n * This directive prevents a material sidenav with mode=\"side\"\n * from focusing an element after it's closed\n */\n@Directive({\n selector: '[igoSidenavShim]',\n host: {\n '(opened)': 'onOpen()',\n '(closedStart)': 'onCloseStart()',\n '(closed)': 'onClose()'\n }\n})\nexport class SidenavShimDirective {\n private renderer = inject(Renderer2);\n\n private focusedElement?: HTMLElement;\n private blurElement?: HTMLElement;\n\n onOpen() {\n this.focusedElement = document.activeElement as HTMLElement;\n }\n\n onCloseStart() {\n const focusedElement = document.activeElement as HTMLElement;\n if (focusedElement !== this.focusedElement) {\n this.blurElement = this.focusedElement;\n } else {\n this.blurElement = undefined;\n }\n }\n\n onClose() {\n if (this.blurElement) {\n this.renderer.selectRootElement(this.blurElement).blur();\n }\n\n this.blurElement = undefined;\n this.focusedElement = undefined;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SidenavShimDirective } from './sidenav-shim.directive';\n\n/**\n * @deprecated import the SidenavShimDirective directly\n */\n@NgModule({\n imports: [SidenavShimDirective],\n exports: [SidenavShimDirective]\n})\nexport class IgoSidenavModule {\n static forRoot(): ModuleWithProviders<IgoSidenavModule> {\n return {\n ngModule: IgoSidenavModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;AAEA;;;;;AAKG;MASU,oBAAoB,CAAA;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B,IAAA,cAAc;AACd,IAAA,WAAW;IAEnB,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAA4B;IAC7D;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,aAA4B;AAC5D,QAAA,IAAI,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE;AAC1C,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS;QAC9B;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;QAC1D;AAEA,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;AAC5B,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS;IACjC;wGA1BW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,eAAe,EAAE,gBAAgB;AACjC,wBAAA,UAAU,EAAE;AACb;AACF,iBAAA;;;ACXD;;AAEG;MAKU,gBAAgB,CAAA;AAC3B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;SACZ;IACH;wGANW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHjB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACpB,oBAAoB,CAAA,EAAA,CAAA;yGAEnB,gBAAgB,EAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB;AAC/B,iBAAA;;;ACVD;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-common-sidenav.mjs","sources":["../../../packages/common/sidenav/src/sidenav-shim.directive.ts","../../../packages/common/sidenav/src/sidenav.module.ts","../../../packages/common/sidenav/src/igo2-common-sidenav.ts"],"sourcesContent":["import { Directive, Renderer2, inject } from '@angular/core';\n\n/**\n * <igoSidenavShim> directive.\n *\n * This directive prevents a material sidenav with mode=\"side\"\n * from focusing an element after it's closed\n */\n@Directive({\n selector: '[igoSidenavShim]',\n host: {\n '(opened)': 'onOpen()',\n '(closedStart)': 'onCloseStart()',\n '(closed)': 'onClose()'\n }\n})\nexport class SidenavShimDirective {\n private renderer = inject(Renderer2);\n\n private focusedElement?: HTMLElement;\n private blurElement?: HTMLElement;\n\n onOpen() {\n this.focusedElement = document.activeElement as HTMLElement;\n }\n\n onCloseStart() {\n const focusedElement = document.activeElement as HTMLElement;\n if (focusedElement !== this.focusedElement) {\n this.blurElement = this.focusedElement;\n } else {\n this.blurElement = undefined;\n }\n }\n\n onClose() {\n if (this.blurElement) {\n this.renderer.selectRootElement(this.blurElement).blur();\n }\n\n this.blurElement = undefined;\n this.focusedElement = undefined;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SidenavShimDirective } from './sidenav-shim.directive';\n\n/**\n * @deprecated import the SidenavShimDirective directly\n */\n@NgModule({\n imports: [SidenavShimDirective],\n exports: [SidenavShimDirective]\n})\nexport class IgoSidenavModule {\n static forRoot(): ModuleWithProviders<IgoSidenavModule> {\n return {\n ngModule: IgoSidenavModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;AAEA;;;;;AAKG;MASU,oBAAoB,CAAA;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B,IAAA,cAAc;AACd,IAAA,WAAW;IAEnB,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAA4B;IAC7D;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,aAA4B;AAC5D,QAAA,IAAI,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE;AAC1C,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS;QAC9B;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;QAC1D;AAEA,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;AAC5B,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS;IACjC;wGA1BW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,eAAe,EAAE,gBAAgB;AACjC,wBAAA,UAAU,EAAE;AACb;AACF,iBAAA;;;ACXD;;AAEG;MAKU,gBAAgB,CAAA;AAC3B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;SACZ;IACH;wGANW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHjB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACpB,oBAAoB,CAAA,EAAA,CAAA;yGAEnB,gBAAgB,EAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB;AAC/B,iBAAA;;;ACVD;;AAEG;;"}
|
|
@@ -20,10 +20,10 @@ class SpinnerComponent {
|
|
|
20
20
|
hide() {
|
|
21
21
|
this.shown = false;
|
|
22
22
|
}
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SpinnerComponent, isStandalone: true, selector: "igo-spinner", inputs: { shown: "shown" }, ngImport: i0, template: "<div\n [class]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n", styles: [":host .igo-spinner-container{display:none;position:relative;pointer-events:none}:host .igo-spinner-container.igo-spinner-shown{display:block}:host mat-progress-spinner{height:40px;width:40px;border-radius:50%}:host .igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"], dependencies: [{ kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{ selector: 'igo-spinner', imports: [MatProgressSpinner, AsyncPipe], template: "<div\n [class]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n", styles: [":host .igo-spinner-container{display:none;position:relative;pointer-events:none}:host .igo-spinner-container.igo-spinner-shown{display:block}:host mat-progress-spinner{height:40px;width:40px;border-radius:50%}:host .igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"] }]
|
|
29
29
|
}], propDecorators: { shown: [{
|
|
@@ -62,10 +62,10 @@ class SpinnerActivityDirective {
|
|
|
62
62
|
ngOnDestroy() {
|
|
63
63
|
this.counter$$?.unsubscribe();
|
|
64
64
|
}
|
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
66
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
65
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SpinnerActivityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
66
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SpinnerActivityDirective, isStandalone: true, selector: "[igoSpinnerActivity]", ngImport: i0 });
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SpinnerActivityDirective, decorators: [{
|
|
69
69
|
type: Directive,
|
|
70
70
|
args: [{
|
|
71
71
|
selector: '[igoSpinnerActivity]'
|
|
@@ -80,13 +80,13 @@ const SPINNER_DIRECTIVES = [
|
|
|
80
80
|
* @deprecated import the components/directives directly or SPINNER_DIRECTIVES for every components/directives
|
|
81
81
|
*/
|
|
82
82
|
class IgoSpinnerModule {
|
|
83
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
84
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
84
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoSpinnerModule, imports: [SpinnerActivityDirective,
|
|
85
85
|
SpinnerComponent], exports: [SpinnerActivityDirective,
|
|
86
86
|
SpinnerComponent] });
|
|
87
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
87
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSpinnerModule, imports: [SpinnerComponent] });
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoSpinnerModule, decorators: [{
|
|
90
90
|
type: NgModule,
|
|
91
91
|
args: [{
|
|
92
92
|
imports: [...SPINNER_DIRECTIVES],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-spinner.mjs","sources":["../../../packages/common/spinner/src/spinner.component.ts","../../../packages/common/spinner/src/spinner.component.html","../../../packages/common/spinner/src/spinner-activity.directive.ts","../../../packages/common/spinner/src/spinner.module.ts","../../../packages/common/spinner/src/igo2-common-spinner.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'igo-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n imports: [MatProgressSpinner, AsyncPipe]\n})\nexport class SpinnerComponent {\n public shown$ = new BehaviorSubject<boolean>(false);\n\n @Input()\n set shown(value: boolean) {\n this.shown$.next(value);\n }\n get shown(): boolean {\n return this.shown$.value;\n }\n\n show() {\n this.shown = true;\n }\n\n hide() {\n this.shown = false;\n }\n}\n","<div\n [class]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n","import { Directive, OnDestroy, OnInit, inject } from '@angular/core';\n\nimport { ActivityService } from '@igo2/core/activity';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SpinnerComponent } from './spinner.component';\n\n/**\n * A directive to bind a SpinnerComponent to the activity service.\n * The activity service tracks any HTTP request and this directive\n * will display the spinner it's attached to when the activity counter\n * is greater than 0.\n */\n@Directive({\n selector: '[igoSpinnerActivity]'\n})\nexport class SpinnerActivityDirective implements OnInit, OnDestroy {\n private spinner = inject(SpinnerComponent, { self: true });\n private activityService = inject(ActivityService);\n\n /**\n * Subscription to the activity service counter\n */\n private counter$$?: Subscription;\n\n /**\n * Subscribe to the activity service counter and display the spinner\n * when it's is greater than 0.\n * @internal\n */\n ngOnInit() {\n this.counter$$ = this.activityService.counter$\n .pipe(debounceTime(50))\n .subscribe((count: number) => {\n count > 0 ? this.spinner.show() : this.spinner.hide();\n });\n }\n\n /**\n * Unsubcribe to the activity service counter.\n * @internal\n */\n ngOnDestroy() {\n this.counter$$?.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerActivityDirective } from './spinner-activity.directive';\nimport { SpinnerComponent } from './spinner.component';\n\nexport const SPINNER_DIRECTIVES = [\n SpinnerActivityDirective,\n SpinnerComponent\n] as const;\n\n/**\n * @deprecated import the components/directives directly or SPINNER_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...SPINNER_DIRECTIVES],\n exports: [...SPINNER_DIRECTIVES]\n})\nexport class IgoSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-common-spinner.mjs","sources":["../../../packages/common/spinner/src/spinner.component.ts","../../../packages/common/spinner/src/spinner.component.html","../../../packages/common/spinner/src/spinner-activity.directive.ts","../../../packages/common/spinner/src/spinner.module.ts","../../../packages/common/spinner/src/igo2-common-spinner.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'igo-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n imports: [MatProgressSpinner, AsyncPipe]\n})\nexport class SpinnerComponent {\n public shown$ = new BehaviorSubject<boolean>(false);\n\n @Input()\n set shown(value: boolean) {\n this.shown$.next(value);\n }\n get shown(): boolean {\n return this.shown$.value;\n }\n\n show() {\n this.shown = true;\n }\n\n hide() {\n this.shown = false;\n }\n}\n","<div\n [class]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n","import { Directive, OnDestroy, OnInit, inject } from '@angular/core';\n\nimport { ActivityService } from '@igo2/core/activity';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SpinnerComponent } from './spinner.component';\n\n/**\n * A directive to bind a SpinnerComponent to the activity service.\n * The activity service tracks any HTTP request and this directive\n * will display the spinner it's attached to when the activity counter\n * is greater than 0.\n */\n@Directive({\n selector: '[igoSpinnerActivity]'\n})\nexport class SpinnerActivityDirective implements OnInit, OnDestroy {\n private spinner = inject(SpinnerComponent, { self: true });\n private activityService = inject(ActivityService);\n\n /**\n * Subscription to the activity service counter\n */\n private counter$$?: Subscription;\n\n /**\n * Subscribe to the activity service counter and display the spinner\n * when it's is greater than 0.\n * @internal\n */\n ngOnInit() {\n this.counter$$ = this.activityService.counter$\n .pipe(debounceTime(50))\n .subscribe((count: number) => {\n count > 0 ? this.spinner.show() : this.spinner.hide();\n });\n }\n\n /**\n * Unsubcribe to the activity service counter.\n * @internal\n */\n ngOnDestroy() {\n this.counter$$?.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerActivityDirective } from './spinner-activity.directive';\nimport { SpinnerComponent } from './spinner.component';\n\nexport const SPINNER_DIRECTIVES = [\n SpinnerActivityDirective,\n SpinnerComponent\n] as const;\n\n/**\n * @deprecated import the components/directives directly or SPINNER_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...SPINNER_DIRECTIVES],\n exports: [...SPINNER_DIRECTIVES]\n})\nexport class IgoSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|