boruto-xrmui 1.0.47 → 1.0.49

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.
@@ -1510,7 +1510,7 @@ class XrmuiInput {
1510
1510
  maxlength = input(null, ...(ngDevMode ? [{ debugName: "maxlength" }] : []));
1511
1511
  hasfocus = signal(false, ...(ngDevMode ? [{ debugName: "hasfocus" }] : []));
1512
1512
  search = '';
1513
- items = null;
1513
+ // private items: ISelectable[] | null = null;
1514
1514
  itemlist = signal([], ...(ngDevMode ? [{ debugName: "itemlist" }] : []));
1515
1515
  showitems = signal(false, ...(ngDevMode ? [{ debugName: "showitems" }] : []));
1516
1516
  searchthread = null;
@@ -1525,7 +1525,6 @@ class XrmuiInput {
1525
1525
  return true;
1526
1526
  return false;
1527
1527
  }, ...(ngDevMode ? [{ debugName: "isselect" }] : []));
1528
- firstAutocomplete = true;
1529
1528
  constructor() {
1530
1529
  effect(() => {
1531
1530
  const sf = this.setfocus();
@@ -1593,12 +1592,8 @@ class XrmuiInput {
1593
1592
  });
1594
1593
  effect(() => {
1595
1594
  const ap = this.autocomplete();
1596
- if (this.firstAutocomplete) {
1597
- this.firstAutocomplete = false;
1598
- return;
1599
- }
1600
1595
  if (ap) {
1601
- this.refreshItems();
1596
+ this.itemlist.set(ap.items());
1602
1597
  }
1603
1598
  });
1604
1599
  }
@@ -1699,9 +1694,14 @@ class XrmuiInput {
1699
1694
  }
1700
1695
  if (this.current != null) {
1701
1696
  this.value.set(this.current.name ?? '');
1697
+ const re = this.entityreference();
1698
+ if (re) {
1699
+ re.set(this.current.id, this.current.name);
1700
+ }
1702
1701
  this.selected.set(this.current);
1703
1702
  this.onselect.emit(this.current);
1704
1703
  this.showitems.set(false);
1704
+ this.shadowValue.set(this.current.name ?? '');
1705
1705
  }
1706
1706
  }
1707
1707
  onesc(e) {
@@ -1763,18 +1763,19 @@ class XrmuiInput {
1763
1763
  this.notifyOnChange();
1764
1764
  }
1765
1765
  next(e) {
1766
- if (this.items != null && this.items.length > 0) {
1766
+ const items = this.itemlist();
1767
+ if (items.length > 0) {
1767
1768
  this.currentindex = this.currentindex + e;
1768
- if (this.currentindex >= this.items.length) {
1769
+ if (this.currentindex >= items.length) {
1769
1770
  this.currentindex = 0;
1770
1771
  }
1771
1772
  if (this.currentindex == -1) {
1772
- this.currentindex = this.items.length - 1;
1773
+ this.currentindex = items.length - 1;
1773
1774
  }
1774
1775
  if (this.currentindex == -2) {
1775
- this.currentindex = this.items.length - 1;
1776
+ this.currentindex = items.length - 1;
1776
1777
  }
1777
- this.current = this.items[this.currentindex];
1778
+ this.current = items[this.currentindex];
1778
1779
  }
1779
1780
  this.ensureCurrentVisible();
1780
1781
  }
@@ -1817,32 +1818,14 @@ class XrmuiInput {
1817
1818
  }
1818
1819
  async dosearchbyname(ommitcm) {
1819
1820
  const ap = this.autocomplete();
1820
- if (!ap && ommitcm != true) {
1821
- this.notifyOnChange();
1822
- }
1823
- if (ap != null) {
1821
+ if (ap) {
1822
+ await ap.search(this.shadowValue());
1824
1823
  this.currentindex = -1;
1825
1824
  this.current = undefined;
1826
- await this.refreshItems();
1827
- if (this.items != null && this.items.length > 0) {
1828
- this.itemlist.set(this.items);
1829
- this.showitems.set(true);
1830
- }
1831
- else {
1832
- this.itemlist.set([]);
1833
- this.showitems.set(false);
1834
- }
1825
+ this.showitems.set(true);
1835
1826
  }
1836
- }
1837
- async refreshItems() {
1838
- const ap = this.autocomplete();
1839
- if (ap) {
1840
- this.searchnumber++;
1841
- var next = this.searchnumber;
1842
- var nextlist = await ap.search(this.value()?.toString() ?? '');
1843
- if (this.searchnumber == next) {
1844
- this.items = nextlist;
1845
- }
1827
+ if (!ap && ommitcm != true) {
1828
+ this.notifyOnChange();
1846
1829
  }
1847
1830
  }
1848
1831
  notifyOnChange() {
@@ -1 +1 @@
1
- {"version":3,"file":"boruto-xrmui.mjs","sources":["../../../projects/xrmui/src/lib/ko/forms/kobuttongroup/kobuttongroup.component.ts","../../../projects/xrmui/src/lib/ko/forms/kobuttongroup/kobuttongroup.component.html","../../../projects/xrmui/src/lib/ko/forms/kodecimal.directive.ts","../../../projects/xrmui/src/lib/ko/forms/kofocus.directive.ts","../../../projects/xrmui/src/lib/ko/message/koalert/koaleret.component.ts","../../../projects/xrmui/src/lib/ko/message/koalert/koalert.component.html","../../../projects/xrmui/src/lib/ko/message/koheader/koheader.component.ts","../../../projects/xrmui/src/lib/ko/message/koheader/koheader.component.html","../../../projects/xrmui/src/lib/ko/message/kowrite.directive.ts","../../../projects/xrmui/src/lib/ko/models/navigation.interface.ts","../../../projects/xrmui/src/lib/ko/navigation/koleftmenu/koleftmenu.component.ts","../../../projects/xrmui/src/lib/ko/navigation/koleftmenu/koleftmenu.component.html","../../../projects/xrmui/src/lib/ko/navigation/kotopmenu/kotopmenu.component.ts","../../../projects/xrmui/src/lib/ko/navigation/kotopmenu/kotopmenu.component.html","../../../projects/xrmui/src/lib/ko/navigation/koover.directive.ts","../../../projects/xrmui/src/lib/ko/panels/koexpansionpanel/koexpansionpanel.component.ts","../../../projects/xrmui/src/lib/ko/panels/koexpansionpanel/koexpansionpanel.component.html","../../../projects/xrmui/src/lib/ko/panels/kohorizontalscroll/kohorizontalscroll.component.ts","../../../projects/xrmui/src/lib/ko/panels/kohorizontalscroll/kohorizontalscroll.component.html","../../../projects/xrmui/src/lib/ko/panels/kohorizontalsplit/kohorizontalsplit.component.ts","../../../projects/xrmui/src/lib/ko/panels/kohorizontalsplit/kohorizontalsplit.component.html","../../../projects/xrmui/src/lib/ko/panels/komain/komain.component.ts","../../../projects/xrmui/src/lib/ko/panels/komain/komain.component.html","../../../projects/xrmui/src/lib/ko/panels/kotablepanel/kotablepanel.component.ts","../../../projects/xrmui/src/lib/ko/panels/kotablepanel/kotablepanel.component.html","../../../projects/xrmui/src/lib/ko/panels/kotitlepanel/kotitlepanel.component.ts","../../../projects/xrmui/src/lib/ko/panels/kotitlepanel/kotitlepanel.component.html","../../../projects/xrmui/src/lib/ko/panels/koverticalscroll/koverticalscroll.component.ts","../../../projects/xrmui/src/lib/ko/panels/koverticalscroll/koverticalscroll.component.html","../../../projects/xrmui/src/lib/ko/panels/koview/koview.component.ts","../../../projects/xrmui/src/lib/ko/panels/koview/koview.component.html","../../../projects/xrmui/src/lib/ko/panels/koverticalsplit/koverticalsplit.component.ts","../../../projects/xrmui/src/lib/ko/panels/koverticalsplit/koverticalsplit.component.html","../../../projects/xrmui/src/lib/ko/kipon-ui.module.ts","../../../projects/xrmui/src/lib/bo/models/dkcustomdateadapter.model.ts","../../../projects/xrmui/src/lib/bo/services/selected.service.ts","../../../projects/xrmui/src/lib/bo/info/info.xrmui.ts","../../../projects/xrmui/src/lib/bo/info/info.xrmui.html","../../../projects/xrmui/src/lib/bo/models/xrmuipanel.model.ts","../../../projects/xrmui/src/lib/bo/layout/layout.xrmui.ts","../../../projects/xrmui/src/lib/bo/layout/layout.xrmui.html","../../../projects/xrmui/src/lib/bo/panel/panel.xrmui.ts","../../../projects/xrmui/src/lib/bo/panel/panel.xrmui.html","../../../projects/xrmui/src/lib/bo/icon/icon.xrmui.ts","../../../projects/xrmui/src/lib/bo/icon/icon.xrmui.html","../../../projects/xrmui/src/lib/bo/changedscope/changedscope.directive.ts","../../../projects/xrmui/src/lib/bo/form/formscope.directive.ts","../../../projects/xrmui/src/lib/bo/input/input.xrmui.ts","../../../projects/xrmui/src/lib/bo/input/input.xrmui.html","../../../projects/xrmui/src/lib/bo/ribbon/ribbon.xrmui.ts","../../../projects/xrmui/src/lib/bo/ribbon/ribbon.xrmui.html","../../../projects/xrmui/src/lib/bo/spinner/spinner.xrmui.ts","../../../projects/xrmui/src/lib/bo/spinner/spinner.xrmui.html","../../../projects/xrmui/src/lib/bo/button/button.xrmui.ts","../../../projects/xrmui/src/lib/bo/button/button.xrmui.html","../../../projects/xrmui/src/lib/bo/devider/devider.xrmui.ts","../../../projects/xrmui/src/lib/bo/devider/devider.xrmui.html","../../../projects/xrmui/src/lib/bo/tabs/tabs.xrmui.ts","../../../projects/xrmui/src/lib/bo/tabs/tabs.xrmui.html","../../../projects/xrmui/src/lib/bo/boruto-xrmui.module.ts","../../../projects/xrmui/src/public-api.ts","../../../projects/xrmui/src/boruto-xrmui.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ko-button-group',\r\n templateUrl: './kobuttongroup.component.html',\r\n styleUrls: ['./kobuttongroup.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class KoButtonGroupComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { Directive, ElementRef, HostListener, input, Output, EventEmitter, SimpleChanges, output, effect } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ko-decimal]'\r\n})\r\nexport class KoDecimalDirective {\r\n constructor(private el: ElementRef) {\r\n effect(() => {\r\n const align = this.align();\r\n if (this.el.nativeElement) {\r\n this.el.nativeElement.style['text-align'] = this.align();\r\n }\r\n });\r\n\r\n effect(() => {\r\n const v = this.value();\r\n this.setValueString();\r\n })\r\n }\r\n\r\n\r\n decimals = input<number>(2, { alias: 'ko-decimals' });\r\n value = input<number | null>(null, { alias: 'ko-value' });\r\n valueChanged = output<number | null>({ alias: 'ko-valueChange' });\r\n align = input<string>('right');\r\n\r\n controlDown: boolean = false;\r\n syncThread!: any;\r\n\r\n @HostListener('keydown', ['$event']) onKeydown($event: KeyboardEvent) {\r\n switch ($event.key) {\r\n case 'Backspace':\r\n case 'Tab':\r\n case 'ArrowLeft':\r\n case 'ArrowRight':\r\n case 'Delete':\r\n case '0':\r\n case '1':\r\n case '2':\r\n case '3':\r\n case '4':\r\n case '5':\r\n case '6':\r\n case '7':\r\n case '8':\r\n case '9':\r\n case '-': {\r\n this.bindValueBack();\r\n return true;\r\n }\r\n case ',': {\r\n if (this.decimals() == 0) {\r\n return false;\r\n }\r\n this.bindValueBack();\r\n return true;\r\n }\r\n case 'Control': {\r\n this.controlDown = true;\r\n this.bindValueBack();\r\n return true;\r\n }\r\n case 'c':\r\n case 'C':\r\n case 'v':\r\n case 'V': {\r\n if (this.controlDown == true) {\r\n this.bindValueBack();\r\n return true;\r\n }\r\n $event.stopPropagation();\r\n return false;\r\n }\r\n default: {\r\n $event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('blur') onBlur() {\r\n if (this.syncThread != null) clearTimeout(this.syncThread);\r\n this.syncThread = null;\r\n this.doBindValueBack();\r\n this.setValueString();\r\n }\r\n\r\n private setValueString(): void {\r\n if (this.el.nativeElement != null) {\r\n const v = this.value();\r\n if (v != null) {\r\n this.el.nativeElement.value = this.numberToString(v, this.decimals());\r\n } else {\r\n this.el.nativeElement.value = \"\";\r\n }\r\n }\r\n }\r\n\r\n private bindValueBack(): void;\r\n private bindValueBack(timeout: number): void;\r\n private bindValueBack(timeout: number = 3000): void {\r\n if (this.syncThread != null) clearTimeout(this.syncThread);\r\n this.syncThread = setTimeout(() => {\r\n this.syncThread = null;\r\n this.doBindValueBack();\r\n }, timeout);\r\n }\r\n\r\n private doBindValueBack(): void {\r\n if (this.el.nativeElement != null) {\r\n let v = this.el.nativeElement.value;\r\n if (v == null || v == '') {\r\n this.valueChanged.emit(null);\r\n return;\r\n } else {\r\n this.valueChanged.emit(Number(v.replace(',','.')))\r\n }\r\n }\r\n }\r\n\r\n private numberToString(value: number, decimals: number): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n if (decimals == null) {\r\n return value.toString().replace('.', ',');\r\n }\r\n\r\n let result = value.toString().replace('.', ',');\r\n if (decimals <= 0) {\r\n var split = result.split(',');\r\n if (split.length == 2 && Number(split[1]) > 0) {\r\n return Math.round(value).toString().replace(\".\", \",\").split(',')[0];\r\n }\r\n return result.split(',')[0];\r\n }\r\n\r\n if (result.indexOf(',') < 0) {\r\n result += ',0';\r\n }\r\n\r\n let decimalPart = result.split(',')[1];\r\n if (decimalPart.length == decimals) {\r\n return result;\r\n }\r\n\r\n if (decimalPart.length <= decimals) {\r\n return result.split(',')[0] + ',' + String(decimalPart + '00000000000000000' + decimalPart).substring(0, decimals);\r\n }\r\n\r\n var round = Number('1' + String('00000000000000000').slice((-1) * decimals));\r\n\r\n var roundedValue = Math.round(value * round) / round;\r\n\r\n return this.numberToString(roundedValue, decimals);\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, input, output, effect, inject } from '@angular/core';\r\n\r\n@Directive({ selector: '[ko-focus]' })\r\nexport class KoFocusDirective {\r\n\r\nprivate hostElement: ElementRef = inject(ElementRef);\r\n\r\n focus = input<boolean>(false, { alias: 'ko-focus' });\r\n focusChange = output<boolean>({ alias: 'ko-focusChange' });\r\n\r\n constructor() { \r\n effect(() => {\r\n const isFocused = this.focus();\r\n if (isFocused) {\r\n setTimeout(() => {\r\n this.hostElement.nativeElement.focus();\r\n this.focusChange.emit(false);\r\n },10);\r\n }\r\n })\r\n }\r\n}\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-alert',\r\n templateUrl: './koalert.component.html',\r\n styleUrls: ['./koalert.component.scss'],\r\n imports:[NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class KoAlertComponent {\r\n\r\n @Input('align') align: string = 'left';\r\n constructor() {\r\n }\r\n}\r\n","<div [ngClass]=\"align\"><ng-content></ng-content></div>\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-header',\r\n templateUrl: './koheader.component.html',\r\n styleUrls: ['./koheader.component.scss'],\r\n imports:[NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class KoHeaderComponent {\r\n\r\n align = input<string>('left');\r\n\r\n}\r\n","<div [ngClass]=\"align()\"><ng-content></ng-content></div>\r\n","import { Directive, ElementRef, HostListener, input, AfterViewInit, inject, effect } from '@angular/core';\r\n\r\n@Directive({ selector: '[ko-write]' })\r\nexport class KoWriteDirective {\r\n\r\n direction = input<string>('up', { alias: 'ko-write' });\r\n private hostElement: ElementRef = inject(ElementRef);\r\n\r\n constructor() { \r\n effect(() => {\r\n const dir = this.direction();\r\n this.render();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n private render(): void {\r\n var host = this.hostElement.nativeElement as HTMLElement;\r\n if (host.parentElement) {\r\n var parent = host.parentElement as HTMLElement;\r\n\r\n parent.style.overflow = \"hidden\"; \r\n\r\n var h = parent.offsetHeight;\r\n var w = parent.offsetWidth;\r\n\r\n\r\n if (h && w) {\r\n host.style.width = h.toString() + \"px\";\r\n host.style.height = w.toString() + \"px\";\r\n host.style.lineHeight = w.toString() + \"px\";\r\n host.style.textAlign = \"center\";\r\n host.style.position = \"relative\";\r\n host.style.transformOrigin = \"0% 0%\";\r\n host.style.display = \"inline-block\";\r\n\r\n if (this.direction() == \"up\") {\r\n host.style.transform = \"rotate(-90deg)\";\r\n host.style.top = h.toString() + \"px\";\r\n } else {\r\n host.style.transform = \"rotate(90deg)\";\r\n host.style.left = w.toString() + \"px\";\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\nexport interface KoNavigation {\r\n id: string;\r\n title: string | null;\r\n disabled: boolean;\r\n click: any;\r\n over: boolean | null;\r\n cssClass: string | null;\r\n imgUrl: string | null;\r\n }\r\n \r\n export class KoDivider implements KoNavigation {\r\n id: string;\r\n title: string | null;\r\n disabled: boolean;\r\n click: any = null;\r\n over: boolean | null = null;\r\n cssClass: string | null = null;\r\n imgUrl: string | null = null;\r\n \r\n constructor() {\r\n this.id = \"##divider##\";\r\n this.title = \"\";\r\n this.disabled = true;\r\n }\r\n }\r\n \r\n export class KoNavigationByCssClass implements KoNavigation {\r\n id: string;\r\n title: string | null = null;\r\n disabled: boolean;\r\n cssClass: string;\r\n click: any;\r\n over: boolean | null = null;\r\n imgUrl: string | null = null;\r\n \r\n constructor(id: string, cssClass: string)\r\n constructor(id: string, cssClass: string, disabled: boolean)\r\n constructor(id: string, cssClass: string, disabled: boolean, title: string)\r\n constructor(id: string, cssClass: string, disabled: boolean, title: string, click: any)\r\n constructor(id: string, cssClass: string, disabled: boolean = false, title: string | null = null, click: any = null ) {\r\n this.id = id;\r\n this.title = title;\r\n this.disabled = disabled;\r\n this.cssClass = cssClass;\r\n this.click = click;\r\n }\r\n }\r\n \r\n export class KoNavigationByImageUrl implements KoNavigation {\r\n id: string;\r\n title: string | null = null;\r\n disabled: boolean;\r\n imgUrl: string;\r\n click: any;\r\n over: boolean | null = null;\r\n cssClass: string | null = null;\r\n \r\n constructor(id: string, imgUrl: string)\r\n constructor(id: string, imgUrl: string, disabled: boolean)\r\n constructor(id: string, imgUrl: string, disabled: boolean, title: string)\r\n constructor(id: string, imgUrl: string, disabled: boolean, title: string, click: any)\r\n constructor(id: string, imgUrl: string, disabled: boolean = false, title: string | null = null, click: any = null) {\r\n this.id = id;\r\n this.title = null;\r\n this.disabled = disabled;\r\n this.imgUrl = imgUrl;\r\n this.click = null;\r\n }\r\n }\r\n ","import { Component, input, output, ElementRef, AfterViewInit, inject, ViewEncapsulation, signal } from '@angular/core';\r\n\r\nimport { KoDivider, KoNavigation, KoNavigationByCssClass, KoNavigationByImageUrl } from '../../models/navigation.interface';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ko-left-menu',\r\n templateUrl: './koleftmenu.component.html',\r\n styleUrls: ['./koleftmenu.component.scss'],\r\n imports: [NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoLeftMenuComponent implements AfterViewInit {\r\n private er: ElementRef = inject(ElementRef);\r\n\r\n items = input<(KoNavigation)[]>([]);\r\n current = input<string | null>(null);\r\n currentChange = output<string | null>();\r\n\r\n private itemheight$ = signal<string>('');\r\n over = signal<KoNavigation | null>(null);\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n itemheight(v: KoNavigation) {\r\n if (v.id == \"##divider##\") {\r\n return '2px';\r\n }\r\n return this.itemheight$();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.itemheight$.set( (this.er.nativeElement.offsetWidth - 40).toString() + \"px\");\r\n }, 1);\r\n }\r\n\r\n setCurrent(item: KoNavigation): void {\r\n if (!item.disabled) {\r\n if (item.click == null) {\r\n this.currentChange.emit(item.id);\r\n } else {\r\n item.click();\r\n }\r\n }\r\n }\r\n\r\n overItem(v: KoNavigation | null): void {\r\n if (v != null && !v.disabled) {\r\n this.over.set(v);\r\n }\r\n }\r\n\r\n outItem(): void {\r\n this.over.set(null);\r\n }\r\n}\r\n","@for(item of items(); track item) {\r\n<div\r\n (click)=\"setCurrent(item)\"\r\n class=\"ko-left-menu-item\"\r\n [ngClass]=\"{ current: item.id == current(), disabled: item.disabled == true && item.id != '##divider##', over: item == over(), divider: item.id == '##divider##' }\"\r\n (mouseover)=\"overItem(item)\"\r\n (mouseleave)=\"outItem()\"\r\n [style.height]=\"itemheight(item)\"\r\n >\r\n @if (item.title != null && item.title != '' && item.id != '##divider##' && item.cssClass == null && item.imgUrl == null){<span>{{ item.title }}</span>}\r\n @if (item.cssClass != null && item.cssClass != ''){ <span class=\"byclass\" [ngClass]=\"item.cssClass\" [title]=\"item.title\"></span> }\r\n @if (item.imgUrl != null){<img [src]=\"item.imgUrl\" [alt]=\"item.title\" />}\r\n</div>\r\n}\r\n<ng-content></ng-content>\r\n","import { Component, input, output, signal, inject, ElementRef, AfterViewInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { KoNavigation } from '../../models/navigation.interface';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ko-top-menu',\r\n templateUrl: './kotopmenu.component.html',\r\n styleUrls: ['./kotopmenu.component.scss'],\r\n imports: [NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoTopMenuComponent implements AfterViewInit {\r\n\r\n private er: ElementRef = inject(ElementRef);\r\n\r\n items = input<(KoNavigation)[]>([]);\r\n current = input<string | null>(null);\r\n currentChange = output<string | null>();\r\n\r\n over = signal<KoNavigation | null>(null);\r\n\r\n topcornerwidth = signal<string>('');\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.topcornerwidth.set(this.er.nativeElement.offsetHeight.toString() + \"px\");\r\n }, 1);\r\n }\r\n\r\n setCurrent(item: KoNavigation): void {\r\n if (!item.disabled) {\r\n if (item.click == null) {\r\n this.currentChange.emit(item.id);\r\n } else {\r\n item.click();\r\n }\r\n }\r\n }\r\n\r\n itemwidth(v: KoNavigation) {\r\n if (v.id == \"##divider##\") {\r\n return '0';\r\n }\r\n return this.topcornerwidth();\r\n }\r\n\r\n\r\n overItem(v: KoNavigation | null): void {\r\n if (v != null && !v.disabled) {\r\n this.over.set(v);\r\n }\r\n }\r\n\r\n outItem(): void {\r\n this.over.set(null);\r\n }\r\n}\r\n","<div class=\"ko-top-menu-corner\" [style.width]=\"topcornerwidth()\"></div>\r\n@for (item of items(); track item) {\r\n<div (click)=\"setCurrent(item)\"\r\n class=\"ko-top-menu-item\"\r\n [ngClass]=\"{ current: item.id == current(), disabled: item.disabled == true && item.id != '##divider##', over: item == over(), divider: item.id == '##divider##' }\"\r\n (mouseover)=\"overItem(item)\"\r\n (mouseleave)=\"outItem()\"\r\n [style.width]=\"itemwidth(item)\">\r\n @if (item.title != null && item.title != '' && item.id != '##divider##' && item.cssClass==null && item.imgUrl==null) {<span>{{ item.title }}</span>}\r\n @if (item.cssClass != null && item.cssClass != ''){<span class=\"byclass\" [ngClass]=\"item.cssClass\" [title]=\"item.title\"></span>}\r\n @if (item.imgUrl != null) {<img [src]=\"item.imgUrl\" [alt]=\"item.title\" />}\r\n</div>\r\n}\r\n<ng-content></ng-content>\r\n","import { Directive, ElementRef, HostListener, input, Output, EventEmitter, SimpleChanges, inject } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ko-over]'\r\n})\r\nexport class KoOverDirective {\r\n\r\n private el: ElementRef = inject(ElementRef);\r\n\r\n constructor() {\r\n }\r\n\r\n current = input.required<any>({alias:'ko-over'});\r\n\r\n @HostListener('mouseover', ['$event']) onMouseover($event: MouseEvent) {\r\n const me = this.current();\r\n if (this.current != null) {\r\n me['over'] = true;\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event']) onMouseleave($event: MouseEvent) {\r\n const me = this.current();\r\n if (this.current != null) {\r\n delete me['over'];\r\n }\r\n }\r\n}\r\n","import { Component, effect, input, output, signal, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-expansion-panel',\r\n templateUrl: './koexpansionpanel.component.html',\r\n styleUrls: ['./koexpansionpanel.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoExpansionPanelComponent {\r\n\r\n expanded = input<boolean>(false);\r\n expandedChange = output<boolean>();\r\n\r\n isExpanded = signal<boolean>(false);\r\n\r\n constructor() {\r\n effect(() => {\r\n this.isExpanded.set(this.expanded());\r\n });\r\n }\r\n\r\n toggle(): void {\r\n this.isExpanded.set(!this.isExpanded());\r\n this.expandedChange.emit(this.isExpanded());\r\n }\r\n}\r\n","<div class=\"ko-container\">\r\n <div class=\"ko-title\">\r\n <div style=\"position: relative; width: 100%\">\r\n <div style=\"position: absolute; left: -25px; height: 40px; width: 20px; text-align: center; vertical-align: middle; cursor: pointer\" (click)=\"toggle()\">\r\n @if (!isExpanded()){<span class=\"fa fa-angle-up\"></span>}\r\n @if (isExpanded()){<span class=\"fa fa-angle-down\"></span>}\r\n </div>\r\n </div>\r\n <div (click)=\"toggle()\" style=\"cursor: pointer\"><ng-content select=\"[ko-title]\"></ng-content></div>\r\n </div>\r\n @if (isExpanded()) {\r\n <div class=\"ko-body\">\r\n <ng-content select=\"[ko-body]\"></ng-content>\r\n </div>\r\n }\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-horizontal-scroll',\r\n templateUrl: './kohorizontalscroll.component.html',\r\n styleUrls: ['./kohorizontalscroll.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n \r\n})\r\n\r\nexport class KoHorizontalScrollComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgStyle } from '@angular/common';\r\nimport { Component, effect, input, Signal, signal, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-horizontal-split',\r\n templateUrl: './kohorizontalsplit.component.html',\r\n styleUrls: ['./kohorizontalsplit.component.scss'],\r\n imports: [NgStyle],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoHorizontalSplitComponent {\r\n\r\n height = input<string>(\"50%\");\r\n fixed = input<'top' | 'bottom'>('top');\r\n\r\n constructor() {\r\n effect(() => {\r\n const h = this.height();\r\n const f = this.fixed();\r\n this.init();\r\n });\r\n }\r\n\r\n topStyle = signal<any>({});\r\n bottomStyle = signal<any>({});\r\n\r\n private init(): void {\r\n if (this.fixed() == 'top') {\r\n this.topStyle.set({\r\n height: this.height()\r\n });\r\n this.bottomStyle.set( {\r\n top: this.height()\r\n });\r\n } else {\r\n this.topStyle.set({\r\n bottom: this.height()\r\n });\r\n this.bottomStyle.set({\r\n height: this.height()\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"ko-top\" [ngStyle]=\"topStyle()\">\r\n <ng-content select=\"[ko-top]\"></ng-content>\r\n</div>\r\n<div class=\"ko-bottom\" [ngStyle]=\"bottomStyle()\">\r\n <ng-content select=\"[ko-bottom]\"></ng-content>\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-main',\r\n templateUrl: './komain.component.html',\r\n styleUrls: ['./komain.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n\r\n})\r\nexport class KoMainComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgStyle } from '@angular/common';\r\nimport { Component, input, ElementRef, ViewChild, ViewEncapsulation, OnChanges, AfterViewInit, ChangeDetectorRef, inject, effect, signal } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-table-panel',\r\n templateUrl: './kotablepanel.component.html',\r\n styleUrls: ['./kotablepanel.component.scss'],\r\n imports: [NgStyle],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\n\r\nexport class KoTablePanelComponent implements AfterViewInit {\r\n\r\n @ViewChild('tableheader') tableheader!: ElementRef;\r\n @ViewChild('tablebody') tablebody!: ElementRef;\r\n @ViewChild('tablefooter') tablefooter!: ElementRef;\r\n\r\n height = input<string>('40px');\r\n\r\n private cdRef: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n effect(() => {\r\n const h = this.height();\r\n this.doSetStyle();\r\n\r\n });\r\n }\r\n\r\n\r\n private topHeight!: string;\r\n private fotHeight!: string;\r\n\r\n private hasTop: boolean = true;\r\n private hasFot: boolean = true;\r\n\r\n topStyle = signal<any>({});\r\n bodStyle = signal<any>({});\r\n fotStyle = signal<any>({});\r\n\r\n ngAfterViewInit(): void {\r\n this.hasTop = this.tableheader.nativeElement != null && this.tableheader.nativeElement.children.length > 0;\r\n this.hasFot = this.tablefooter.nativeElement != null && this.tablefooter.nativeElement.children.length > 0;\r\n this.cdRef.detectChanges();\r\n\r\n this.setStyle();\r\n }\r\n\r\n updateScroll() {\r\n const header = this.tableheader.nativeElement as HTMLElement;\r\n const body = this.tablebody.nativeElement as HTMLElement;\r\n const footer = this.tablefooter.nativeElement as HTMLElement;\r\n\r\n var toScroll = this.hasFot ? footer.scrollLeft : body.scrollLeft;\r\n\r\n if (this.hasTop) {\r\n header.scrollLeft = toScroll;\r\n }\r\n\r\n if (this.hasFot) {\r\n footer.scrollLeft = toScroll;\r\n }\r\n\r\n body.scrollLeft = toScroll;\r\n }\r\n\r\n private setStyle(): void {\r\n\r\n var spl = this.height().split(' ');\r\n if (spl.length == 2) {\r\n this.topHeight = spl[0];\r\n this.fotHeight = spl[1];\r\n } else {\r\n this.topHeight = spl[0];\r\n this.fotHeight = spl[0];\r\n }\r\n setTimeout(() => this.doSetStyle(), 10);\r\n }\r\n\r\n private doSetStyle(): void {\r\n if (this.hasTop && this.hasFot) {\r\n this.topStyle.set({\r\n height: this.topHeight,\r\n display: 'block'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: this.topHeight,\r\n bottom: this.fotHeight,\r\n \"overflow-x\": \"hidden\"\r\n });\r\n\r\n this.fotStyle.set({\r\n height: this.fotHeight,\r\n display:' block'\r\n })\r\n return;\r\n }\r\n\r\n if (this.hasTop && !this.hasFot) {\r\n this.topStyle.set({\r\n height: this.topHeight,\r\n display: 'block'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: this.topHeight,\r\n bottom: 0,\r\n \"overflow-x\" : \"auto\"\r\n });\r\n\r\n this.fotStyle.set({\r\n display: 'none'\r\n });\r\n return;\r\n }\r\n\r\n if (!this.hasTop && this.hasFot) {\r\n this.topStyle.set({\r\n display: 'none'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: 0,\r\n bottom: this.fotHeight\r\n });\r\n\r\n this.fotStyle.set({\r\n height: this.fotHeight,\r\n display: 'block'\r\n });\r\n return;\r\n }\r\n\r\n if (!this.hasTop && !this.hasFot) {\r\n this.topStyle.set({\r\n display: 'none'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: 0,\r\n bottom: 0\r\n });\r\n\r\n this.fotStyle.set({\r\n display: 'none'\r\n })\r\n }\r\n }\r\n}\r\n","<div class=\"ko-table\">\r\n <div class=\"ko-table-header\" [ngStyle]=\"topStyle()\" #tableheader>\r\n <ng-content select=\"[ko-table-header]\"></ng-content>\r\n </div>\r\n <div class=\"ko-table-body\" [ngStyle]=\"bodStyle()\" #tablebody (scroll)=\"updateScroll()\">\r\n <ng-content select=\"[ko-table-body]\"></ng-content>\r\n </div>\r\n <div class=\"ko-table-footer\" [ngStyle]=\"fotStyle()\" #tablefooter (scroll)=\"updateScroll()\">\r\n <ng-content select=\"[ko-table-footer]\"></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-title-panel',\r\n templateUrl: './kotitlepanel.component.html',\r\n styleUrls: ['./kotitlepanel.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n \r\n})\r\n\r\nexport class KoTitlePanelComponent {\r\n constructor() {\r\n }\r\n}\r\n","<div class=\"ko-container\">\r\n <div class=\"ko-title\">\r\n <ng-content select=\"[ko-title]\"></ng-content>\r\n </div>\r\n <div class=\"ko-body\">\r\n <ng-content select=\"[ko-body]\"></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-vertical-scroll',\r\n templateUrl: './koverticalscroll.component.html',\r\n styleUrls: ['./koverticalscroll.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoVerticalScrollComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-view',\r\n templateUrl: './koview.component.html',\r\n styleUrls: ['./koview.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoViewComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgStyle } from '@angular/common';\r\nimport { Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-vertical-split',\r\n templateUrl: './koverticalsplit.component.html',\r\n styleUrls: ['./koverticalsplit.component.scss'],\r\n imports: [NgStyle],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class KoVerticalSplitComponent {\r\n\r\n width = input<string>('50%');\r\n fixed = input<'left' | 'right'>('left');\r\n\r\n constructor() {\r\n effect(() => {\r\n const w = this.width();\r\n const f = this.fixed();\r\n this.init();\r\n });\r\n }\r\n\r\n leftStyle = signal<any>({});\r\n rightStyle = signal<any>({});\r\n\r\n\r\n private init(): void {\r\n if (this.fixed() == 'left') {\r\n this.leftStyle.set({\r\n width: this.width()\r\n });\r\n\r\n this.rightStyle.set({\r\n left: this.width()\r\n });\r\n } else {\r\n this.leftStyle.set({\r\n right: this.width()\r\n });\r\n this.rightStyle.set({\r\n width: this.width()\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"ko-left\" [ngStyle]=\"leftStyle()\">\r\n <ng-content select=\"[ko-left]\"></ng-content>\r\n</div>\r\n<div class=\"ko-right\" [ngStyle]=\"rightStyle()\">\r\n <ng-content select=\"[ko-right]\"></ng-content>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { KoHorizontalScrollComponent } from './panels/kohorizontalscroll/kohorizontalscroll.component';\r\nimport { KoHorizontalSplitComponent } from './panels/kohorizontalsplit/kohorizontalsplit.component';\r\nimport { KoMainComponent } from './panels/komain/komain.component';\r\nimport { KoTitlePanelComponent } from './panels/kotitlepanel/kotitlepanel.component';\r\nimport { KoVerticalScrollComponent } from './panels/koverticalscroll/koverticalscroll.component';\r\nimport { KoVerticalSplitComponent } from './panels/koverticalsplit/koverticalsplit.component';\r\nimport { KoViewComponent } from './panels/koview/koview.component';\r\nimport { KoExpansionPanelComponent } from './panels/koexpansionpanel/koexpansionpanel.component';\r\nimport { KoTablePanelComponent } from './panels/kotablepanel/kotablepanel.component';\r\nimport { KoButtonGroupComponent } from './forms/kobuttongroup/kobuttongroup.component';\r\nimport { KoDecimalDirective } from './forms/kodecimal.directive';\r\nimport { KoFocusDirective } from './forms/kofocus.directive';\r\nimport { KoAlertComponent } from './message/koalert/koaleret.component';\r\nimport { KoHeaderComponent } from './message/koheader/koheader.component';\r\nimport { KoOverDirective } from './navigation/koover.directive';\r\nimport { KoTopMenuComponent } from './navigation/kotopmenu/kotopmenu.component';\r\nimport { KoLeftMenuComponent } from './navigation/koleftmenu/koleftmenu.component';\r\nimport { KoWriteDirective } from './message/kowrite.directive';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n KoHorizontalScrollComponent,\r\n KoHorizontalSplitComponent,\r\n KoMainComponent,\r\n KoTitlePanelComponent,\r\n KoVerticalScrollComponent,\r\n KoVerticalSplitComponent,\r\n KoViewComponent,\r\n KoExpansionPanelComponent,\r\n KoTablePanelComponent,\r\n KoButtonGroupComponent,\r\n KoDecimalDirective,\r\n KoFocusDirective,\r\n KoAlertComponent,\r\n KoHeaderComponent,\r\n KoOverDirective,\r\n KoTopMenuComponent,\r\n KoLeftMenuComponent,\r\n KoWriteDirective\r\n ],\r\n exports: [\r\n KoHorizontalScrollComponent,\r\n KoHorizontalSplitComponent,\r\n KoMainComponent,\r\n KoTitlePanelComponent,\r\n KoVerticalScrollComponent,\r\n KoVerticalSplitComponent,\r\n KoViewComponent,\r\n KoExpansionPanelComponent,\r\n KoTablePanelComponent,\r\n KoButtonGroupComponent,\r\n KoDecimalDirective,\r\n KoFocusDirective,\r\n KoAlertComponent,\r\n KoHeaderComponent,\r\n KoOverDirective,\r\n KoTopMenuComponent,\r\n KoLeftMenuComponent,\r\n KoWriteDirective\r\n ]\r\n})\r\nexport class KiponUiModule { }\r\n","import { NativeDateAdapter } from \"@angular/material/core\";\r\n\r\nexport class DKCustomDateAdapter extends NativeDateAdapter {\r\n\r\n override format(date: Date | null, displayFormat: Object): string {\r\n if (!date) return '';\r\n\r\n const day = this.pad(date.getDate());\r\n const month = this.pad(date.getMonth() + 1);\r\n const year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n\r\n override parse(value: any): Date | null {\r\n if (typeof value !== 'string' || !value.trim()) return null;\r\n\r\n const parts = value.split('-');\r\n if (parts.length !== 3) return null;\r\n\r\n const day = Number(parts[0]);\r\n const month = Number(parts[1]) - 1;\r\n const year = Number(parts[2]);\r\n\r\n const date = new Date(year, month, day);\r\n\r\n return isNaN(date.getTime()) ? null : date;\r\n }\r\n\r\n private pad(n: number): string {\r\n return n < 10 ? `0${n}` : `${n}`;\r\n }\r\n}\r\n","import { Injectable, signal, Signal, WritableSignal } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { ISelectable, ISelectableService } from '../api/iselectable.interface';\r\n\r\nexport interface SelectedListContainer {\r\n selected: string[],\r\n empty: boolean,\r\n loaded: boolean\r\n}\r\n\r\nexport interface SelectedLists {\r\n [key: string]: BehaviorSubject<SelectedListContainer>\r\n}\r\n\r\nexport interface NotSelectedLists {\r\n [key: string]: BehaviorSubject<boolean>\r\n}\r\n\r\nexport interface LastSelectedItems {\r\n [key: string]: SelectedListContainer;\r\n}\r\n\r\nexport interface ServiceBinds {\r\n [key: string]: ISelectableService;\r\n}\r\n\r\nexport interface Counts {\r\n [key: string]: WritableSignal<number>;\r\n}\r\n\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class SelectedService {\r\n\r\n private selectedItems: SelectedLists = {} as SelectedLists;\r\n private notSelectedItems: NotSelectedLists = {} as NotSelectedLists;\r\n private lastSelectedItems: LastSelectedItems = {} as LastSelectedItems;\r\n private binds: ServiceBinds = {} as ServiceBinds;\r\n private keys: string[] = [];\r\n private nots: string[] = [];\r\n private counts: Counts = {};\r\n\r\n private resetFilter$: Subject<void>;\r\n\r\n constructor() {\r\n this.resetFilter$ = new Subject<void>();\r\n }\r\n\r\n resetAll() {\r\n this.resetFilter$.next();\r\n }\r\n\r\n reset(): Subject<void> {\r\n return this.resetFilter$;\r\n }\r\n\r\n get(key: string): BehaviorSubject<SelectedListContainer> {\r\n if (this.selectedItems[key] != null) {\r\n return this.selectedItems[key];\r\n }\r\n this.selectedItems[key] = new BehaviorSubject<SelectedListContainer>({ selected: [], empty: false, loaded: false });\r\n this.lastSelectedItems[key] = { selected: [], empty: false, loaded: false };\r\n this.keys.push(key);\r\n return this.selectedItems[key];\r\n }\r\n\r\n count(key: string): Signal<number> {\r\n if (this.counts[key] != null) {\r\n return this.counts[key];\r\n }\r\n\r\n const con = this.get(key);\r\n this.counts[key] = signal<number>(con.value.selected.length);\r\n return this.counts[key];\r\n }\r\n\r\n bind(service: ISelectableService): void {\r\n this.binds[service.key] = service;\r\n }\r\n\r\n not(key: string): BehaviorSubject<boolean> {\r\n if (this.notSelectedItems[key] != null) {\r\n return this.notSelectedItems[key];\r\n }\r\n this.notSelectedItems[key] = new BehaviorSubject<boolean>(false);\r\n this.nots.push(key);\r\n return this.notSelectedItems[key];\r\n }\r\n\r\n push(key: string, values: string[]) {\r\n const selector = this.binds[key];\r\n if (selector != null && selector != undefined) {\r\n selector.items().value.forEach(r => {\r\n r.selected = values.find(v => v == r.id) != null;\r\n });\r\n const tobepublished = selector.items().value.filter(r => r.selected == true).map(r => r.id);\r\n this.publish(key, tobepublished, false);\r\n } else {\r\n throw '[' + key + ']' + ' er ikke blevet bundet til service';\r\n }\r\n }\r\n\r\n publish(key: string, values: string[], empty: boolean) {\r\n var beh = this.get(key);\r\n var value = beh.value;\r\n value.selected = values;\r\n value.empty = empty;\r\n\r\n var las = this.lastSelectedItems[key];\r\n\r\n if (!las.loaded || !this.isSame(value, las)) {\r\n las.loaded = true;\r\n las.empty = value.empty;\r\n las.selected = value.selected;\r\n beh.next(value);\r\n }\r\n\r\n if (this.counts[key] != null) {\r\n this.counts[key].set(values.length);\r\n }\r\n }\r\n\r\n silentUnselectAll(items?: BehaviorSubject<ISelectable[]>) {\r\n if (items != undefined) {\r\n items.value.forEach(r => { r.selected = false; });\r\n }\r\n }\r\n\r\n toggleNot(k: string) {\r\n const n = this.not(k);\r\n const next = !n.value;\r\n n.next(next);\r\n }\r\n\r\n clearAllNots() {\r\n this.nots.forEach(n => {\r\n if (this.notSelectedItems[n].value == true) {\r\n this.notSelectedItems[n].next(false);\r\n }\r\n });\r\n }\r\n\r\n private isSame(next: SelectedListContainer,last: SelectedListContainer): boolean {\r\n if (next.empty != last.empty) return false;\r\n if (next.selected.length != last.selected.length) return false;\r\n\r\n for (var i=0;i<next.selected.length;i++) {\r\n if (next.selected[i] != last.selected[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n } \r\n}\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, input, output, OnInit, OnDestroy, inject } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatBadge } from '@angular/material/badge';\r\nimport { ISelectable, ISelectableService } from '../api/iselectable.interface';\r\nimport { SelectedService } from '../services/selected.service';\r\n\r\n\r\nexport interface IGroupedSelectable {\r\n group?: string;\r\n items: ISelectable[];\r\n}\r\n\r\n@Component({\r\n selector: 'xrmui-info',\r\n templateUrl: './info.xrmui.html',\r\n styleUrl: './info.xrmui.scss',\r\n imports: [MatIcon,MatBadge]\r\n})\r\nexport class XrmuiInfo implements OnInit, OnDestroy {\r\n\r\n private selectedService: SelectedService = inject(SelectedService);\r\n\r\n label = input<string>();\r\n onlyshowselected = input<boolean>(false);\r\n items = input<ISelectableService>();\r\n icon = input<string>();\r\n click = output<void>();\r\n clear = output<void>();\r\n badget = input<number>();\r\n\r\n list$?: Subscription;\r\n list: ISelectable[] = [];\r\n\r\n select$?: Subscription;\r\n\r\n grouped: IGroupedSelectable[] = [];\r\n\r\n over: ISelectable | null = null;\r\n\r\n isnot: boolean = false;\r\n isnot$?: Subscription;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const service = this.items();\r\n\r\n if (service != null) {\r\n this.select$ = this.selectedService.get(service.key).subscribe(v => {\r\n this.list = this.list.filter(v => v.selected == true);\r\n });\r\n\r\n this.list$ = service.items().subscribe(r => {\r\n this.list = r.filter(v => v.selected == true);\r\n this.doGrouping();\r\n });\r\n } else {\r\n this.list$?.unsubscribe();\r\n this.select$?.unsubscribe();\r\n this.isnot$?.unsubscribe();\r\n this.list = [];\r\n this.doGrouping();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.list$?.unsubscribe();\r\n this.isnot$?.unsubscribe();\r\n this.select$?.unsubscribe();\r\n }\r\n\r\n onClick() {\r\n this.click.emit();\r\n }\r\n\r\n doClear() {\r\n this.clear.emit();\r\n }\r\n\r\n isover(v: ISelectable) {\r\n this.over = v;\r\n }\r\n\r\n isout() {\r\n this.over = null;\r\n }\r\n\r\n remove(e: Event, v: ISelectable) {\r\n e.stopImmediatePropagation();\r\n const it = this.items();\r\n if (it) {\r\n v.selected = false;\r\n this.list = this.list.filter(r => r.selected == true);\r\n const sn = this.list.filter(r => r.selected == true).map(r => r.id);\r\n this.selectedService.publish(it.key, sn, false);\r\n this.doGrouping();\r\n }\r\n }\r\n\r\n private doGrouping() {\r\n this.grouped = [];\r\n let lastGroup: IGroupedSelectable | undefined = undefined; \r\n const result: IGroupedSelectable[] = [];\r\n\r\n this.list.forEach(v => {\r\n if (v.selected == true) {\r\n if (lastGroup == undefined) {\r\n lastGroup = { group: v.group, items: [v] };\r\n result.push(lastGroup);\r\n return;\r\n }\r\n if (lastGroup.group == v.group) {\r\n lastGroup.items.push(v);\r\n return;\r\n }\r\n\r\n lastGroup = { group: v.group, items: [v] };\r\n result.push(lastGroup);\r\n }\r\n });\r\n this.grouped = result;\r\n }\r\n}\r\n","@if (!onlyshowselected() || list.length > 0) {\r\n <div class=\"line\" (click)=\"onClick()\">\r\n @if (icon() != undefined){\r\n <div class=\"ic\">\r\n @let bad = badget() ?? 0;\r\n @if ( bad == 0) {<mat-icon fontSet=\"material-symbols-outlined\">{{ icon() }}</mat-icon>}\r\n @if (bad > 0) {<mat-icon fontSet=\"material-symbols-outlined\" [matBadge]=\"badget()\" aria-hidden=\"false\">{{ icon()\r\n }}</mat-icon>}\r\n </div>}\r\n @if (label() != undefined){<div class=\"lab\">{{ label() }}</div>}\r\n <div class=\"con\">\r\n <ng-content></ng-content>\r\n @if (list.length > 0) {\r\n @for(gr of grouped; track gr) {\r\n @if (gr.group != undefined && gr.group != '') {\r\n <div class=\"selected-item\"><b>{{ gr.group }}</b></div>\r\n }\r\n @for(li of gr.items; track li) {\r\n <div class=\"selected-item\" (mouseover)=\"isover(li)\" (mouseleave)=\"isout()\">\r\n <div class=\"selected-item-name\">{{ li.name }}</div>\r\n @if (over == li){<div class=\"selected-item-tool\" title=\"Fjern fra valgt listen\"\r\n (click)=\"remove($event, li)\"><mat-icon fontSet=\"material-symbols-outlined\"\r\n style=\"color: gray; font-size: small; height: 16px\">delete</mat-icon></div>}\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n }","export class XrmuiPanel {\r\n orientation: 'horizontal' | 'vertical' = 'horizontal';\r\n top: string = '';\r\n bottom: string = '';\r\n height: string = '';\r\n left: string = '';\r\n right: string = '';\r\n width: string = '';\r\n style: string = '';\r\n resizeStyle: string = '';\r\n dyn: boolean = false;\r\n index: number = 0;\r\n private initialWidth: number = 0;\r\n private initialHeight: number = 0;\r\n\r\n render(isresize: boolean = false) {\r\n this.style = '';\r\n this.add('top', this.top);\r\n this.add('bottom', this.bottom);\r\n this.add('height', this.height);\r\n this.add('left', this.left);\r\n this.add('right', this.right);\r\n this.add('width', this.width);\r\n\r\n if (!isresize && this.orientation == 'vertical') {\r\n this.resizeStyle = 'left: ' + this.width;\r\n this.initialWidth = Number(this.width.replace('px',''));\r\n }\r\n\r\n if (!isresize && this.orientation == 'horizontal') {\r\n this.resizeStyle = 'top: ' + this.height;\r\n this.initialHeight = Number(this.height.replace('px',''));\r\n }\r\n }\r\n\r\n private add(s: string, v: string) {\r\n if (v != '') {\r\n if (this.style.length > 0) {\r\n this.style += \";\";\r\n }\r\n this.style += s + \": \" + v;\r\n }\r\n }\r\n\r\n moveTo(pixel: number, next: XrmuiPanel) {\r\n\r\n if (this.orientation == 'vertical') {\r\n // vertical increase/decrease width on current\r\n // vertical increase/decrease left on next\r\n const newWidth = this.initialWidth + pixel;\r\n this.width = newWidth + 'px';\r\n next.left = newWidth + 'px';\r\n this.render(true);\r\n next.render(true);\r\n }\r\n\r\n if (this.orientation == 'horizontal') {\r\n const newHeight = this.initialHeight + pixel;\r\n this.height = newHeight + 'px';\r\n next.top = newHeight + 'px';\r\n this.render(true);\r\n next.render(true);\r\n }\r\n }\r\n\r\n endResize() {\r\n if (this.orientation == 'vertical') {\r\n this.initialWidth = Number(this.width.replace('px',''));\r\n }\r\n\r\n if (this.orientation == 'horizontal') {\r\n this.initialHeight = Number(this.height.replace('px',''));\r\n }\r\n }\r\n}\r\n","import { CdkDrag } from '@angular/cdk/drag-drop';\r\nimport { NgClass } from '@angular/common';\r\nimport { AfterViewInit, Component, computed, effect, ElementRef, inject, input, OnDestroy, signal } from '@angular/core';\r\nimport { XrmuiPanel } from '../models/xrmuipanel.model';\r\nimport { IDistance } from '../api/idistance.interface';\r\n\r\n\r\ninterface IStyle {\r\n style: string;\r\n dyn: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'xrmui-layout',\r\n templateUrl: './layout.xrmui.html',\r\n styleUrl: './layout.xrmui.scss',\r\n imports: [CdkDrag,NgClass]\r\n})\r\nexport class XrmuiLayout implements AfterViewInit, OnDestroy {\r\n\r\n _panels = input<string>('', { alias: 'panels' });\r\n _orientation = input<'horizontal' | 'vertical'>('horizontal', {alias: 'orientation'});\r\n _resizeable = input<boolean>(false, { alias:'resizeable' });\r\n\r\n panels = signal<string>('');\r\n orientation = signal<'horizontal' | 'vertical'>('horizontal');\r\n resizeable = signal<boolean>(false);\r\n\r\n\r\n private totalHeight: number = 0;\r\n private totalWidth: number = 0;\r\n\r\n private unit: 'px' | '%' = 'px';\r\n\r\n private panellist$ = signal<XrmuiPanel[]>([]);\r\n private resized = signal<number>(0);\r\n panellist = this.panellist$.asReadonly();\r\n\r\n private viewInitialized: boolean = false;\r\n\r\n style0 = computed(() => { return this.styleFor(0) });\r\n style1 = computed(() => { return this.styleFor(1) });\r\n style2 = computed(() => { return this.styleFor(2) });\r\n style3 = computed(() => { return this.styleFor(3) });\r\n style4 = computed(() => { return this.styleFor(4) });\r\n\r\n private styleFor(i: number) : IStyle {\r\n const panels = this.panellist();\r\n const resize = this.resized();\r\n\r\n\r\n if (panels.length > i) {\r\n return { style: panels[i].style, dyn: panels[i].dyn }\r\n }\r\n return { style: \"display: none;\", dyn: false }\r\n }\r\n\r\n\r\n private element: ElementRef = inject(ElementRef);\r\n \r\n constructor() {\r\n effect(() => {\r\n this.panels.set(this._panels());\r\n this.orientation.set(this._orientation());\r\n this.resizeable.set(this._resizeable());\r\n \r\n if (this.viewInitialized) {\r\n this.render();\r\n }\r\n })\r\n }\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n ngAfterViewInit(): void {\r\n this.resizeObserver = new ResizeObserver(entries => {\r\n const width = entries[0].contentRect.width;\r\n \r\n if (width > 0) {\r\n this.render();\r\n this.viewInitialized = true;\r\n }\r\n });\r\n \r\n this.resizeObserver.observe(this.element.nativeElement); \r\n}\r\n\r\n ngOnDestroy(): void {\r\n this.resizeObserver?.disconnect();\r\n \r\n }\r\n \r\n private render(): void {\r\n this.totalWidth = this.element.nativeElement.offsetWidth;\r\n this.totalHeight = this.element.nativeElement.clientHeight;\r\n\r\n const nextpanellist: XrmuiPanel[] = [];\r\n\r\n // If panels are resizeable, we will work in px only\r\n if (this.resizeable() && this.panels() != null && this.panels().length > 1) {\r\n const ps: string[] = [];\r\n let used = 0;\r\n this.panels().split(',').forEach(r => {\r\n if (r == '?') {\r\n ps.push(r);\r\n return;\r\n }\r\n\r\n if (r.indexOf('px') >= 0) {\r\n used += this.sizeToNumber(r);\r\n ps.push(r);\r\n return;\r\n }\r\n const pct = this.sizeToNumber(r);\r\n if (this.orientation() == 'vertical') {\r\n const next = Math.round(this.totalWidth * pct / 100);\r\n used += next;\r\n ps.push(next.toString() + 'px');\r\n } else {\r\n const next = Math.round(this.totalHeight * pct / 100);\r\n used += next;\r\n ps.push(next.toString() + 'px');\r\n }\r\n });\r\n\r\n let left = this.totalHeight - used;\r\n if (this.orientation() == 'vertical') {\r\n left = this.totalWidth - used;\r\n }\r\n\r\n var freeIndex = ps.indexOf('?');\r\n if (freeIndex >= 0 && freeIndex < (ps.length - 1)) {\r\n ps[freeIndex] = left.toString() + 'px';\r\n ps[ps.length - 1] = '?';\r\n }\r\n\r\n this.panels.set(ps.join(','));\r\n }\r\n\r\n if (this.panels().length > 0) {\r\n var numbers = this.getNumbers();\r\n var countOpen = numbers.filter(r => r == -1).length;\r\n\r\n if (numbers.length > 5) {\r\n throw new Error(\"A maximum of 5 containers is supported\");\r\n }\r\n\r\n var bind: 'top' | 'bottom' = 'top';\r\n var currentcursor: number = 0;\r\n\r\n if (countOpen > 1) {\r\n throw new Error('Only one open container is supported');\r\n }\r\n\r\n for (var i=0;i<numbers.length;i++) {\r\n var num = numbers[i];\r\n var next = new XrmuiPanel();\r\n next.index = i;\r\n next.orientation = this.orientation();\r\n\r\n if (num > 0 && bind == 'top') {\r\n\r\n if (this.orientation() == 'horizontal') {\r\n next.top = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.height = num.toString() + this.unit;\r\n } else {\r\n next.left = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.width = num.toString() + this.unit;\r\n }\r\n currentcursor += num;\r\n nextpanellist.push(next);\r\n continue;\r\n }\r\n\r\n if (num == -1) {\r\n var sum = this.sumAfter(numbers, i);\r\n if (this.orientation() == 'horizontal') {\r\n next.top = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.bottom = sum.toString() + this.toUnit(sum);\r\n } else {\r\n next.left = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.right = sum.toString() + this.toUnit(sum);\r\n }\r\n next.dyn = true;\r\n nextpanellist.push(next);\r\n bind = 'bottom';\r\n continue;\r\n }\r\n\r\n if (num >= 0 && bind == 'bottom') {\r\n var sum = this.sumAfter(numbers,i);\r\n if (this.orientation() == 'horizontal') {\r\n next.bottom = sum.toString() + this.toUnit(sum);\r\n next.height = num.toString() + this.unit;\r\n } else {\r\n next.right = sum.toString() + this.toUnit(sum);\r\n next.width = num.toString() + this.unit;\r\n }\r\n nextpanellist.push(next);\r\n continue;\r\n }\r\n throw new Error(\"Unexpected handle of elements\");\r\n }\r\n\r\n nextpanellist.forEach(p => p.render());\r\n this.panellist$.set(nextpanellist);\r\n }\r\n }\r\n\r\n resize(e: any, panel: XrmuiPanel) {\r\n const d = e['distance'] as IDistance;\r\n if (panel.orientation == 'vertical') \r\n {\r\n panel.moveTo(d.x, this.panellist$()[panel.index + 1]);\r\n }\r\n\r\n if (panel.orientation == 'horizontal') {\r\n panel.moveTo(d.y, this.panellist$()[panel.index + 1]);\r\n }\r\n\r\n const r = this.resized();\r\n this.resized.set(r + 1);\r\n }\r\n\r\n drop(e: any, panel: XrmuiPanel) {\r\n panel.endResize();\r\n }\r\n\r\n private toUnit(n: number): string {\r\n if (n > 0) {\r\n return this.unit;\r\n }\r\n return '';\r\n }\r\n\r\n private getNumbers(): number[] {\r\n this.unit = 'px';\r\n var result = [] as number[];\r\n if (this.panels().length > 0) {\r\n var unitAssigned = false;\r\n this.panels().split(',').forEach(r => {\r\n if (r.indexOf('px') >= 0) {\r\n if (unitAssigned && this.unit != 'px') {\r\n throw new Error(\"unit can only be assigned once and must be consistent. Unit already set to \" + this.unit);\r\n }\r\n this.unit = 'px';\r\n unitAssigned = true;\r\n }\r\n\r\n if (r.indexOf('%') >= 0) {\r\n if (unitAssigned && this.unit != '%') {\r\n throw new Error(\"unit can only be assigned once and must be consistent. Unit already set to \" + this.unit);\r\n }\r\n this.unit = '%';\r\n unitAssigned = true;\r\n }\r\n if (r == '?') {\r\n result.push(-1);\r\n } else {\r\n result.push(this.sizeToNumber(r));\r\n }\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n private sizeToNumber(r: string) {\r\n return Number(r.replace('px','').replace('%',''));\r\n }\r\n\r\n\r\n private sumAfter(numbers: number[], index: number): number {\r\n var result = 0;\r\n for (var i=index+1;i<numbers.length;i++) {\r\n result += numbers[i];\r\n }\r\n return result;\r\n }\r\n}\r\n","<div [style]=\"style0().style\" [ngClass]=\"{ dynamics: style0().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\">\r\n <ng-content select=\"[c1]\"></ng-content>\r\n</div>\r\n\r\n@if (panellist().length > 1 && resizeable()) {\r\n <div \r\n [style]=\"panellist()[0].resizeStyle\" \r\n class=\"resizer\" \r\n cdkDrag \r\n [cdkDragLockAxis]=\"orientation() == 'horizontal' ? 'y' : 'x'\" \r\n (cdkDragMoved)=\"resize($event, panellist()[0])\"\r\n (cdkDragEnded)=\"drop($event, panellist()[0])\"\r\n [ngClass]=\"{ horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"></div>\r\n}\r\n <div [style]=\"style1().style\" [ngClass]=\"{ dynamics: style1().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c2]\"></ng-content></div>\r\n <div [style]=\"style2().style\" [ngClass]=\"{ dynamics: style2().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c3]\"></ng-content></div>\r\n <div [style]=\"style3().style\" [ngClass]=\"{ dynamics: style3().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c4]\"></ng-content></div>\r\n <div [style]=\"style4().style\" [ngClass]=\"{ dynamics: style4().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c5]\"></ng-content></div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'xrmui-panel',\r\n templateUrl: './panel.xrmui.html',\r\n styleUrl: './panel.xrmui.scss',\r\n imports: []\r\n})\r\nexport class XrmuiPanel {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgClass } from '@angular/common';\r\nimport { AfterContentInit, Component, computed, effect, ElementRef, inject, input, signal } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'xrmui-icon',\r\n templateUrl: './icon.xrmui.html',\r\n styleUrl: './icon.xrmui.scss',\r\n imports: [NgClass,MatIcon]\r\n})\r\nexport class XrmuiIcon implements AfterContentInit {\r\n\r\n private host: ElementRef = inject(ElementRef);\r\n _icon = input<string>('', { alias: 'icon' });\r\n disabled = input<boolean>(false);\r\n type = input<'mat' | 'fa'>('mat');\r\n\r\n icon = signal<string>('');\r\n\r\n classes = computed(() => {\r\n const i = this.icon();\r\n const d = this.disabled();\r\n const t = this.type();\r\n\r\n if (t == 'mat') {\r\n if (d) return [\"disabled\"];\r\n return [];\r\n }\r\n\r\n if (d) {\r\n return ['fa',i,'disabled'];\r\n }\r\n return ['fa',i];\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const i = this._icon();\r\n if (i != '') {\r\n this.icon.set(i);\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n const i = this._icon();\r\n if (i == '') {\r\n const content = this.host.nativeElement.textContent?.trim() ?? '';\r\n if (content != '') {\r\n this.icon.set(content);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","<span style=\"display: none;\"><ng-content></ng-content></span>\r\n@if (icon() != '') {\r\n@if (type() == 'mat') {\r\n <mat-icon [ngClass]=\"classes()\" fontSet=\"material-symbols-outlined\">{{ icon() }}</mat-icon>\r\n}\r\n@if (type() == 'fa') {\r\n <i [ngClass]=\"classes()\"></i>\r\n}\r\n}","import { Directive, input } from \"@angular/core\";\r\nimport { ChangedNotifier } from \"../api/changednotifier.interface\";\r\n\r\n@Directive({\r\n selector: '[changeScope]',\r\n exportAs: 'changeScope',\r\n standalone: true,\r\n})\r\nexport class ChangeScopeDirective {\r\n changeScope = input.required<ChangedNotifier>();\r\n \r\n notifyChanged(): void {\r\n const cp = this.changeScope();\r\n if (cp) {\r\n cp.notifyOnChanged.call(cp);\r\n const oc = cp.onChanged;\r\n\r\n if (oc) {\r\n oc.call(cp);\r\n }\r\n }\r\n }\r\n}","import { computed, Directive, input, signal } from \"@angular/core\";\r\nimport { Form } from '../api/form.interface';\r\n\r\n@Directive({\r\n selector: '[formScope]',\r\n exportAs: 'formScope',\r\n standalone: true,\r\n})\r\nexport class FormScopeDirective {\r\n formScope = input.required<Form>();\r\n}","import { NgClass } from '@angular/common';\r\nimport { Component, computed, effect, ElementRef, EventEmitter, inject, input, Input, isSignal, model, OnChanges, output, Output, QueryList, Signal, signal, SimpleChanges, ViewChild, ViewChildren } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { ISelectable } from '../api/iselectable.interface';\r\nimport { ISearchService } from '../api/isearchservice.interface';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { OptionSetValue } from '../api/optionsetvalue.interface';\r\nimport { ChangeScopeDirective } from '../changedscope/changedscope.directive';\r\nimport { EntityReference } from '../api/entityreference.interface';\r\nimport { FormScopeDirective } from '../form/formscope.directive';\r\nimport { first } from 'rxjs';\r\n\r\nexport const NAVIGATIONKEYS = ['ArrowUp','ArrowDown','ArrowLeft','ArrowRight','Escape','Tab','Enter','Backspace','Delete','End','Home','Shift','CapsLock','Insert','PageUp','PageDown','PageDown','PageDown'];\r\nexport const NUMBERS = ['0','1','2','3','4','5','6','7','8','9'];\r\nexport const DECIMALS = ['0','1','2','3','4','5','6','7','8','9',','];\r\nexport const CTRL_KEYS = ['c','C','v','V','x','X'];\r\n\r\n@Component({\r\n selector: 'xrmui-input',\r\n templateUrl: './input.xrmui.html',\r\n styleUrl: './input.xrmui.scss',\r\n imports: [FormsModule, NgClass, MatIcon,TextFieldModule,MatDatepickerModule]\r\n})\r\nexport class XrmuiInput {\r\n @ViewChild('inputfield') searchElement?: ElementRef;\r\n @ViewChild('textareafield') textareaElement?: ElementRef;\r\n @ViewChild('datefield') datefieldElement?: ElementRef;\r\n @ViewChildren('option') options!: QueryList<ElementRef<HTMLDivElement>>;\r\n\r\n private changeScope = inject(ChangeScopeDirective, {optional: true,host: true });\r\n private formScope = inject(FormScopeDirective, {optional: true,host: true });\r\n\r\n label = input<string>('');\r\n _shortLabel = input<boolean | 'above' | undefined>(undefined, {alias: 'short-label'});\r\n\r\n shortLabel = computed(() => {\r\n const sl = this._shortLabel();\r\n if (sl) return sl;\r\n if (this.formScope) {\r\n if (this.formScope.formScope().labeltype == \"short\") return true;\r\n if (this.formScope.formScope().labeltype == \"above\") return \"above\";\r\n }\r\n return false;\r\n });\r\n\r\n placeholder = input<string>('');\r\n\r\n value = model<string | number | Date | null | undefined>(null);\r\n _disabled = input<boolean | undefined>(undefined, { alias: 'disabled'});\r\n disabled = computed(() => {\r\n\r\n const d = this._disabled();\r\n if (d != undefined) {\r\n return d;\r\n }\r\n\r\n if (this.formScope && this.formScope.formScope().disabled != undefined) {\r\n return this.formScope.formScope().disabled ?? false;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n _showlock = input<boolean | undefined>(undefined, {alias: 'showlock'});\r\n showlock = computed(() => {\r\n const sl = this._showlock();\r\n if (sl != undefined) {\r\n return sl;\r\n }\r\n\r\n if (this.formScope && this.formScope.formScope().showlock != undefined) {\r\n return this.formScope.formScope().showlock ?? true;\r\n }\r\n return true;\r\n });\r\n\r\n required = input<boolean>(false);\r\n type = input<'text' | 'number' | 'password'>('text');\r\n setfocus = model<boolean>(false);\r\n autocomplete = input<ISearchService | null>( null);\r\n selectable = input<ISelectable[] | null>(null);\r\n selected = model<ISelectable | undefined>(undefined);\r\n optionsetvalue = input<OptionSetValue | null>(null);\r\n entityreference = input<EntityReference | null>(null);\r\n onselect = output<ISelectable | undefined>();\r\n error = input<boolean>(false);\r\n validate = model<'number' | 'decimal' | 'date' | null>(null);\r\n onfocusEvent = output<void>({ alias:'focus' });\r\n onblurEvent = output<void>({alias: 'blur'});\r\n click = output<void>();\r\n resizeable = input<boolean>(true);\r\n info = input<string | null>(null);\r\n notdark = input<boolean>(false);\r\n _autoopenonblank = input<boolean | undefined>(undefined, { alias: \"autoopenonblank\" });\r\n\r\n autoopenonblank = computed(() => {\r\n const au = this._autoopenonblank();\r\n if (au != undefined) {\r\n return au;\r\n }\r\n\r\n if (this.formScope && this.formScope.formScope().autoopenonblank != undefined) {\r\n return this.formScope.formScope().autoopenonblank ?? false;\r\n }\r\n return false;\r\n });\r\n\r\n decimalsUsed = output<number>();\r\n onEnter = output<void>();\r\n\r\n toolIcon = input<string | null>(null);\r\n toolClick = output<void>();\r\n\r\n numberoflines = input(1);\r\n maxlength = input<number | null>(null);\r\n\r\n hasfocus = signal(false);\r\n search: string = '';\r\n\r\n private items: ISelectable[] | null = null;\r\n itemlist = signal<ISelectable[]>([]);\r\n showitems = signal(false);\r\n searchthread: any | null = null;\r\n searchnumber: number = 0;\r\n\r\n current?: ISelectable;\r\n currentindex: number = -1;\r\n\r\n shadowValue = signal<string>('');\r\n shadowDate = signal<Date | null>(null);\r\n\r\n isselect = computed(() => {\r\n const s = this.selectable();\r\n if (s && s.length > 0) return true;\r\n return false;\r\n });\r\n\r\n private firstAutocomplete: boolean = true;\r\n\r\n constructor() {\r\n effect(() => {\r\n const sf = this.setfocus();\r\n if (sf == true) {\r\n this.focusMe(undefined);\r\n setTimeout(() => {\r\n this.setfocus.set(false);\r\n },10);\r\n }\r\n });\r\n\r\n effect(() => {\r\n const type = this.type();\r\n const validate = this.validate();\r\n if (type == 'number' && validate == null) {\r\n this.validate.set('decimal');\r\n }\r\n });\r\n\r\n effect(() => {\r\n const value = this.value();\r\n if (value == null) {\r\n this.shadowValue.set('');\r\n this.shadowDate.set(null);\r\n return;\r\n }\r\n\r\n if (this.validate() == 'decimal') {\r\n this.shadowValue.set(value.toString().replace('.',','));\r\n return;\r\n }\r\n\r\n if (this.validate() == 'date') {\r\n this.shadowDate.set(value as Date);\r\n return;\r\n }\r\n\r\n this.shadowValue.set(value.toString());\r\n });\r\n\r\n effect(()=> {\r\n const sel = this.selected();\r\n if (sel) {\r\n this.shadowValue.set(sel.name ?? '');\r\n }\r\n });\r\n\r\n effect(() => {\r\n const osv = this.optionsetvalue();\r\n const sels = this.selectable();\r\n if (osv) {\r\n const n = osv.name$();\r\n this.shadowValue.set(n ?? '');\r\n }\r\n \r\n if (osv && sels && sels.length > 0) {\r\n const v = osv.value$();\r\n if (v != undefined) {\r\n const sel = sels.find(r => r.id == v.toString());\r\n if (sel) {\r\n this.selected.set(sel);\r\n }\r\n }\r\n };\r\n });\r\n\r\n effect(() => {\r\n const re = this.entityreference();\r\n if (re) {\r\n const name = re.name$() ?? '';\r\n this.shadowValue.set(name);\r\n }\r\n });\r\n\r\n effect(() => {\r\n const ap = this.autocomplete();\r\n if (this.firstAutocomplete) {\r\n this.firstAutocomplete = false;\r\n return;\r\n }\r\n \r\n if (ap) {\r\n this.refreshItems();\r\n }\r\n });\r\n }\r\n\r\n\r\n pickDate(d: MatDatepickerInputEvent<any,any>) {\r\n this.shadowDate.set(d.value);\r\n this.value.set(d.value);\r\n this.notifyOnChange();\r\n }\r\n\r\n formatNumber(n: number): string {\r\n if (Math.abs(n) < 1e21) {\r\n return n.toLocaleString('fullwide', { useGrouping: false });\r\n } else {\r\n // fallback for very large numbers beyond JS number precision\r\n return n.toString();\r\n }\r\n }\r\n\r\n onValueChanged() {\r\n const sv = this.shadowValue();\r\n if (sv == '') {\r\n this.value.set(null);\r\n } else {\r\n const next = sv.replace(',','.');\r\n switch (this.validate()) {\r\n case 'number': {\r\n this.value.set(Number(next));\r\n break;\r\n }\r\n case 'decimal': {\r\n this.value.set(Number(next));\r\n break;\r\n }\r\n default:\r\n this.value.set(sv);\r\n\r\n }\r\n\r\n if (this.type() == 'number' && this.validate() == 'decimal') {\r\n var spl = next.split('.');\r\n if (spl.length <= 1) {\r\n this.decimalsUsed.emit(0);\r\n } else {\r\n this.decimalsUsed.emit(spl[1].length);\r\n }\r\n }\r\n }\r\n this.searchbyname();\r\n }\r\n\r\n onFocus() {\r\n this.hasfocus.set(true);\r\n this.onfocusEvent.emit();\r\n\r\n if (this.autoopenonblank() && this.autocomplete()) {\r\n const cv = this.shadowValue() ?? '';\r\n if (cv == '') {\r\n this.searchbyname(true);\r\n }\r\n }\r\n }\r\n\r\n onBlur() {\r\n setTimeout(() => {\r\n this.hasfocus.set(false);\r\n this.showitems.set(false);\r\n\r\n const sel = this.selected();\r\n\r\n const sv = this.shadowValue();\r\n if (sel && sel.name != sv) {\r\n this.selected.set(undefined);\r\n this.onselect.emit(undefined); \r\n this.shadowValue.set('');\r\n this.notifyOnChange();\r\n }\r\n\r\n const re = this.entityreference();\r\n if (re && re.name$() != sv) {\r\n re.set(undefined, undefined);\r\n this.onselect.emit(undefined);\r\n this.shadowValue.set('');\r\n this.notifyOnChange();\r\n }\r\n this.onblurEvent.emit();\r\n },200);\r\n }\r\n\r\n ondown(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.next(1);\r\n\r\n }\r\n\r\n onup(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.next(-1);\r\n }\r\n\r\n onenter(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this.onEnter.emit();\r\n\r\n if (this.showitems() == false) {\r\n this.searchbyname();\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n this.value.set(this.current.name ?? '');\r\n this.selected.set(this.current);\r\n this.onselect.emit(this.current);\r\n this.showitems.set(false);\r\n }\r\n }\r\n\r\n onesc(e: Event) {\r\n this.showitems.set(false);\r\n }\r\n\r\n onClick() {\r\n this.click.emit();\r\n }\r\n\r\n onkeydown(e: Event) {\r\n const k = e as KeyboardEvent;\r\n if (this.validate() != null) {\r\n if (NAVIGATIONKEYS.indexOf(k.key) >= 0) {\r\n return;\r\n }\r\n\r\n if (k.ctrlKey) {\r\n if (CTRL_KEYS.indexOf(k.key) >= 0) {\r\n return;\r\n }\r\n }\r\n\r\n if (this.validate() == 'number') {\r\n if (NUMBERS.indexOf(k.key) < 0) {\r\n e.preventDefault();\r\n e.stopPropagation(); \r\n }\r\n }\r\n\r\n if (this.validate() == 'decimal') {\r\n if (DECIMALS.indexOf(k.key) < 0) {\r\n e.preventDefault();\r\n e.stopPropagation(); \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n setchoice(v: Event) {\r\n const sel = this.selectable();\r\n if (sel && sel.length > 0) {\r\n const value = (v.target as HTMLSelectElement).value;\r\n const next = sel.find(r => r.id == value);\r\n if (next) {\r\n const osv = this.optionsetvalue();\r\n if (osv) {\r\n osv.set(Number(next.id), next.name)\r\n }\r\n this.selected.set(next);\r\n this.notifyOnChange();\r\n }\r\n }\r\n }\r\n\r\n select(e: Event, v: ISelectable) {\r\n e.stopImmediatePropagation();\r\n e.stopPropagation();\r\n this.value.set(v.name ?? '');\r\n\r\n const re = this.entityreference();\r\n if (re) {\r\n re.set(v.id, v.name);\r\n }\r\n\r\n this.selected.set(v);\r\n this.onselect.emit(v);\r\n this.notifyOnChange();\r\n }\r\n\r\n private next(e: number) {\r\n if (this.items != null && this.items.length > 0) {\r\n this.currentindex = this.currentindex + e;\r\n if (this.currentindex >= this.items.length) {\r\n this.currentindex = 0;\r\n }\r\n\r\n if (this.currentindex == -1) {\r\n this.currentindex = this.items.length - 1;\r\n }\r\n\r\n if (this.currentindex == -2) {\r\n this.currentindex = this.items.length - 1;\r\n }\r\n this.current = this.items[this.currentindex]\r\n }\r\n this.ensureCurrentVisible();\r\n }\r\n\r\n private ensureCurrentVisible(): void {\r\n\r\n if (this.current != undefined) {\r\n const index = this.itemlist().indexOf(this.current);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.options.get(index)?.nativeElement.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest'\r\n });\r\n }\r\n}\r\n\r\n focusMe(e?: Event) {\r\n e?.stopPropagation();\r\n\r\n if (!this.disabled() && this.searchElement != null) {\r\n this.searchElement.nativeElement.focus();\r\n }\r\n\r\n if (!this.disabled() && this.textareaElement != null) {\r\n this.textareaElement.nativeElement.focus();\r\n }\r\n\r\n if (!this.disabled() && this.datefieldElement != null) {\r\n this.datefieldElement.nativeElement.focus();\r\n }\r\n\r\n this.click.emit();\r\n }\r\n\r\n toolClicked(e: Event) {\r\n e.stopPropagation();\r\n this.toolClick.emit();\r\n }\r\n\r\n private searchbyname(ommitcm?: boolean) {\r\n if (this.searchthread != null) {\r\n clearTimeout(this.searchthread);\r\n }\r\n\r\n this.searchthread = setTimeout(() => {\r\n this.dosearchbyname();\r\n }, 600)\r\n }\r\n\r\n private async dosearchbyname(ommitcm?: boolean) {\r\n const ap = this.autocomplete();\r\n\r\n if (!ap && ommitcm != true) {\r\n this.notifyOnChange();\r\n } \r\n\r\n if (ap != null) {\r\n this.currentindex = -1;\r\n this.current = undefined;\r\n\r\n await this.refreshItems();\r\n\r\n if (this.items != null && this.items.length > 0) {\r\n this.itemlist.set(this.items);\r\n this.showitems.set(true);\r\n } else {\r\n this.itemlist.set([]);\r\n this.showitems.set(false);\r\n }\r\n }\r\n }\r\n\r\n private async refreshItems() {\r\n const ap = this.autocomplete();\r\n if (ap) {\r\n this.searchnumber++;\r\n var next = this.searchnumber;\r\n var nextlist = await ap.search(this.value()?.toString() ?? '');\r\n if (this.searchnumber == next) {\r\n this.items = nextlist;\r\n }\r\n }\r\n }\r\n\r\n private notifyOnChange() {\r\n this.changeScope?.notifyChanged();\r\n }\r\n}\r\n","@if (showitems()) {\r\n <div class=\"autocomplete\" [ngClass]=\"{ nolabel: (!label() || label().length == 0 || shortLabel() == 'above'), shortLabel: shortLabel() == true, notdark: notdark() }\">\r\n @if (itemlist().length == 0) {\r\n <div class=\"element\"><div class=\"item\">Ingen fundet</div>div></div>\r\n }\r\n @for (elm of itemlist(); track elm) {\r\n <div #option class=\"element\" [ngClass]=\"{ current: current == elm, selectable: !elm.disabled }\" (click)=\"select($event, elm)\">\r\n <div class=\"item\">{{ elm.name }}</div>\r\n </div>\r\n }\r\n </div>\r\n}\r\n@if (label() != '' && label().length > 0 && shortLabel() != 'above') {\r\n<div class=\"label\" [ngClass]=\"{ short: shortLabel() == true }\" (click)=\"focusMe($event)\">{{ label() }}</div>\r\n}\r\n@if ((label() != '' || type() == 'number') && showlock()) {\r\n<div class=\"locked\">\r\n @if (required() && shortLabel() != 'above') {\r\n <div style=\"display: inline-block;height: 10px;color: red; position: relative; top: -8px; right: 0\">*</div>\r\n }\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n</div>\r\n}\r\n<div class=\"input\" [ngClass]=\"{ focus: hasfocus(), error: error(), textarea: numberoflines() > 1, labelabove: shortLabel() == 'above', toolicon: toolIcon()?.length ?? 0 > 0}\" (click)=\"focusMe($event)\">\r\n @if (shortLabel() == 'above' && label() != '') {\r\n <div class=\"label-above\">\r\n {{ label() }}\r\n @if (required()) {<span style=\"color: red\">&nbsp;*</span>}\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() != 'date' && !isselect()) {\r\n <input \r\n #inputfield \r\n [ngClass]=\"type()\"\r\n [type]=\"type() != 'password'? 'text' : 'password'\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n [maxlength]=\"maxlength()\"/>\r\n }\r\n @if (numberoflines() == 1 && validate() == 'date' && !isselect()) {\r\n <input\r\n #datefield\r\n class=\"text datepicker\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"shadowDate\"\r\n (dateChange)=\"pickDate($event)\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"/>\r\n @if (!disabled()) {\r\n <mat-icon \r\n class=\"calendar-icon\" \r\n fontSet=\"material-symbols-outlined\"\r\n (click)=\"picker.open()\">calendar_month</mat-icon>\r\n }\r\n <mat-datepicker #picker></mat-datepicker>\r\n }\r\n @if (numberoflines() > 1 && !isselect()) {\r\n <textarea\r\n #textareafield\r\n [maxlength]=\"maxlength()\"\r\n [rows]=\"numberoflines()\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n [ngClass]=\"{ noresize: !resizeable() }\"\r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"></textarea>\r\n }\r\n @let options = selectable();\r\n @if (options && options.length > 0) {\r\n <select \r\n (change)=\"setchoice($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\">\r\n @for (option of options; track option) {\r\n <option [value]=\"option.id\" [selected]=\"option == selected()\">{{ option.name }}</option>\r\n }\r\n </select>\r\n @if (!disabled()) {\r\n <mat-icon class=\"dropdown\" fontSet=\"material-symbols-outlined\">arrow_drop_down</mat-icon>\r\n }\r\n }\r\n @let ti = toolIcon();\r\n @if (!disabled() && ti && ti.length > 0) {\r\n <mat-icon class=\"toolicon\" fontSet=\"material-symbols-outlined\" (click)=\"toolClicked($event)\">{{ ti }}</mat-icon>\r\n }\r\n</div>\r\n\r\n@if (label() == '' && type() != 'number' && showlock()) {\r\n <div class=\"locked\" style=\"text-align: left;\">\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n </div>\r\n}\r\n\r\n@if (info()) {<div class=\"info\" [title]=\"info()\"><mat-icon class=\"info\">info</mat-icon></div>}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'xrmui-ribbon',\r\n templateUrl: './ribbon.xrmui.html',\r\n styleUrl: './ribbon.xrmui.scss'\r\n})\r\nexport class XrmuiRibbon {\r\n\r\n fill = input<boolean>(true);\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","<ng-content></ng-content>\r\n@if (fill()) {<div class=\"therest\">&nbsp;</div>}","import { NgClass } from '@angular/common';\r\nimport { Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@Component({\r\n selector: 'xrmui-spinner',\r\n templateUrl: './spinner.xrmui.html',\r\n styleUrl: './spinner.xrmui.scss',\r\n imports: [MatProgressSpinnerModule]\r\n})\r\nexport class XrmuiSpinner implements OnInit {\r\n\r\n @Input('diameter') diameter: number = 50;\r\n\r\n constructor(private elm: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.elm != undefined) {\r\n var native = this.elm.nativeElement as HTMLElement;\r\n var parent = native.parentElement;\r\n if (parent != null) {\r\n var top = Math.round((parent.offsetHeight - this.diameter) / 2);\r\n var left = Math.round((parent.offsetWidth - this.diameter) / 2);\r\n if (top > 0 && left > 0) {\r\n native.style.position = \"absolute\";\r\n native.style.top = top + 'px';\r\n native.style.left = left + 'px';\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<mat-progress-spinner mode=\"indeterminate\" [diameter]=\"diameter\" />","import { NgClass } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { IMenu } from '../api/imenu.interface';\r\nimport { XrmuiSpinner } from '../spinner/spinner.xrmui';\r\n\r\n@Component({\r\n selector: 'xrmui-button',\r\n templateUrl: './button.xrmui.html',\r\n styleUrl: './button.xrmui.scss',\r\n imports: [MatMenuModule, NgClass, MatIcon, XrmuiSpinner]\r\n})\r\nexport class XrmuiButton implements OnChanges {\r\n search: string = '';\r\n @Input('label') label: string = '';\r\n @Input('icon') icon: string = '';\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('working') working: boolean = false;\r\n @Output('click') clicked: EventEmitter<void | IMenu> = new EventEmitter<void | IMenu>();\r\n\r\n @Input('menu') menu: IMenu[] = [];\r\n @Input('current') current?: IMenu;\r\n @Input('selected') selected: boolean = false;\r\n\r\n isCurrent: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ignore(e: Event) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n onClick(e: Event, m?: IMenu) {\r\n if (!this.disabled) {\r\n if (m != undefined) {\r\n this.clicked.emit(m);\r\n } else {\r\n e.stopPropagation();\r\n this.clicked.emit();\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.isCurrent = this.menu.length > 0 && this.current != undefined && this.menu.find(m => m == this.current) != null;\r\n }\r\n}\r\n","@if (menu == undefined || menu.length == 0 || disabled) {\r\n<button [disabled]=\"disabled\" (click)=\"onClick($event)\" [ngClass]=\"{ selected: selected }\">\r\n @if (working) {\r\n <div class=\"spin\">\r\n <xrmui-spinner [diameter]=\"20\"></xrmui-spinner>\r\n </div>\r\n }\r\n @if (icon != ''){<mat-icon fontSet=\"material-symbols-outlined\">{{ icon }}</mat-icon>}\r\n @if (label != ''){ {{ label }} }\r\n </button>\r\n}\r\n@if (menu != null && menu.length > 0 && !disabled) {\r\n <button [matMenuTriggerFor]=\"menupopup\" [ngClass]=\"{ selected: isCurrent || selected }\" (click)=\"ignore($event)\">\r\n @if (!isCurrent) {\r\n @if (icon != '') {<mat-icon fontSet=\"material-symbols-outlined\">{{ icon }}</mat-icon>}\r\n @if (label != '') { {{ label }} }\r\n }\r\n @if (current != undefined && isCurrent) {\r\n @if (current.icon != undefined && current.icon != '') {<mat-icon fontSet=\"material-symbols-outlined\">{{ current.icon }}</mat-icon>}\r\n @if (current.label != undefined && current.label != '') { {{ current.label }} }\r\n }\r\n </button>\r\n <mat-menu #menupopup>\r\n @for (m of menu; track m.label) {\r\n <button mat-menu-item (click)=\"onClick($event, m)\">\r\n @if (m.icon != undefined && m.icon != '') {<mat-icon fontSet=\"material-symbols-outlined\">{{ m.icon }}</mat-icon>}\r\n @if (m.label != undefined && m.label != '') { {{ m.label }} }\r\n </button>\r\n }\r\n </mat-menu>\r\n}\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'xrmui-devider',\r\n templateUrl: './devider.xrmui.html',\r\n styleUrl: './devider.xrmui.scss',\r\n imports: [NgClass]\r\n})\r\nexport class XrmuiDevider {\r\n orientation = input<'horizontal' | 'vertical'>('vertical');\r\n constructor() {\r\n }\r\n\r\n}\r\n","<div [ngClass]=\"orientation()\">&nbsp;</div>","import { NgClass } from '@angular/common';\r\nimport { Component, input, model } from '@angular/core';\r\nimport { IMenu } from '../api/imenu.interface';\r\nimport { MatIcon, MatIconModule } from '@angular/material/icon';\r\nimport { MatBadge } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\n@Component({\r\n selector: 'xrmui-tabs',\r\n templateUrl: './tabs.xrmui.html',\r\n styleUrl: './tabs.xrmui.scss',\r\n imports: [NgClass,MatIcon,MatBadge,MatButtonModule, MatMenuModule, MatIconModule],\r\n providers: []\r\n})\r\nexport class XrmuiTabs {\r\n tabs = input.required<IMenu[]>();\r\n burgers = input<IMenu[]>([]);\r\n current = model.required<IMenu>();\r\n\r\n constructor() {\r\n }\r\n}\r\n","<div class=\"xrmui-tabs\">\r\n@for (tab of tabs(); track tab; let idx = $index) {\r\n @if (tab.visible == undefined || tab.visible()) {\r\n <div class=\"xrmui-tab\" [ngClass]=\"{ 'current' : tab == current(), 'disabled': tab.disabled, error: tab != current() && tab.error != undefined && tab.error()}\" (click)=\"current.set(tab)\">\r\n @if (tab.badget != undefined && tab.badget > 0) {\r\n <div [matBadge]=\"tab.badget\" [matBadgeOverlap]=\"false\">\r\n @if (tab.icon != undefined && tab.icon != null && tab.icon != ''){<div class=\"icon\"><mat-icon class=\"mat-icon-14\">{{ tab.icon }}</mat-icon></div>}\r\n <span>\r\n @if (tab.label != undefined && tab.label != null && tab.label != '') { {{ tab.label }} }\r\n @if (tab.label == undefined || tab.label == null || tab.label == '') { {{ tab.id }} }\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (tab.badget == undefined || tab.badget == 0) {\r\n @if (tab.icon != undefined && tab.icon != null && tab.icon != ''){<div class=\"icon\"><mat-icon class=\"mat-icon-14\">{{ tab.icon }}</mat-icon></div>}\r\n <span>\r\n @if (tab.label != undefined && tab.label != null && tab.label != '') { {{ tab.label }} }\r\n @if (tab.label == undefined || tab.label == null || tab.label == '') { {{ tab.id }} }\r\n </span>\r\n }\r\n </div>\r\n }\r\n}\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { XrmuiInfo } from './info/info.xrmui';\r\nimport { XrmuiPanel } from './panel/panel.xrmui'\r\nimport { XrmuiLayout } from './layout/layout.xrmui';\r\nimport { XrmuiIcon } from './icon/icon.xrmui';\r\nimport { XrmuiInput } from './input/input.xrmui';\r\nimport { XrmuiRibbon } from './ribbon/ribbon.xrmui';\r\nimport { XrmuiSpinner } from './spinner/spinner.xrmui';\r\nimport { XrmuiButton } from './button/button.xrmui';\r\nimport { XrmuiDevider } from './devider/devider.xrmui';\r\nimport { XrmuiTabs } from './tabs/tabs.xrmui';\r\nimport { ChangeScopeDirective } from './changedscope/changedscope.directive';\r\nimport { FormScopeDirective } from './form/formscope.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n XrmuiInfo,\r\n XrmuiLayout,\r\n XrmuiPanel,\r\n XrmuiIcon,\r\n XrmuiInput,\r\n XrmuiRibbon,\r\n XrmuiSpinner,\r\n XrmuiButton,\r\n XrmuiDevider,\r\n XrmuiTabs,\r\n ChangeScopeDirective,\r\n FormScopeDirective,\r\n ],\r\n exports: [\r\n XrmuiInfo,\r\n XrmuiLayout,\r\n XrmuiPanel,\r\n XrmuiIcon,\r\n XrmuiInput,\r\n XrmuiRibbon,\r\n XrmuiSpinner,\r\n XrmuiButton,\r\n XrmuiDevider,\r\n XrmuiTabs,\r\n ChangeScopeDirective,\r\n FormScopeDirective\r\n ]\r\n})\r\nexport class BorutoXrmUIModule { }\r\n","/*\r\n * Public API Surface of Old Kipon UI\r\n */\r\n\r\nexport * from './lib/ko/forms/kobuttongroup/kobuttongroup.component';\r\nexport * from './lib/ko/forms/kodecimal.directive';\r\nexport * from './lib/ko/forms/kofocus.directive';\r\n\r\nexport * from './lib/ko/message/koalert/koaleret.component';\r\nexport * from './lib/ko/message/koheader/koheader.component';\r\nexport * from './lib/ko/message/kowrite.directive';\r\n\r\nexport * from './lib/ko/models/navigation.interface';\r\n\r\nexport * from './lib/ko/navigation/koleftmenu/koleftmenu.component';\r\nexport * from './lib/ko/navigation/kotopmenu/kotopmenu.component';\r\nexport * from './lib/ko/navigation/koover.directive';\r\n\r\nexport * from './lib/ko/panels/koexpansionpanel/koexpansionpanel.component';\r\nexport * from './lib/ko/panels/kohorizontalscroll/kohorizontalscroll.component';\r\nexport * from './lib/ko/panels/kohorizontalsplit/kohorizontalsplit.component';\r\nexport * from './lib/ko/panels/komain/komain.component';\r\nexport * from './lib/ko/panels/kotablepanel/kotablepanel.component';\r\nexport * from './lib/ko/panels/kotitlepanel/kotitlepanel.component';\r\nexport * from './lib/ko/panels/koverticalscroll/koverticalscroll.component';\r\nexport * from './lib/ko/panels/koview/koview.component';\r\nexport * from './lib/ko/panels/koverticalsplit/koverticalsplit.component';\r\n\r\nexport * from './lib/ko/kipon-ui.module';\r\n\r\n/*\r\n * Public API Surface of Xrmui\r\n */\r\n\r\nexport * from './lib/bo/api/imenu.interface';\r\nexport * from './lib/bo/api/iselectable.interface';\r\nexport * from './lib/bo/api/optionsetvalue.interface';\r\nexport * from './lib/bo/api/optionvalue.interface';\r\nexport * from './lib/bo/api/entityreference.interface';\r\nexport * from './lib/bo/api/isearchservice.interface';\r\nexport * from './lib/bo/api/changednotifier.interface';\r\nexport * from './lib/bo/api/form.interface';\r\nexport * from './lib/bo/models/dkcustomdateadapter.model';\r\n\r\nexport * from './lib/bo/info/info.xrmui';\r\nexport * from './lib/bo/layout/layout.xrmui';\r\nexport * from './lib/bo/panel/panel.xrmui'; \r\nexport * from './lib/bo/icon/icon.xrmui';\r\nexport * from './lib/bo/input/input.xrmui';\r\nexport * from './lib/bo/ribbon/ribbon.xrmui';\r\nexport * from './lib/bo/spinner/spinner.xrmui';\r\nexport * from './lib/bo/button/button.xrmui';\r\nexport * from './lib/bo/devider/devider.xrmui';\r\nexport * from './lib/bo/tabs/tabs.xrmui';\r\nexport * from './lib/bo/changedscope/changedscope.directive';\r\nexport * from './lib/bo/form/formscope.directive';\r\n\r\nexport * from './lib/bo/boruto-xrmui.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["XrmuiPanel","i1"],"mappings":"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"}
1
+ {"version":3,"file":"boruto-xrmui.mjs","sources":["../../../projects/xrmui/src/lib/ko/forms/kobuttongroup/kobuttongroup.component.ts","../../../projects/xrmui/src/lib/ko/forms/kobuttongroup/kobuttongroup.component.html","../../../projects/xrmui/src/lib/ko/forms/kodecimal.directive.ts","../../../projects/xrmui/src/lib/ko/forms/kofocus.directive.ts","../../../projects/xrmui/src/lib/ko/message/koalert/koaleret.component.ts","../../../projects/xrmui/src/lib/ko/message/koalert/koalert.component.html","../../../projects/xrmui/src/lib/ko/message/koheader/koheader.component.ts","../../../projects/xrmui/src/lib/ko/message/koheader/koheader.component.html","../../../projects/xrmui/src/lib/ko/message/kowrite.directive.ts","../../../projects/xrmui/src/lib/ko/models/navigation.interface.ts","../../../projects/xrmui/src/lib/ko/navigation/koleftmenu/koleftmenu.component.ts","../../../projects/xrmui/src/lib/ko/navigation/koleftmenu/koleftmenu.component.html","../../../projects/xrmui/src/lib/ko/navigation/kotopmenu/kotopmenu.component.ts","../../../projects/xrmui/src/lib/ko/navigation/kotopmenu/kotopmenu.component.html","../../../projects/xrmui/src/lib/ko/navigation/koover.directive.ts","../../../projects/xrmui/src/lib/ko/panels/koexpansionpanel/koexpansionpanel.component.ts","../../../projects/xrmui/src/lib/ko/panels/koexpansionpanel/koexpansionpanel.component.html","../../../projects/xrmui/src/lib/ko/panels/kohorizontalscroll/kohorizontalscroll.component.ts","../../../projects/xrmui/src/lib/ko/panels/kohorizontalscroll/kohorizontalscroll.component.html","../../../projects/xrmui/src/lib/ko/panels/kohorizontalsplit/kohorizontalsplit.component.ts","../../../projects/xrmui/src/lib/ko/panels/kohorizontalsplit/kohorizontalsplit.component.html","../../../projects/xrmui/src/lib/ko/panels/komain/komain.component.ts","../../../projects/xrmui/src/lib/ko/panels/komain/komain.component.html","../../../projects/xrmui/src/lib/ko/panels/kotablepanel/kotablepanel.component.ts","../../../projects/xrmui/src/lib/ko/panels/kotablepanel/kotablepanel.component.html","../../../projects/xrmui/src/lib/ko/panels/kotitlepanel/kotitlepanel.component.ts","../../../projects/xrmui/src/lib/ko/panels/kotitlepanel/kotitlepanel.component.html","../../../projects/xrmui/src/lib/ko/panels/koverticalscroll/koverticalscroll.component.ts","../../../projects/xrmui/src/lib/ko/panels/koverticalscroll/koverticalscroll.component.html","../../../projects/xrmui/src/lib/ko/panels/koview/koview.component.ts","../../../projects/xrmui/src/lib/ko/panels/koview/koview.component.html","../../../projects/xrmui/src/lib/ko/panels/koverticalsplit/koverticalsplit.component.ts","../../../projects/xrmui/src/lib/ko/panels/koverticalsplit/koverticalsplit.component.html","../../../projects/xrmui/src/lib/ko/kipon-ui.module.ts","../../../projects/xrmui/src/lib/bo/models/dkcustomdateadapter.model.ts","../../../projects/xrmui/src/lib/bo/services/selected.service.ts","../../../projects/xrmui/src/lib/bo/info/info.xrmui.ts","../../../projects/xrmui/src/lib/bo/info/info.xrmui.html","../../../projects/xrmui/src/lib/bo/models/xrmuipanel.model.ts","../../../projects/xrmui/src/lib/bo/layout/layout.xrmui.ts","../../../projects/xrmui/src/lib/bo/layout/layout.xrmui.html","../../../projects/xrmui/src/lib/bo/panel/panel.xrmui.ts","../../../projects/xrmui/src/lib/bo/panel/panel.xrmui.html","../../../projects/xrmui/src/lib/bo/icon/icon.xrmui.ts","../../../projects/xrmui/src/lib/bo/icon/icon.xrmui.html","../../../projects/xrmui/src/lib/bo/changedscope/changedscope.directive.ts","../../../projects/xrmui/src/lib/bo/form/formscope.directive.ts","../../../projects/xrmui/src/lib/bo/input/input.xrmui.ts","../../../projects/xrmui/src/lib/bo/input/input.xrmui.html","../../../projects/xrmui/src/lib/bo/ribbon/ribbon.xrmui.ts","../../../projects/xrmui/src/lib/bo/ribbon/ribbon.xrmui.html","../../../projects/xrmui/src/lib/bo/spinner/spinner.xrmui.ts","../../../projects/xrmui/src/lib/bo/spinner/spinner.xrmui.html","../../../projects/xrmui/src/lib/bo/button/button.xrmui.ts","../../../projects/xrmui/src/lib/bo/button/button.xrmui.html","../../../projects/xrmui/src/lib/bo/devider/devider.xrmui.ts","../../../projects/xrmui/src/lib/bo/devider/devider.xrmui.html","../../../projects/xrmui/src/lib/bo/tabs/tabs.xrmui.ts","../../../projects/xrmui/src/lib/bo/tabs/tabs.xrmui.html","../../../projects/xrmui/src/lib/bo/boruto-xrmui.module.ts","../../../projects/xrmui/src/public-api.ts","../../../projects/xrmui/src/boruto-xrmui.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ko-button-group',\r\n templateUrl: './kobuttongroup.component.html',\r\n styleUrls: ['./kobuttongroup.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class KoButtonGroupComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { Directive, ElementRef, HostListener, input, Output, EventEmitter, SimpleChanges, output, effect } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ko-decimal]'\r\n})\r\nexport class KoDecimalDirective {\r\n constructor(private el: ElementRef) {\r\n effect(() => {\r\n const align = this.align();\r\n if (this.el.nativeElement) {\r\n this.el.nativeElement.style['text-align'] = this.align();\r\n }\r\n });\r\n\r\n effect(() => {\r\n const v = this.value();\r\n this.setValueString();\r\n })\r\n }\r\n\r\n\r\n decimals = input<number>(2, { alias: 'ko-decimals' });\r\n value = input<number | null>(null, { alias: 'ko-value' });\r\n valueChanged = output<number | null>({ alias: 'ko-valueChange' });\r\n align = input<string>('right');\r\n\r\n controlDown: boolean = false;\r\n syncThread!: any;\r\n\r\n @HostListener('keydown', ['$event']) onKeydown($event: KeyboardEvent) {\r\n switch ($event.key) {\r\n case 'Backspace':\r\n case 'Tab':\r\n case 'ArrowLeft':\r\n case 'ArrowRight':\r\n case 'Delete':\r\n case '0':\r\n case '1':\r\n case '2':\r\n case '3':\r\n case '4':\r\n case '5':\r\n case '6':\r\n case '7':\r\n case '8':\r\n case '9':\r\n case '-': {\r\n this.bindValueBack();\r\n return true;\r\n }\r\n case ',': {\r\n if (this.decimals() == 0) {\r\n return false;\r\n }\r\n this.bindValueBack();\r\n return true;\r\n }\r\n case 'Control': {\r\n this.controlDown = true;\r\n this.bindValueBack();\r\n return true;\r\n }\r\n case 'c':\r\n case 'C':\r\n case 'v':\r\n case 'V': {\r\n if (this.controlDown == true) {\r\n this.bindValueBack();\r\n return true;\r\n }\r\n $event.stopPropagation();\r\n return false;\r\n }\r\n default: {\r\n $event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('blur') onBlur() {\r\n if (this.syncThread != null) clearTimeout(this.syncThread);\r\n this.syncThread = null;\r\n this.doBindValueBack();\r\n this.setValueString();\r\n }\r\n\r\n private setValueString(): void {\r\n if (this.el.nativeElement != null) {\r\n const v = this.value();\r\n if (v != null) {\r\n this.el.nativeElement.value = this.numberToString(v, this.decimals());\r\n } else {\r\n this.el.nativeElement.value = \"\";\r\n }\r\n }\r\n }\r\n\r\n private bindValueBack(): void;\r\n private bindValueBack(timeout: number): void;\r\n private bindValueBack(timeout: number = 3000): void {\r\n if (this.syncThread != null) clearTimeout(this.syncThread);\r\n this.syncThread = setTimeout(() => {\r\n this.syncThread = null;\r\n this.doBindValueBack();\r\n }, timeout);\r\n }\r\n\r\n private doBindValueBack(): void {\r\n if (this.el.nativeElement != null) {\r\n let v = this.el.nativeElement.value;\r\n if (v == null || v == '') {\r\n this.valueChanged.emit(null);\r\n return;\r\n } else {\r\n this.valueChanged.emit(Number(v.replace(',','.')))\r\n }\r\n }\r\n }\r\n\r\n private numberToString(value: number, decimals: number): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n if (decimals == null) {\r\n return value.toString().replace('.', ',');\r\n }\r\n\r\n let result = value.toString().replace('.', ',');\r\n if (decimals <= 0) {\r\n var split = result.split(',');\r\n if (split.length == 2 && Number(split[1]) > 0) {\r\n return Math.round(value).toString().replace(\".\", \",\").split(',')[0];\r\n }\r\n return result.split(',')[0];\r\n }\r\n\r\n if (result.indexOf(',') < 0) {\r\n result += ',0';\r\n }\r\n\r\n let decimalPart = result.split(',')[1];\r\n if (decimalPart.length == decimals) {\r\n return result;\r\n }\r\n\r\n if (decimalPart.length <= decimals) {\r\n return result.split(',')[0] + ',' + String(decimalPart + '00000000000000000' + decimalPart).substring(0, decimals);\r\n }\r\n\r\n var round = Number('1' + String('00000000000000000').slice((-1) * decimals));\r\n\r\n var roundedValue = Math.round(value * round) / round;\r\n\r\n return this.numberToString(roundedValue, decimals);\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, input, output, effect, inject } from '@angular/core';\r\n\r\n@Directive({ selector: '[ko-focus]' })\r\nexport class KoFocusDirective {\r\n\r\nprivate hostElement: ElementRef = inject(ElementRef);\r\n\r\n focus = input<boolean>(false, { alias: 'ko-focus' });\r\n focusChange = output<boolean>({ alias: 'ko-focusChange' });\r\n\r\n constructor() { \r\n effect(() => {\r\n const isFocused = this.focus();\r\n if (isFocused) {\r\n setTimeout(() => {\r\n this.hostElement.nativeElement.focus();\r\n this.focusChange.emit(false);\r\n },10);\r\n }\r\n })\r\n }\r\n}\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-alert',\r\n templateUrl: './koalert.component.html',\r\n styleUrls: ['./koalert.component.scss'],\r\n imports:[NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class KoAlertComponent {\r\n\r\n @Input('align') align: string = 'left';\r\n constructor() {\r\n }\r\n}\r\n","<div [ngClass]=\"align\"><ng-content></ng-content></div>\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-header',\r\n templateUrl: './koheader.component.html',\r\n styleUrls: ['./koheader.component.scss'],\r\n imports:[NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class KoHeaderComponent {\r\n\r\n align = input<string>('left');\r\n\r\n}\r\n","<div [ngClass]=\"align()\"><ng-content></ng-content></div>\r\n","import { Directive, ElementRef, HostListener, input, AfterViewInit, inject, effect } from '@angular/core';\r\n\r\n@Directive({ selector: '[ko-write]' })\r\nexport class KoWriteDirective {\r\n\r\n direction = input<string>('up', { alias: 'ko-write' });\r\n private hostElement: ElementRef = inject(ElementRef);\r\n\r\n constructor() { \r\n effect(() => {\r\n const dir = this.direction();\r\n this.render();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n private render(): void {\r\n var host = this.hostElement.nativeElement as HTMLElement;\r\n if (host.parentElement) {\r\n var parent = host.parentElement as HTMLElement;\r\n\r\n parent.style.overflow = \"hidden\"; \r\n\r\n var h = parent.offsetHeight;\r\n var w = parent.offsetWidth;\r\n\r\n\r\n if (h && w) {\r\n host.style.width = h.toString() + \"px\";\r\n host.style.height = w.toString() + \"px\";\r\n host.style.lineHeight = w.toString() + \"px\";\r\n host.style.textAlign = \"center\";\r\n host.style.position = \"relative\";\r\n host.style.transformOrigin = \"0% 0%\";\r\n host.style.display = \"inline-block\";\r\n\r\n if (this.direction() == \"up\") {\r\n host.style.transform = \"rotate(-90deg)\";\r\n host.style.top = h.toString() + \"px\";\r\n } else {\r\n host.style.transform = \"rotate(90deg)\";\r\n host.style.left = w.toString() + \"px\";\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\nexport interface KoNavigation {\r\n id: string;\r\n title: string | null;\r\n disabled: boolean;\r\n click: any;\r\n over: boolean | null;\r\n cssClass: string | null;\r\n imgUrl: string | null;\r\n }\r\n \r\n export class KoDivider implements KoNavigation {\r\n id: string;\r\n title: string | null;\r\n disabled: boolean;\r\n click: any = null;\r\n over: boolean | null = null;\r\n cssClass: string | null = null;\r\n imgUrl: string | null = null;\r\n \r\n constructor() {\r\n this.id = \"##divider##\";\r\n this.title = \"\";\r\n this.disabled = true;\r\n }\r\n }\r\n \r\n export class KoNavigationByCssClass implements KoNavigation {\r\n id: string;\r\n title: string | null = null;\r\n disabled: boolean;\r\n cssClass: string;\r\n click: any;\r\n over: boolean | null = null;\r\n imgUrl: string | null = null;\r\n \r\n constructor(id: string, cssClass: string)\r\n constructor(id: string, cssClass: string, disabled: boolean)\r\n constructor(id: string, cssClass: string, disabled: boolean, title: string)\r\n constructor(id: string, cssClass: string, disabled: boolean, title: string, click: any)\r\n constructor(id: string, cssClass: string, disabled: boolean = false, title: string | null = null, click: any = null ) {\r\n this.id = id;\r\n this.title = title;\r\n this.disabled = disabled;\r\n this.cssClass = cssClass;\r\n this.click = click;\r\n }\r\n }\r\n \r\n export class KoNavigationByImageUrl implements KoNavigation {\r\n id: string;\r\n title: string | null = null;\r\n disabled: boolean;\r\n imgUrl: string;\r\n click: any;\r\n over: boolean | null = null;\r\n cssClass: string | null = null;\r\n \r\n constructor(id: string, imgUrl: string)\r\n constructor(id: string, imgUrl: string, disabled: boolean)\r\n constructor(id: string, imgUrl: string, disabled: boolean, title: string)\r\n constructor(id: string, imgUrl: string, disabled: boolean, title: string, click: any)\r\n constructor(id: string, imgUrl: string, disabled: boolean = false, title: string | null = null, click: any = null) {\r\n this.id = id;\r\n this.title = null;\r\n this.disabled = disabled;\r\n this.imgUrl = imgUrl;\r\n this.click = null;\r\n }\r\n }\r\n ","import { Component, input, output, ElementRef, AfterViewInit, inject, ViewEncapsulation, signal } from '@angular/core';\r\n\r\nimport { KoDivider, KoNavigation, KoNavigationByCssClass, KoNavigationByImageUrl } from '../../models/navigation.interface';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ko-left-menu',\r\n templateUrl: './koleftmenu.component.html',\r\n styleUrls: ['./koleftmenu.component.scss'],\r\n imports: [NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoLeftMenuComponent implements AfterViewInit {\r\n private er: ElementRef = inject(ElementRef);\r\n\r\n items = input<(KoNavigation)[]>([]);\r\n current = input<string | null>(null);\r\n currentChange = output<string | null>();\r\n\r\n private itemheight$ = signal<string>('');\r\n over = signal<KoNavigation | null>(null);\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n itemheight(v: KoNavigation) {\r\n if (v.id == \"##divider##\") {\r\n return '2px';\r\n }\r\n return this.itemheight$();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.itemheight$.set( (this.er.nativeElement.offsetWidth - 40).toString() + \"px\");\r\n }, 1);\r\n }\r\n\r\n setCurrent(item: KoNavigation): void {\r\n if (!item.disabled) {\r\n if (item.click == null) {\r\n this.currentChange.emit(item.id);\r\n } else {\r\n item.click();\r\n }\r\n }\r\n }\r\n\r\n overItem(v: KoNavigation | null): void {\r\n if (v != null && !v.disabled) {\r\n this.over.set(v);\r\n }\r\n }\r\n\r\n outItem(): void {\r\n this.over.set(null);\r\n }\r\n}\r\n","@for(item of items(); track item) {\r\n<div\r\n (click)=\"setCurrent(item)\"\r\n class=\"ko-left-menu-item\"\r\n [ngClass]=\"{ current: item.id == current(), disabled: item.disabled == true && item.id != '##divider##', over: item == over(), divider: item.id == '##divider##' }\"\r\n (mouseover)=\"overItem(item)\"\r\n (mouseleave)=\"outItem()\"\r\n [style.height]=\"itemheight(item)\"\r\n >\r\n @if (item.title != null && item.title != '' && item.id != '##divider##' && item.cssClass == null && item.imgUrl == null){<span>{{ item.title }}</span>}\r\n @if (item.cssClass != null && item.cssClass != ''){ <span class=\"byclass\" [ngClass]=\"item.cssClass\" [title]=\"item.title\"></span> }\r\n @if (item.imgUrl != null){<img [src]=\"item.imgUrl\" [alt]=\"item.title\" />}\r\n</div>\r\n}\r\n<ng-content></ng-content>\r\n","import { Component, input, output, signal, inject, ElementRef, AfterViewInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { KoNavigation } from '../../models/navigation.interface';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ko-top-menu',\r\n templateUrl: './kotopmenu.component.html',\r\n styleUrls: ['./kotopmenu.component.scss'],\r\n imports: [NgClass],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoTopMenuComponent implements AfterViewInit {\r\n\r\n private er: ElementRef = inject(ElementRef);\r\n\r\n items = input<(KoNavigation)[]>([]);\r\n current = input<string | null>(null);\r\n currentChange = output<string | null>();\r\n\r\n over = signal<KoNavigation | null>(null);\r\n\r\n topcornerwidth = signal<string>('');\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.topcornerwidth.set(this.er.nativeElement.offsetHeight.toString() + \"px\");\r\n }, 1);\r\n }\r\n\r\n setCurrent(item: KoNavigation): void {\r\n if (!item.disabled) {\r\n if (item.click == null) {\r\n this.currentChange.emit(item.id);\r\n } else {\r\n item.click();\r\n }\r\n }\r\n }\r\n\r\n itemwidth(v: KoNavigation) {\r\n if (v.id == \"##divider##\") {\r\n return '0';\r\n }\r\n return this.topcornerwidth();\r\n }\r\n\r\n\r\n overItem(v: KoNavigation | null): void {\r\n if (v != null && !v.disabled) {\r\n this.over.set(v);\r\n }\r\n }\r\n\r\n outItem(): void {\r\n this.over.set(null);\r\n }\r\n}\r\n","<div class=\"ko-top-menu-corner\" [style.width]=\"topcornerwidth()\"></div>\r\n@for (item of items(); track item) {\r\n<div (click)=\"setCurrent(item)\"\r\n class=\"ko-top-menu-item\"\r\n [ngClass]=\"{ current: item.id == current(), disabled: item.disabled == true && item.id != '##divider##', over: item == over(), divider: item.id == '##divider##' }\"\r\n (mouseover)=\"overItem(item)\"\r\n (mouseleave)=\"outItem()\"\r\n [style.width]=\"itemwidth(item)\">\r\n @if (item.title != null && item.title != '' && item.id != '##divider##' && item.cssClass==null && item.imgUrl==null) {<span>{{ item.title }}</span>}\r\n @if (item.cssClass != null && item.cssClass != ''){<span class=\"byclass\" [ngClass]=\"item.cssClass\" [title]=\"item.title\"></span>}\r\n @if (item.imgUrl != null) {<img [src]=\"item.imgUrl\" [alt]=\"item.title\" />}\r\n</div>\r\n}\r\n<ng-content></ng-content>\r\n","import { Directive, ElementRef, HostListener, input, Output, EventEmitter, SimpleChanges, inject } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ko-over]'\r\n})\r\nexport class KoOverDirective {\r\n\r\n private el: ElementRef = inject(ElementRef);\r\n\r\n constructor() {\r\n }\r\n\r\n current = input.required<any>({alias:'ko-over'});\r\n\r\n @HostListener('mouseover', ['$event']) onMouseover($event: MouseEvent) {\r\n const me = this.current();\r\n if (this.current != null) {\r\n me['over'] = true;\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event']) onMouseleave($event: MouseEvent) {\r\n const me = this.current();\r\n if (this.current != null) {\r\n delete me['over'];\r\n }\r\n }\r\n}\r\n","import { Component, effect, input, output, signal, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-expansion-panel',\r\n templateUrl: './koexpansionpanel.component.html',\r\n styleUrls: ['./koexpansionpanel.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoExpansionPanelComponent {\r\n\r\n expanded = input<boolean>(false);\r\n expandedChange = output<boolean>();\r\n\r\n isExpanded = signal<boolean>(false);\r\n\r\n constructor() {\r\n effect(() => {\r\n this.isExpanded.set(this.expanded());\r\n });\r\n }\r\n\r\n toggle(): void {\r\n this.isExpanded.set(!this.isExpanded());\r\n this.expandedChange.emit(this.isExpanded());\r\n }\r\n}\r\n","<div class=\"ko-container\">\r\n <div class=\"ko-title\">\r\n <div style=\"position: relative; width: 100%\">\r\n <div style=\"position: absolute; left: -25px; height: 40px; width: 20px; text-align: center; vertical-align: middle; cursor: pointer\" (click)=\"toggle()\">\r\n @if (!isExpanded()){<span class=\"fa fa-angle-up\"></span>}\r\n @if (isExpanded()){<span class=\"fa fa-angle-down\"></span>}\r\n </div>\r\n </div>\r\n <div (click)=\"toggle()\" style=\"cursor: pointer\"><ng-content select=\"[ko-title]\"></ng-content></div>\r\n </div>\r\n @if (isExpanded()) {\r\n <div class=\"ko-body\">\r\n <ng-content select=\"[ko-body]\"></ng-content>\r\n </div>\r\n }\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-horizontal-scroll',\r\n templateUrl: './kohorizontalscroll.component.html',\r\n styleUrls: ['./kohorizontalscroll.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n \r\n})\r\n\r\nexport class KoHorizontalScrollComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgStyle } from '@angular/common';\r\nimport { Component, effect, input, Signal, signal, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-horizontal-split',\r\n templateUrl: './kohorizontalsplit.component.html',\r\n styleUrls: ['./kohorizontalsplit.component.scss'],\r\n imports: [NgStyle],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoHorizontalSplitComponent {\r\n\r\n height = input<string>(\"50%\");\r\n fixed = input<'top' | 'bottom'>('top');\r\n\r\n constructor() {\r\n effect(() => {\r\n const h = this.height();\r\n const f = this.fixed();\r\n this.init();\r\n });\r\n }\r\n\r\n topStyle = signal<any>({});\r\n bottomStyle = signal<any>({});\r\n\r\n private init(): void {\r\n if (this.fixed() == 'top') {\r\n this.topStyle.set({\r\n height: this.height()\r\n });\r\n this.bottomStyle.set( {\r\n top: this.height()\r\n });\r\n } else {\r\n this.topStyle.set({\r\n bottom: this.height()\r\n });\r\n this.bottomStyle.set({\r\n height: this.height()\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"ko-top\" [ngStyle]=\"topStyle()\">\r\n <ng-content select=\"[ko-top]\"></ng-content>\r\n</div>\r\n<div class=\"ko-bottom\" [ngStyle]=\"bottomStyle()\">\r\n <ng-content select=\"[ko-bottom]\"></ng-content>\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-main',\r\n templateUrl: './komain.component.html',\r\n styleUrls: ['./komain.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n\r\n})\r\nexport class KoMainComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgStyle } from '@angular/common';\r\nimport { Component, input, ElementRef, ViewChild, ViewEncapsulation, OnChanges, AfterViewInit, ChangeDetectorRef, inject, effect, signal } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-table-panel',\r\n templateUrl: './kotablepanel.component.html',\r\n styleUrls: ['./kotablepanel.component.scss'],\r\n imports: [NgStyle],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\n\r\nexport class KoTablePanelComponent implements AfterViewInit {\r\n\r\n @ViewChild('tableheader') tableheader!: ElementRef;\r\n @ViewChild('tablebody') tablebody!: ElementRef;\r\n @ViewChild('tablefooter') tablefooter!: ElementRef;\r\n\r\n height = input<string>('40px');\r\n\r\n private cdRef: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n effect(() => {\r\n const h = this.height();\r\n this.doSetStyle();\r\n\r\n });\r\n }\r\n\r\n\r\n private topHeight!: string;\r\n private fotHeight!: string;\r\n\r\n private hasTop: boolean = true;\r\n private hasFot: boolean = true;\r\n\r\n topStyle = signal<any>({});\r\n bodStyle = signal<any>({});\r\n fotStyle = signal<any>({});\r\n\r\n ngAfterViewInit(): void {\r\n this.hasTop = this.tableheader.nativeElement != null && this.tableheader.nativeElement.children.length > 0;\r\n this.hasFot = this.tablefooter.nativeElement != null && this.tablefooter.nativeElement.children.length > 0;\r\n this.cdRef.detectChanges();\r\n\r\n this.setStyle();\r\n }\r\n\r\n updateScroll() {\r\n const header = this.tableheader.nativeElement as HTMLElement;\r\n const body = this.tablebody.nativeElement as HTMLElement;\r\n const footer = this.tablefooter.nativeElement as HTMLElement;\r\n\r\n var toScroll = this.hasFot ? footer.scrollLeft : body.scrollLeft;\r\n\r\n if (this.hasTop) {\r\n header.scrollLeft = toScroll;\r\n }\r\n\r\n if (this.hasFot) {\r\n footer.scrollLeft = toScroll;\r\n }\r\n\r\n body.scrollLeft = toScroll;\r\n }\r\n\r\n private setStyle(): void {\r\n\r\n var spl = this.height().split(' ');\r\n if (spl.length == 2) {\r\n this.topHeight = spl[0];\r\n this.fotHeight = spl[1];\r\n } else {\r\n this.topHeight = spl[0];\r\n this.fotHeight = spl[0];\r\n }\r\n setTimeout(() => this.doSetStyle(), 10);\r\n }\r\n\r\n private doSetStyle(): void {\r\n if (this.hasTop && this.hasFot) {\r\n this.topStyle.set({\r\n height: this.topHeight,\r\n display: 'block'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: this.topHeight,\r\n bottom: this.fotHeight,\r\n \"overflow-x\": \"hidden\"\r\n });\r\n\r\n this.fotStyle.set({\r\n height: this.fotHeight,\r\n display:' block'\r\n })\r\n return;\r\n }\r\n\r\n if (this.hasTop && !this.hasFot) {\r\n this.topStyle.set({\r\n height: this.topHeight,\r\n display: 'block'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: this.topHeight,\r\n bottom: 0,\r\n \"overflow-x\" : \"auto\"\r\n });\r\n\r\n this.fotStyle.set({\r\n display: 'none'\r\n });\r\n return;\r\n }\r\n\r\n if (!this.hasTop && this.hasFot) {\r\n this.topStyle.set({\r\n display: 'none'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: 0,\r\n bottom: this.fotHeight\r\n });\r\n\r\n this.fotStyle.set({\r\n height: this.fotHeight,\r\n display: 'block'\r\n });\r\n return;\r\n }\r\n\r\n if (!this.hasTop && !this.hasFot) {\r\n this.topStyle.set({\r\n display: 'none'\r\n });\r\n\r\n this.bodStyle.set({\r\n top: 0,\r\n bottom: 0\r\n });\r\n\r\n this.fotStyle.set({\r\n display: 'none'\r\n })\r\n }\r\n }\r\n}\r\n","<div class=\"ko-table\">\r\n <div class=\"ko-table-header\" [ngStyle]=\"topStyle()\" #tableheader>\r\n <ng-content select=\"[ko-table-header]\"></ng-content>\r\n </div>\r\n <div class=\"ko-table-body\" [ngStyle]=\"bodStyle()\" #tablebody (scroll)=\"updateScroll()\">\r\n <ng-content select=\"[ko-table-body]\"></ng-content>\r\n </div>\r\n <div class=\"ko-table-footer\" [ngStyle]=\"fotStyle()\" #tablefooter (scroll)=\"updateScroll()\">\r\n <ng-content select=\"[ko-table-footer]\"></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-title-panel',\r\n templateUrl: './kotitlepanel.component.html',\r\n styleUrls: ['./kotitlepanel.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n \r\n})\r\n\r\nexport class KoTitlePanelComponent {\r\n constructor() {\r\n }\r\n}\r\n","<div class=\"ko-container\">\r\n <div class=\"ko-title\">\r\n <ng-content select=\"[ko-title]\"></ng-content>\r\n </div>\r\n <div class=\"ko-body\">\r\n <ng-content select=\"[ko-body]\"></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-vertical-scroll',\r\n templateUrl: './koverticalscroll.component.html',\r\n styleUrls: ['./koverticalscroll.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoVerticalScrollComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-view',\r\n templateUrl: './koview.component.html',\r\n styleUrls: ['./koview.component.scss'],\r\n imports: [],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KoViewComponent {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgStyle } from '@angular/common';\r\nimport { Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ko-vertical-split',\r\n templateUrl: './koverticalsplit.component.html',\r\n styleUrls: ['./koverticalsplit.component.scss'],\r\n imports: [NgStyle],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class KoVerticalSplitComponent {\r\n\r\n width = input<string>('50%');\r\n fixed = input<'left' | 'right'>('left');\r\n\r\n constructor() {\r\n effect(() => {\r\n const w = this.width();\r\n const f = this.fixed();\r\n this.init();\r\n });\r\n }\r\n\r\n leftStyle = signal<any>({});\r\n rightStyle = signal<any>({});\r\n\r\n\r\n private init(): void {\r\n if (this.fixed() == 'left') {\r\n this.leftStyle.set({\r\n width: this.width()\r\n });\r\n\r\n this.rightStyle.set({\r\n left: this.width()\r\n });\r\n } else {\r\n this.leftStyle.set({\r\n right: this.width()\r\n });\r\n this.rightStyle.set({\r\n width: this.width()\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"ko-left\" [ngStyle]=\"leftStyle()\">\r\n <ng-content select=\"[ko-left]\"></ng-content>\r\n</div>\r\n<div class=\"ko-right\" [ngStyle]=\"rightStyle()\">\r\n <ng-content select=\"[ko-right]\"></ng-content>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { KoHorizontalScrollComponent } from './panels/kohorizontalscroll/kohorizontalscroll.component';\r\nimport { KoHorizontalSplitComponent } from './panels/kohorizontalsplit/kohorizontalsplit.component';\r\nimport { KoMainComponent } from './panels/komain/komain.component';\r\nimport { KoTitlePanelComponent } from './panels/kotitlepanel/kotitlepanel.component';\r\nimport { KoVerticalScrollComponent } from './panels/koverticalscroll/koverticalscroll.component';\r\nimport { KoVerticalSplitComponent } from './panels/koverticalsplit/koverticalsplit.component';\r\nimport { KoViewComponent } from './panels/koview/koview.component';\r\nimport { KoExpansionPanelComponent } from './panels/koexpansionpanel/koexpansionpanel.component';\r\nimport { KoTablePanelComponent } from './panels/kotablepanel/kotablepanel.component';\r\nimport { KoButtonGroupComponent } from './forms/kobuttongroup/kobuttongroup.component';\r\nimport { KoDecimalDirective } from './forms/kodecimal.directive';\r\nimport { KoFocusDirective } from './forms/kofocus.directive';\r\nimport { KoAlertComponent } from './message/koalert/koaleret.component';\r\nimport { KoHeaderComponent } from './message/koheader/koheader.component';\r\nimport { KoOverDirective } from './navigation/koover.directive';\r\nimport { KoTopMenuComponent } from './navigation/kotopmenu/kotopmenu.component';\r\nimport { KoLeftMenuComponent } from './navigation/koleftmenu/koleftmenu.component';\r\nimport { KoWriteDirective } from './message/kowrite.directive';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n KoHorizontalScrollComponent,\r\n KoHorizontalSplitComponent,\r\n KoMainComponent,\r\n KoTitlePanelComponent,\r\n KoVerticalScrollComponent,\r\n KoVerticalSplitComponent,\r\n KoViewComponent,\r\n KoExpansionPanelComponent,\r\n KoTablePanelComponent,\r\n KoButtonGroupComponent,\r\n KoDecimalDirective,\r\n KoFocusDirective,\r\n KoAlertComponent,\r\n KoHeaderComponent,\r\n KoOverDirective,\r\n KoTopMenuComponent,\r\n KoLeftMenuComponent,\r\n KoWriteDirective\r\n ],\r\n exports: [\r\n KoHorizontalScrollComponent,\r\n KoHorizontalSplitComponent,\r\n KoMainComponent,\r\n KoTitlePanelComponent,\r\n KoVerticalScrollComponent,\r\n KoVerticalSplitComponent,\r\n KoViewComponent,\r\n KoExpansionPanelComponent,\r\n KoTablePanelComponent,\r\n KoButtonGroupComponent,\r\n KoDecimalDirective,\r\n KoFocusDirective,\r\n KoAlertComponent,\r\n KoHeaderComponent,\r\n KoOverDirective,\r\n KoTopMenuComponent,\r\n KoLeftMenuComponent,\r\n KoWriteDirective\r\n ]\r\n})\r\nexport class KiponUiModule { }\r\n","import { NativeDateAdapter } from \"@angular/material/core\";\r\n\r\nexport class DKCustomDateAdapter extends NativeDateAdapter {\r\n\r\n override format(date: Date | null, displayFormat: Object): string {\r\n if (!date) return '';\r\n\r\n const day = this.pad(date.getDate());\r\n const month = this.pad(date.getMonth() + 1);\r\n const year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n\r\n override parse(value: any): Date | null {\r\n if (typeof value !== 'string' || !value.trim()) return null;\r\n\r\n const parts = value.split('-');\r\n if (parts.length !== 3) return null;\r\n\r\n const day = Number(parts[0]);\r\n const month = Number(parts[1]) - 1;\r\n const year = Number(parts[2]);\r\n\r\n const date = new Date(year, month, day);\r\n\r\n return isNaN(date.getTime()) ? null : date;\r\n }\r\n\r\n private pad(n: number): string {\r\n return n < 10 ? `0${n}` : `${n}`;\r\n }\r\n}\r\n","import { Injectable, signal, Signal, WritableSignal } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { ISelectable, ISelectableService } from '../api/iselectable.interface';\r\n\r\nexport interface SelectedListContainer {\r\n selected: string[],\r\n empty: boolean,\r\n loaded: boolean\r\n}\r\n\r\nexport interface SelectedLists {\r\n [key: string]: BehaviorSubject<SelectedListContainer>\r\n}\r\n\r\nexport interface NotSelectedLists {\r\n [key: string]: BehaviorSubject<boolean>\r\n}\r\n\r\nexport interface LastSelectedItems {\r\n [key: string]: SelectedListContainer;\r\n}\r\n\r\nexport interface ServiceBinds {\r\n [key: string]: ISelectableService;\r\n}\r\n\r\nexport interface Counts {\r\n [key: string]: WritableSignal<number>;\r\n}\r\n\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class SelectedService {\r\n\r\n private selectedItems: SelectedLists = {} as SelectedLists;\r\n private notSelectedItems: NotSelectedLists = {} as NotSelectedLists;\r\n private lastSelectedItems: LastSelectedItems = {} as LastSelectedItems;\r\n private binds: ServiceBinds = {} as ServiceBinds;\r\n private keys: string[] = [];\r\n private nots: string[] = [];\r\n private counts: Counts = {};\r\n\r\n private resetFilter$: Subject<void>;\r\n\r\n constructor() {\r\n this.resetFilter$ = new Subject<void>();\r\n }\r\n\r\n resetAll() {\r\n this.resetFilter$.next();\r\n }\r\n\r\n reset(): Subject<void> {\r\n return this.resetFilter$;\r\n }\r\n\r\n get(key: string): BehaviorSubject<SelectedListContainer> {\r\n if (this.selectedItems[key] != null) {\r\n return this.selectedItems[key];\r\n }\r\n this.selectedItems[key] = new BehaviorSubject<SelectedListContainer>({ selected: [], empty: false, loaded: false });\r\n this.lastSelectedItems[key] = { selected: [], empty: false, loaded: false };\r\n this.keys.push(key);\r\n return this.selectedItems[key];\r\n }\r\n\r\n count(key: string): Signal<number> {\r\n if (this.counts[key] != null) {\r\n return this.counts[key];\r\n }\r\n\r\n const con = this.get(key);\r\n this.counts[key] = signal<number>(con.value.selected.length);\r\n return this.counts[key];\r\n }\r\n\r\n bind(service: ISelectableService): void {\r\n this.binds[service.key] = service;\r\n }\r\n\r\n not(key: string): BehaviorSubject<boolean> {\r\n if (this.notSelectedItems[key] != null) {\r\n return this.notSelectedItems[key];\r\n }\r\n this.notSelectedItems[key] = new BehaviorSubject<boolean>(false);\r\n this.nots.push(key);\r\n return this.notSelectedItems[key];\r\n }\r\n\r\n push(key: string, values: string[]) {\r\n const selector = this.binds[key];\r\n if (selector != null && selector != undefined) {\r\n selector.items().value.forEach(r => {\r\n r.selected = values.find(v => v == r.id) != null;\r\n });\r\n const tobepublished = selector.items().value.filter(r => r.selected == true).map(r => r.id);\r\n this.publish(key, tobepublished, false);\r\n } else {\r\n throw '[' + key + ']' + ' er ikke blevet bundet til service';\r\n }\r\n }\r\n\r\n publish(key: string, values: string[], empty: boolean) {\r\n var beh = this.get(key);\r\n var value = beh.value;\r\n value.selected = values;\r\n value.empty = empty;\r\n\r\n var las = this.lastSelectedItems[key];\r\n\r\n if (!las.loaded || !this.isSame(value, las)) {\r\n las.loaded = true;\r\n las.empty = value.empty;\r\n las.selected = value.selected;\r\n beh.next(value);\r\n }\r\n\r\n if (this.counts[key] != null) {\r\n this.counts[key].set(values.length);\r\n }\r\n }\r\n\r\n silentUnselectAll(items?: BehaviorSubject<ISelectable[]>) {\r\n if (items != undefined) {\r\n items.value.forEach(r => { r.selected = false; });\r\n }\r\n }\r\n\r\n toggleNot(k: string) {\r\n const n = this.not(k);\r\n const next = !n.value;\r\n n.next(next);\r\n }\r\n\r\n clearAllNots() {\r\n this.nots.forEach(n => {\r\n if (this.notSelectedItems[n].value == true) {\r\n this.notSelectedItems[n].next(false);\r\n }\r\n });\r\n }\r\n\r\n private isSame(next: SelectedListContainer,last: SelectedListContainer): boolean {\r\n if (next.empty != last.empty) return false;\r\n if (next.selected.length != last.selected.length) return false;\r\n\r\n for (var i=0;i<next.selected.length;i++) {\r\n if (next.selected[i] != last.selected[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n } \r\n}\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, input, output, OnInit, OnDestroy, inject } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatBadge } from '@angular/material/badge';\r\nimport { ISelectable, ISelectableService } from '../api/iselectable.interface';\r\nimport { SelectedService } from '../services/selected.service';\r\n\r\n\r\nexport interface IGroupedSelectable {\r\n group?: string;\r\n items: ISelectable[];\r\n}\r\n\r\n@Component({\r\n selector: 'xrmui-info',\r\n templateUrl: './info.xrmui.html',\r\n styleUrl: './info.xrmui.scss',\r\n imports: [MatIcon,MatBadge]\r\n})\r\nexport class XrmuiInfo implements OnInit, OnDestroy {\r\n\r\n private selectedService: SelectedService = inject(SelectedService);\r\n\r\n label = input<string>();\r\n onlyshowselected = input<boolean>(false);\r\n items = input<ISelectableService>();\r\n icon = input<string>();\r\n click = output<void>();\r\n clear = output<void>();\r\n badget = input<number>();\r\n\r\n list$?: Subscription;\r\n list: ISelectable[] = [];\r\n\r\n select$?: Subscription;\r\n\r\n grouped: IGroupedSelectable[] = [];\r\n\r\n over: ISelectable | null = null;\r\n\r\n isnot: boolean = false;\r\n isnot$?: Subscription;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const service = this.items();\r\n\r\n if (service != null) {\r\n this.select$ = this.selectedService.get(service.key).subscribe(v => {\r\n this.list = this.list.filter(v => v.selected == true);\r\n });\r\n\r\n this.list$ = service.items().subscribe(r => {\r\n this.list = r.filter(v => v.selected == true);\r\n this.doGrouping();\r\n });\r\n } else {\r\n this.list$?.unsubscribe();\r\n this.select$?.unsubscribe();\r\n this.isnot$?.unsubscribe();\r\n this.list = [];\r\n this.doGrouping();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.list$?.unsubscribe();\r\n this.isnot$?.unsubscribe();\r\n this.select$?.unsubscribe();\r\n }\r\n\r\n onClick() {\r\n this.click.emit();\r\n }\r\n\r\n doClear() {\r\n this.clear.emit();\r\n }\r\n\r\n isover(v: ISelectable) {\r\n this.over = v;\r\n }\r\n\r\n isout() {\r\n this.over = null;\r\n }\r\n\r\n remove(e: Event, v: ISelectable) {\r\n e.stopImmediatePropagation();\r\n const it = this.items();\r\n if (it) {\r\n v.selected = false;\r\n this.list = this.list.filter(r => r.selected == true);\r\n const sn = this.list.filter(r => r.selected == true).map(r => r.id);\r\n this.selectedService.publish(it.key, sn, false);\r\n this.doGrouping();\r\n }\r\n }\r\n\r\n private doGrouping() {\r\n this.grouped = [];\r\n let lastGroup: IGroupedSelectable | undefined = undefined; \r\n const result: IGroupedSelectable[] = [];\r\n\r\n this.list.forEach(v => {\r\n if (v.selected == true) {\r\n if (lastGroup == undefined) {\r\n lastGroup = { group: v.group, items: [v] };\r\n result.push(lastGroup);\r\n return;\r\n }\r\n if (lastGroup.group == v.group) {\r\n lastGroup.items.push(v);\r\n return;\r\n }\r\n\r\n lastGroup = { group: v.group, items: [v] };\r\n result.push(lastGroup);\r\n }\r\n });\r\n this.grouped = result;\r\n }\r\n}\r\n","@if (!onlyshowselected() || list.length > 0) {\r\n <div class=\"line\" (click)=\"onClick()\">\r\n @if (icon() != undefined){\r\n <div class=\"ic\">\r\n @let bad = badget() ?? 0;\r\n @if ( bad == 0) {<mat-icon fontSet=\"material-symbols-outlined\">{{ icon() }}</mat-icon>}\r\n @if (bad > 0) {<mat-icon fontSet=\"material-symbols-outlined\" [matBadge]=\"badget()\" aria-hidden=\"false\">{{ icon()\r\n }}</mat-icon>}\r\n </div>}\r\n @if (label() != undefined){<div class=\"lab\">{{ label() }}</div>}\r\n <div class=\"con\">\r\n <ng-content></ng-content>\r\n @if (list.length > 0) {\r\n @for(gr of grouped; track gr) {\r\n @if (gr.group != undefined && gr.group != '') {\r\n <div class=\"selected-item\"><b>{{ gr.group }}</b></div>\r\n }\r\n @for(li of gr.items; track li) {\r\n <div class=\"selected-item\" (mouseover)=\"isover(li)\" (mouseleave)=\"isout()\">\r\n <div class=\"selected-item-name\">{{ li.name }}</div>\r\n @if (over == li){<div class=\"selected-item-tool\" title=\"Fjern fra valgt listen\"\r\n (click)=\"remove($event, li)\"><mat-icon fontSet=\"material-symbols-outlined\"\r\n style=\"color: gray; font-size: small; height: 16px\">delete</mat-icon></div>}\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n }","export class XrmuiPanel {\r\n orientation: 'horizontal' | 'vertical' = 'horizontal';\r\n top: string = '';\r\n bottom: string = '';\r\n height: string = '';\r\n left: string = '';\r\n right: string = '';\r\n width: string = '';\r\n style: string = '';\r\n resizeStyle: string = '';\r\n dyn: boolean = false;\r\n index: number = 0;\r\n private initialWidth: number = 0;\r\n private initialHeight: number = 0;\r\n\r\n render(isresize: boolean = false) {\r\n this.style = '';\r\n this.add('top', this.top);\r\n this.add('bottom', this.bottom);\r\n this.add('height', this.height);\r\n this.add('left', this.left);\r\n this.add('right', this.right);\r\n this.add('width', this.width);\r\n\r\n if (!isresize && this.orientation == 'vertical') {\r\n this.resizeStyle = 'left: ' + this.width;\r\n this.initialWidth = Number(this.width.replace('px',''));\r\n }\r\n\r\n if (!isresize && this.orientation == 'horizontal') {\r\n this.resizeStyle = 'top: ' + this.height;\r\n this.initialHeight = Number(this.height.replace('px',''));\r\n }\r\n }\r\n\r\n private add(s: string, v: string) {\r\n if (v != '') {\r\n if (this.style.length > 0) {\r\n this.style += \";\";\r\n }\r\n this.style += s + \": \" + v;\r\n }\r\n }\r\n\r\n moveTo(pixel: number, next: XrmuiPanel) {\r\n\r\n if (this.orientation == 'vertical') {\r\n // vertical increase/decrease width on current\r\n // vertical increase/decrease left on next\r\n const newWidth = this.initialWidth + pixel;\r\n this.width = newWidth + 'px';\r\n next.left = newWidth + 'px';\r\n this.render(true);\r\n next.render(true);\r\n }\r\n\r\n if (this.orientation == 'horizontal') {\r\n const newHeight = this.initialHeight + pixel;\r\n this.height = newHeight + 'px';\r\n next.top = newHeight + 'px';\r\n this.render(true);\r\n next.render(true);\r\n }\r\n }\r\n\r\n endResize() {\r\n if (this.orientation == 'vertical') {\r\n this.initialWidth = Number(this.width.replace('px',''));\r\n }\r\n\r\n if (this.orientation == 'horizontal') {\r\n this.initialHeight = Number(this.height.replace('px',''));\r\n }\r\n }\r\n}\r\n","import { CdkDrag } from '@angular/cdk/drag-drop';\r\nimport { NgClass } from '@angular/common';\r\nimport { AfterViewInit, Component, computed, effect, ElementRef, inject, input, OnDestroy, signal } from '@angular/core';\r\nimport { XrmuiPanel } from '../models/xrmuipanel.model';\r\nimport { IDistance } from '../api/idistance.interface';\r\n\r\n\r\ninterface IStyle {\r\n style: string;\r\n dyn: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'xrmui-layout',\r\n templateUrl: './layout.xrmui.html',\r\n styleUrl: './layout.xrmui.scss',\r\n imports: [CdkDrag,NgClass]\r\n})\r\nexport class XrmuiLayout implements AfterViewInit, OnDestroy {\r\n\r\n _panels = input<string>('', { alias: 'panels' });\r\n _orientation = input<'horizontal' | 'vertical'>('horizontal', {alias: 'orientation'});\r\n _resizeable = input<boolean>(false, { alias:'resizeable' });\r\n\r\n panels = signal<string>('');\r\n orientation = signal<'horizontal' | 'vertical'>('horizontal');\r\n resizeable = signal<boolean>(false);\r\n\r\n\r\n private totalHeight: number = 0;\r\n private totalWidth: number = 0;\r\n\r\n private unit: 'px' | '%' = 'px';\r\n\r\n private panellist$ = signal<XrmuiPanel[]>([]);\r\n private resized = signal<number>(0);\r\n panellist = this.panellist$.asReadonly();\r\n\r\n private viewInitialized: boolean = false;\r\n\r\n style0 = computed(() => { return this.styleFor(0) });\r\n style1 = computed(() => { return this.styleFor(1) });\r\n style2 = computed(() => { return this.styleFor(2) });\r\n style3 = computed(() => { return this.styleFor(3) });\r\n style4 = computed(() => { return this.styleFor(4) });\r\n\r\n private styleFor(i: number) : IStyle {\r\n const panels = this.panellist();\r\n const resize = this.resized();\r\n\r\n\r\n if (panels.length > i) {\r\n return { style: panels[i].style, dyn: panels[i].dyn }\r\n }\r\n return { style: \"display: none;\", dyn: false }\r\n }\r\n\r\n\r\n private element: ElementRef = inject(ElementRef);\r\n \r\n constructor() {\r\n effect(() => {\r\n this.panels.set(this._panels());\r\n this.orientation.set(this._orientation());\r\n this.resizeable.set(this._resizeable());\r\n \r\n if (this.viewInitialized) {\r\n this.render();\r\n }\r\n })\r\n }\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n ngAfterViewInit(): void {\r\n this.resizeObserver = new ResizeObserver(entries => {\r\n const width = entries[0].contentRect.width;\r\n \r\n if (width > 0) {\r\n this.render();\r\n this.viewInitialized = true;\r\n }\r\n });\r\n \r\n this.resizeObserver.observe(this.element.nativeElement); \r\n}\r\n\r\n ngOnDestroy(): void {\r\n this.resizeObserver?.disconnect();\r\n \r\n }\r\n \r\n private render(): void {\r\n this.totalWidth = this.element.nativeElement.offsetWidth;\r\n this.totalHeight = this.element.nativeElement.clientHeight;\r\n\r\n const nextpanellist: XrmuiPanel[] = [];\r\n\r\n // If panels are resizeable, we will work in px only\r\n if (this.resizeable() && this.panels() != null && this.panels().length > 1) {\r\n const ps: string[] = [];\r\n let used = 0;\r\n this.panels().split(',').forEach(r => {\r\n if (r == '?') {\r\n ps.push(r);\r\n return;\r\n }\r\n\r\n if (r.indexOf('px') >= 0) {\r\n used += this.sizeToNumber(r);\r\n ps.push(r);\r\n return;\r\n }\r\n const pct = this.sizeToNumber(r);\r\n if (this.orientation() == 'vertical') {\r\n const next = Math.round(this.totalWidth * pct / 100);\r\n used += next;\r\n ps.push(next.toString() + 'px');\r\n } else {\r\n const next = Math.round(this.totalHeight * pct / 100);\r\n used += next;\r\n ps.push(next.toString() + 'px');\r\n }\r\n });\r\n\r\n let left = this.totalHeight - used;\r\n if (this.orientation() == 'vertical') {\r\n left = this.totalWidth - used;\r\n }\r\n\r\n var freeIndex = ps.indexOf('?');\r\n if (freeIndex >= 0 && freeIndex < (ps.length - 1)) {\r\n ps[freeIndex] = left.toString() + 'px';\r\n ps[ps.length - 1] = '?';\r\n }\r\n\r\n this.panels.set(ps.join(','));\r\n }\r\n\r\n if (this.panels().length > 0) {\r\n var numbers = this.getNumbers();\r\n var countOpen = numbers.filter(r => r == -1).length;\r\n\r\n if (numbers.length > 5) {\r\n throw new Error(\"A maximum of 5 containers is supported\");\r\n }\r\n\r\n var bind: 'top' | 'bottom' = 'top';\r\n var currentcursor: number = 0;\r\n\r\n if (countOpen > 1) {\r\n throw new Error('Only one open container is supported');\r\n }\r\n\r\n for (var i=0;i<numbers.length;i++) {\r\n var num = numbers[i];\r\n var next = new XrmuiPanel();\r\n next.index = i;\r\n next.orientation = this.orientation();\r\n\r\n if (num > 0 && bind == 'top') {\r\n\r\n if (this.orientation() == 'horizontal') {\r\n next.top = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.height = num.toString() + this.unit;\r\n } else {\r\n next.left = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.width = num.toString() + this.unit;\r\n }\r\n currentcursor += num;\r\n nextpanellist.push(next);\r\n continue;\r\n }\r\n\r\n if (num == -1) {\r\n var sum = this.sumAfter(numbers, i);\r\n if (this.orientation() == 'horizontal') {\r\n next.top = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.bottom = sum.toString() + this.toUnit(sum);\r\n } else {\r\n next.left = currentcursor.toString() + this.toUnit(currentcursor);\r\n next.right = sum.toString() + this.toUnit(sum);\r\n }\r\n next.dyn = true;\r\n nextpanellist.push(next);\r\n bind = 'bottom';\r\n continue;\r\n }\r\n\r\n if (num >= 0 && bind == 'bottom') {\r\n var sum = this.sumAfter(numbers,i);\r\n if (this.orientation() == 'horizontal') {\r\n next.bottom = sum.toString() + this.toUnit(sum);\r\n next.height = num.toString() + this.unit;\r\n } else {\r\n next.right = sum.toString() + this.toUnit(sum);\r\n next.width = num.toString() + this.unit;\r\n }\r\n nextpanellist.push(next);\r\n continue;\r\n }\r\n throw new Error(\"Unexpected handle of elements\");\r\n }\r\n\r\n nextpanellist.forEach(p => p.render());\r\n this.panellist$.set(nextpanellist);\r\n }\r\n }\r\n\r\n resize(e: any, panel: XrmuiPanel) {\r\n const d = e['distance'] as IDistance;\r\n if (panel.orientation == 'vertical') \r\n {\r\n panel.moveTo(d.x, this.panellist$()[panel.index + 1]);\r\n }\r\n\r\n if (panel.orientation == 'horizontal') {\r\n panel.moveTo(d.y, this.panellist$()[panel.index + 1]);\r\n }\r\n\r\n const r = this.resized();\r\n this.resized.set(r + 1);\r\n }\r\n\r\n drop(e: any, panel: XrmuiPanel) {\r\n panel.endResize();\r\n }\r\n\r\n private toUnit(n: number): string {\r\n if (n > 0) {\r\n return this.unit;\r\n }\r\n return '';\r\n }\r\n\r\n private getNumbers(): number[] {\r\n this.unit = 'px';\r\n var result = [] as number[];\r\n if (this.panels().length > 0) {\r\n var unitAssigned = false;\r\n this.panels().split(',').forEach(r => {\r\n if (r.indexOf('px') >= 0) {\r\n if (unitAssigned && this.unit != 'px') {\r\n throw new Error(\"unit can only be assigned once and must be consistent. Unit already set to \" + this.unit);\r\n }\r\n this.unit = 'px';\r\n unitAssigned = true;\r\n }\r\n\r\n if (r.indexOf('%') >= 0) {\r\n if (unitAssigned && this.unit != '%') {\r\n throw new Error(\"unit can only be assigned once and must be consistent. Unit already set to \" + this.unit);\r\n }\r\n this.unit = '%';\r\n unitAssigned = true;\r\n }\r\n if (r == '?') {\r\n result.push(-1);\r\n } else {\r\n result.push(this.sizeToNumber(r));\r\n }\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n private sizeToNumber(r: string) {\r\n return Number(r.replace('px','').replace('%',''));\r\n }\r\n\r\n\r\n private sumAfter(numbers: number[], index: number): number {\r\n var result = 0;\r\n for (var i=index+1;i<numbers.length;i++) {\r\n result += numbers[i];\r\n }\r\n return result;\r\n }\r\n}\r\n","<div [style]=\"style0().style\" [ngClass]=\"{ dynamics: style0().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\">\r\n <ng-content select=\"[c1]\"></ng-content>\r\n</div>\r\n\r\n@if (panellist().length > 1 && resizeable()) {\r\n <div \r\n [style]=\"panellist()[0].resizeStyle\" \r\n class=\"resizer\" \r\n cdkDrag \r\n [cdkDragLockAxis]=\"orientation() == 'horizontal' ? 'y' : 'x'\" \r\n (cdkDragMoved)=\"resize($event, panellist()[0])\"\r\n (cdkDragEnded)=\"drop($event, panellist()[0])\"\r\n [ngClass]=\"{ horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"></div>\r\n}\r\n <div [style]=\"style1().style\" [ngClass]=\"{ dynamics: style1().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c2]\"></ng-content></div>\r\n <div [style]=\"style2().style\" [ngClass]=\"{ dynamics: style2().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c3]\"></ng-content></div>\r\n <div [style]=\"style3().style\" [ngClass]=\"{ dynamics: style3().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c4]\"></ng-content></div>\r\n <div [style]=\"style4().style\" [ngClass]=\"{ dynamics: style4().dyn, horizontal: orientation() == 'horizontal', vertical: orientation() == 'vertical'}\"><ng-content select=\"[c5]\"></ng-content></div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'xrmui-panel',\r\n templateUrl: './panel.xrmui.html',\r\n styleUrl: './panel.xrmui.scss',\r\n imports: []\r\n})\r\nexport class XrmuiPanel {\r\n constructor() {\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgClass } from '@angular/common';\r\nimport { AfterContentInit, Component, computed, effect, ElementRef, inject, input, signal } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'xrmui-icon',\r\n templateUrl: './icon.xrmui.html',\r\n styleUrl: './icon.xrmui.scss',\r\n imports: [NgClass,MatIcon]\r\n})\r\nexport class XrmuiIcon implements AfterContentInit {\r\n\r\n private host: ElementRef = inject(ElementRef);\r\n _icon = input<string>('', { alias: 'icon' });\r\n disabled = input<boolean>(false);\r\n type = input<'mat' | 'fa'>('mat');\r\n\r\n icon = signal<string>('');\r\n\r\n classes = computed(() => {\r\n const i = this.icon();\r\n const d = this.disabled();\r\n const t = this.type();\r\n\r\n if (t == 'mat') {\r\n if (d) return [\"disabled\"];\r\n return [];\r\n }\r\n\r\n if (d) {\r\n return ['fa',i,'disabled'];\r\n }\r\n return ['fa',i];\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const i = this._icon();\r\n if (i != '') {\r\n this.icon.set(i);\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n const i = this._icon();\r\n if (i == '') {\r\n const content = this.host.nativeElement.textContent?.trim() ?? '';\r\n if (content != '') {\r\n this.icon.set(content);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","<span style=\"display: none;\"><ng-content></ng-content></span>\r\n@if (icon() != '') {\r\n@if (type() == 'mat') {\r\n <mat-icon [ngClass]=\"classes()\" fontSet=\"material-symbols-outlined\">{{ icon() }}</mat-icon>\r\n}\r\n@if (type() == 'fa') {\r\n <i [ngClass]=\"classes()\"></i>\r\n}\r\n}","import { Directive, input } from \"@angular/core\";\r\nimport { ChangedNotifier } from \"../api/changednotifier.interface\";\r\n\r\n@Directive({\r\n selector: '[changeScope]',\r\n exportAs: 'changeScope',\r\n standalone: true,\r\n})\r\nexport class ChangeScopeDirective {\r\n changeScope = input.required<ChangedNotifier>();\r\n \r\n notifyChanged(): void {\r\n const cp = this.changeScope();\r\n if (cp) {\r\n cp.notifyOnChanged.call(cp);\r\n const oc = cp.onChanged;\r\n\r\n if (oc) {\r\n oc.call(cp);\r\n }\r\n }\r\n }\r\n}","import { computed, Directive, input, signal } from \"@angular/core\";\r\nimport { Form } from '../api/form.interface';\r\n\r\n@Directive({\r\n selector: '[formScope]',\r\n exportAs: 'formScope',\r\n standalone: true,\r\n})\r\nexport class FormScopeDirective {\r\n formScope = input.required<Form>();\r\n}","import { NgClass } from '@angular/common';\r\nimport { Component, computed, effect, ElementRef, EventEmitter, inject, input, Input, isSignal, model, OnChanges, output, Output, QueryList, Signal, signal, SimpleChanges, ViewChild, ViewChildren } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { ISelectable } from '../api/iselectable.interface';\r\nimport { ISearchService } from '../api/isearchservice.interface';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { OptionSetValue } from '../api/optionsetvalue.interface';\r\nimport { ChangeScopeDirective } from '../changedscope/changedscope.directive';\r\nimport { EntityReference } from '../api/entityreference.interface';\r\nimport { FormScopeDirective } from '../form/formscope.directive';\r\nimport { first } from 'rxjs';\r\n\r\nexport const NAVIGATIONKEYS = ['ArrowUp','ArrowDown','ArrowLeft','ArrowRight','Escape','Tab','Enter','Backspace','Delete','End','Home','Shift','CapsLock','Insert','PageUp','PageDown','PageDown','PageDown'];\r\nexport const NUMBERS = ['0','1','2','3','4','5','6','7','8','9'];\r\nexport const DECIMALS = ['0','1','2','3','4','5','6','7','8','9',','];\r\nexport const CTRL_KEYS = ['c','C','v','V','x','X'];\r\n\r\n@Component({\r\n selector: 'xrmui-input',\r\n templateUrl: './input.xrmui.html',\r\n styleUrl: './input.xrmui.scss',\r\n imports: [FormsModule, NgClass, MatIcon,TextFieldModule,MatDatepickerModule]\r\n})\r\nexport class XrmuiInput {\r\n @ViewChild('inputfield') searchElement?: ElementRef;\r\n @ViewChild('textareafield') textareaElement?: ElementRef;\r\n @ViewChild('datefield') datefieldElement?: ElementRef;\r\n @ViewChildren('option') options!: QueryList<ElementRef<HTMLDivElement>>;\r\n\r\n private changeScope = inject(ChangeScopeDirective, {optional: true,host: true });\r\n private formScope = inject(FormScopeDirective, {optional: true,host: true });\r\n\r\n label = input<string>('');\r\n _shortLabel = input<boolean | 'above' | undefined>(undefined, {alias: 'short-label'});\r\n\r\n shortLabel = computed(() => {\r\n const sl = this._shortLabel();\r\n if (sl) return sl;\r\n if (this.formScope) {\r\n if (this.formScope.formScope().labeltype == \"short\") return true;\r\n if (this.formScope.formScope().labeltype == \"above\") return \"above\";\r\n }\r\n return false;\r\n });\r\n\r\n placeholder = input<string>('');\r\n\r\n value = model<string | number | Date | null | undefined>(null);\r\n _disabled = input<boolean | undefined>(undefined, { alias: 'disabled'});\r\n disabled = computed(() => {\r\n\r\n const d = this._disabled();\r\n if (d != undefined) {\r\n return d;\r\n }\r\n\r\n if (this.formScope && this.formScope.formScope().disabled != undefined) {\r\n return this.formScope.formScope().disabled ?? false;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n _showlock = input<boolean | undefined>(undefined, {alias: 'showlock'});\r\n showlock = computed(() => {\r\n const sl = this._showlock();\r\n if (sl != undefined) {\r\n return sl;\r\n }\r\n\r\n if (this.formScope && this.formScope.formScope().showlock != undefined) {\r\n return this.formScope.formScope().showlock ?? true;\r\n }\r\n return true;\r\n });\r\n\r\n required = input<boolean>(false);\r\n type = input<'text' | 'number' | 'password'>('text');\r\n setfocus = model<boolean>(false);\r\n autocomplete = input<ISearchService | null>( null);\r\n selectable = input<ISelectable[] | null>(null);\r\n selected = model<ISelectable | undefined>(undefined);\r\n optionsetvalue = input<OptionSetValue | null>(null);\r\n entityreference = input<EntityReference | null>(null);\r\n onselect = output<ISelectable | undefined>();\r\n error = input<boolean>(false);\r\n validate = model<'number' | 'decimal' | 'date' | null>(null);\r\n onfocusEvent = output<void>({ alias:'focus' });\r\n onblurEvent = output<void>({alias: 'blur'});\r\n click = output<void>();\r\n resizeable = input<boolean>(true);\r\n info = input<string | null>(null);\r\n notdark = input<boolean>(false);\r\n _autoopenonblank = input<boolean | undefined>(undefined, { alias: \"autoopenonblank\" });\r\n\r\n autoopenonblank = computed(() => {\r\n const au = this._autoopenonblank();\r\n if (au != undefined) {\r\n return au;\r\n }\r\n\r\n if (this.formScope && this.formScope.formScope().autoopenonblank != undefined) {\r\n return this.formScope.formScope().autoopenonblank ?? false;\r\n }\r\n return false;\r\n });\r\n\r\n decimalsUsed = output<number>();\r\n onEnter = output<void>();\r\n\r\n toolIcon = input<string | null>(null);\r\n toolClick = output<void>();\r\n\r\n numberoflines = input(1);\r\n maxlength = input<number | null>(null);\r\n\r\n hasfocus = signal(false);\r\n search: string = '';\r\n\r\n // private items: ISelectable[] | null = null;\r\n itemlist = signal<ISelectable[]>([]);\r\n showitems = signal(false);\r\n searchthread: any | null = null;\r\n searchnumber: number = 0;\r\n\r\n current?: ISelectable;\r\n currentindex: number = -1;\r\n\r\n shadowValue = signal<string>('');\r\n shadowDate = signal<Date | null>(null);\r\n\r\n isselect = computed(() => {\r\n const s = this.selectable();\r\n if (s && s.length > 0) return true;\r\n return false;\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const sf = this.setfocus();\r\n if (sf == true) {\r\n this.focusMe(undefined);\r\n setTimeout(() => {\r\n this.setfocus.set(false);\r\n },10);\r\n }\r\n });\r\n\r\n effect(() => {\r\n const type = this.type();\r\n const validate = this.validate();\r\n if (type == 'number' && validate == null) {\r\n this.validate.set('decimal');\r\n }\r\n });\r\n\r\n effect(() => {\r\n const value = this.value();\r\n if (value == null) {\r\n this.shadowValue.set('');\r\n this.shadowDate.set(null);\r\n return;\r\n }\r\n\r\n if (this.validate() == 'decimal') {\r\n this.shadowValue.set(value.toString().replace('.',','));\r\n return;\r\n }\r\n\r\n if (this.validate() == 'date') {\r\n this.shadowDate.set(value as Date);\r\n return;\r\n }\r\n\r\n this.shadowValue.set(value.toString());\r\n });\r\n\r\n effect(()=> {\r\n const sel = this.selected();\r\n if (sel) {\r\n this.shadowValue.set(sel.name ?? '');\r\n }\r\n });\r\n\r\n effect(() => {\r\n const osv = this.optionsetvalue();\r\n const sels = this.selectable();\r\n if (osv) {\r\n const n = osv.name$();\r\n this.shadowValue.set(n ?? '');\r\n }\r\n \r\n if (osv && sels && sels.length > 0) {\r\n const v = osv.value$();\r\n if (v != undefined) {\r\n const sel = sels.find(r => r.id == v.toString());\r\n if (sel) {\r\n this.selected.set(sel);\r\n }\r\n }\r\n };\r\n });\r\n\r\n effect(() => {\r\n const re = this.entityreference();\r\n if (re) {\r\n const name = re.name$() ?? '';\r\n this.shadowValue.set(name);\r\n }\r\n });\r\n\r\n effect(() => {\r\n const ap = this.autocomplete();\r\n\r\n if (ap) {\r\n this.itemlist.set(ap.items());\r\n }\r\n });\r\n }\r\n\r\n\r\n pickDate(d: MatDatepickerInputEvent<any,any>) {\r\n this.shadowDate.set(d.value);\r\n this.value.set(d.value);\r\n this.notifyOnChange();\r\n }\r\n\r\n formatNumber(n: number): string {\r\n if (Math.abs(n) < 1e21) {\r\n return n.toLocaleString('fullwide', { useGrouping: false });\r\n } else {\r\n // fallback for very large numbers beyond JS number precision\r\n return n.toString();\r\n }\r\n }\r\n\r\n onValueChanged() {\r\n const sv = this.shadowValue();\r\n if (sv == '') {\r\n this.value.set(null);\r\n } else {\r\n const next = sv.replace(',','.');\r\n switch (this.validate()) {\r\n case 'number': {\r\n this.value.set(Number(next));\r\n break;\r\n }\r\n case 'decimal': {\r\n this.value.set(Number(next));\r\n break;\r\n }\r\n default:\r\n this.value.set(sv);\r\n\r\n }\r\n\r\n if (this.type() == 'number' && this.validate() == 'decimal') {\r\n var spl = next.split('.');\r\n if (spl.length <= 1) {\r\n this.decimalsUsed.emit(0);\r\n } else {\r\n this.decimalsUsed.emit(spl[1].length);\r\n }\r\n }\r\n }\r\n this.searchbyname();\r\n }\r\n\r\n onFocus() {\r\n this.hasfocus.set(true);\r\n this.onfocusEvent.emit();\r\n\r\n if (this.autoopenonblank() && this.autocomplete()) {\r\n const cv = this.shadowValue() ?? '';\r\n if (cv == '') {\r\n this.searchbyname(true);\r\n }\r\n }\r\n }\r\n\r\n onBlur() {\r\n setTimeout(() => {\r\n this.hasfocus.set(false);\r\n this.showitems.set(false);\r\n\r\n const sel = this.selected();\r\n\r\n const sv = this.shadowValue();\r\n if (sel && sel.name != sv) {\r\n this.selected.set(undefined);\r\n this.onselect.emit(undefined); \r\n this.shadowValue.set('');\r\n this.notifyOnChange();\r\n }\r\n\r\n const re = this.entityreference();\r\n if (re && re.name$() != sv) {\r\n re.set(undefined, undefined);\r\n this.onselect.emit(undefined);\r\n this.shadowValue.set('');\r\n this.notifyOnChange();\r\n }\r\n this.onblurEvent.emit();\r\n },200);\r\n }\r\n\r\n ondown(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.next(1);\r\n\r\n }\r\n\r\n onup(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.next(-1);\r\n }\r\n\r\n onenter(e: Event) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this.onEnter.emit();\r\n\r\n if (this.showitems() == false) {\r\n this.searchbyname();\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n this.value.set(this.current.name ?? '');\r\n\r\n const re = this.entityreference();\r\n if (re) {\r\n re.set(this.current.id, this.current.name);\r\n }\r\n\r\n this.selected.set(this.current);\r\n this.onselect.emit(this.current);\r\n this.showitems.set(false);\r\n this.shadowValue.set(this.current.name ?? '');\r\n }\r\n }\r\n\r\n onesc(e: Event) {\r\n this.showitems.set(false);\r\n }\r\n\r\n onClick() {\r\n this.click.emit();\r\n }\r\n\r\n onkeydown(e: Event) {\r\n const k = e as KeyboardEvent;\r\n if (this.validate() != null) {\r\n if (NAVIGATIONKEYS.indexOf(k.key) >= 0) {\r\n return;\r\n }\r\n\r\n if (k.ctrlKey) {\r\n if (CTRL_KEYS.indexOf(k.key) >= 0) {\r\n return;\r\n }\r\n }\r\n\r\n if (this.validate() == 'number') {\r\n if (NUMBERS.indexOf(k.key) < 0) {\r\n e.preventDefault();\r\n e.stopPropagation(); \r\n }\r\n }\r\n\r\n if (this.validate() == 'decimal') {\r\n if (DECIMALS.indexOf(k.key) < 0) {\r\n e.preventDefault();\r\n e.stopPropagation(); \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n setchoice(v: Event) {\r\n const sel = this.selectable();\r\n if (sel && sel.length > 0) {\r\n const value = (v.target as HTMLSelectElement).value;\r\n const next = sel.find(r => r.id == value);\r\n if (next) {\r\n const osv = this.optionsetvalue();\r\n if (osv) {\r\n osv.set(Number(next.id), next.name)\r\n }\r\n this.selected.set(next);\r\n this.notifyOnChange();\r\n }\r\n }\r\n }\r\n\r\n select(e: Event, v: ISelectable) {\r\n e.stopImmediatePropagation();\r\n e.stopPropagation();\r\n this.value.set(v.name ?? '');\r\n\r\n const re = this.entityreference();\r\n if (re) {\r\n re.set(v.id, v.name);\r\n }\r\n\r\n this.selected.set(v);\r\n this.onselect.emit(v);\r\n this.notifyOnChange();\r\n }\r\n\r\n private next(e: number) {\r\n const items = this.itemlist();\r\n if (items.length > 0) {\r\n this.currentindex = this.currentindex + e;\r\n if (this.currentindex >= items.length) {\r\n this.currentindex = 0;\r\n }\r\n\r\n if (this.currentindex == -1) {\r\n this.currentindex = items.length - 1;\r\n }\r\n\r\n if (this.currentindex == -2) {\r\n this.currentindex = items.length - 1;\r\n }\r\n this.current = items[this.currentindex]\r\n }\r\n this.ensureCurrentVisible();\r\n }\r\n\r\n private ensureCurrentVisible(): void {\r\n\r\n if (this.current != undefined) {\r\n const index = this.itemlist().indexOf(this.current);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.options.get(index)?.nativeElement.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest'\r\n });\r\n }\r\n}\r\n\r\n focusMe(e?: Event) {\r\n e?.stopPropagation();\r\n\r\n if (!this.disabled() && this.searchElement != null) {\r\n this.searchElement.nativeElement.focus();\r\n }\r\n\r\n if (!this.disabled() && this.textareaElement != null) {\r\n this.textareaElement.nativeElement.focus();\r\n }\r\n\r\n if (!this.disabled() && this.datefieldElement != null) {\r\n this.datefieldElement.nativeElement.focus();\r\n }\r\n\r\n this.click.emit();\r\n }\r\n\r\n toolClicked(e: Event) {\r\n e.stopPropagation();\r\n this.toolClick.emit();\r\n }\r\n\r\n private searchbyname(ommitcm?: boolean) {\r\n if (this.searchthread != null) {\r\n clearTimeout(this.searchthread);\r\n }\r\n\r\n this.searchthread = setTimeout(() => {\r\n this.dosearchbyname();\r\n }, 600)\r\n }\r\n\r\n private async dosearchbyname(ommitcm?: boolean) {\r\n const ap = this.autocomplete();\r\n if (ap) {\r\n await ap.search(this.shadowValue());\r\n this.currentindex = -1;\r\n this.current = undefined;\r\n this.showitems.set(true);\r\n }\r\n\r\n if (!ap && ommitcm != true) {\r\n this.notifyOnChange();\r\n } \r\n }\r\n\r\n private notifyOnChange() {\r\n this.changeScope?.notifyChanged();\r\n }\r\n}\r\n","@if (showitems()) {\r\n <div class=\"autocomplete\" [ngClass]=\"{ nolabel: (!label() || label().length == 0 || shortLabel() == 'above'), shortLabel: shortLabel() == true, notdark: notdark() }\">\r\n @if (itemlist().length == 0) {\r\n <div class=\"element\"><div class=\"item\">Ingen fundet</div>div></div>\r\n }\r\n @for (elm of itemlist(); track elm) {\r\n <div #option class=\"element\" [ngClass]=\"{ current: current == elm, selectable: !elm.disabled }\" (click)=\"select($event, elm)\">\r\n <div class=\"item\">{{ elm.name }}</div>\r\n </div>\r\n }\r\n </div>\r\n}\r\n@if (label() != '' && label().length > 0 && shortLabel() != 'above') {\r\n<div class=\"label\" [ngClass]=\"{ short: shortLabel() == true }\" (click)=\"focusMe($event)\">{{ label() }}</div>\r\n}\r\n@if ((label() != '' || type() == 'number') && showlock()) {\r\n<div class=\"locked\">\r\n @if (required() && shortLabel() != 'above') {\r\n <div style=\"display: inline-block;height: 10px;color: red; position: relative; top: -8px; right: 0\">*</div>\r\n }\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n</div>\r\n}\r\n<div class=\"input\" [ngClass]=\"{ focus: hasfocus(), error: error(), textarea: numberoflines() > 1, labelabove: shortLabel() == 'above', toolicon: toolIcon()?.length ?? 0 > 0}\" (click)=\"focusMe($event)\">\r\n @if (shortLabel() == 'above' && label() != '') {\r\n <div class=\"label-above\">\r\n {{ label() }}\r\n @if (required()) {<span style=\"color: red\">&nbsp;*</span>}\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() != 'date' && !isselect()) {\r\n <input \r\n #inputfield \r\n [ngClass]=\"type()\"\r\n [type]=\"type() != 'password'? 'text' : 'password'\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n [maxlength]=\"maxlength()\"/>\r\n }\r\n @if (numberoflines() == 1 && validate() == 'date' && !isselect()) {\r\n <input\r\n #datefield\r\n class=\"text datepicker\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"shadowDate\"\r\n (dateChange)=\"pickDate($event)\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"/>\r\n @if (!disabled()) {\r\n <mat-icon \r\n class=\"calendar-icon\" \r\n fontSet=\"material-symbols-outlined\"\r\n (click)=\"picker.open()\">calendar_month</mat-icon>\r\n }\r\n <mat-datepicker #picker></mat-datepicker>\r\n }\r\n @if (numberoflines() > 1 && !isselect()) {\r\n <textarea\r\n #textareafield\r\n [maxlength]=\"maxlength()\"\r\n [rows]=\"numberoflines()\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n [ngClass]=\"{ noresize: !resizeable() }\"\r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"></textarea>\r\n }\r\n @let options = selectable();\r\n @if (options && options.length > 0) {\r\n <select \r\n (change)=\"setchoice($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\">\r\n @for (option of options; track option) {\r\n <option [value]=\"option.id\" [selected]=\"option == selected()\">{{ option.name }}</option>\r\n }\r\n </select>\r\n @if (!disabled()) {\r\n <mat-icon class=\"dropdown\" fontSet=\"material-symbols-outlined\">arrow_drop_down</mat-icon>\r\n }\r\n }\r\n @let ti = toolIcon();\r\n @if (!disabled() && ti && ti.length > 0) {\r\n <mat-icon class=\"toolicon\" fontSet=\"material-symbols-outlined\" (click)=\"toolClicked($event)\">{{ ti }}</mat-icon>\r\n }\r\n</div>\r\n\r\n@if (label() == '' && type() != 'number' && showlock()) {\r\n <div class=\"locked\" style=\"text-align: left;\">\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n </div>\r\n}\r\n\r\n@if (info()) {<div class=\"info\" [title]=\"info()\"><mat-icon class=\"info\">info</mat-icon></div>}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'xrmui-ribbon',\r\n templateUrl: './ribbon.xrmui.html',\r\n styleUrl: './ribbon.xrmui.scss'\r\n})\r\nexport class XrmuiRibbon {\r\n\r\n fill = input<boolean>(true);\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","<ng-content></ng-content>\r\n@if (fill()) {<div class=\"therest\">&nbsp;</div>}","import { NgClass } from '@angular/common';\r\nimport { Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@Component({\r\n selector: 'xrmui-spinner',\r\n templateUrl: './spinner.xrmui.html',\r\n styleUrl: './spinner.xrmui.scss',\r\n imports: [MatProgressSpinnerModule]\r\n})\r\nexport class XrmuiSpinner implements OnInit {\r\n\r\n @Input('diameter') diameter: number = 50;\r\n\r\n constructor(private elm: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.elm != undefined) {\r\n var native = this.elm.nativeElement as HTMLElement;\r\n var parent = native.parentElement;\r\n if (parent != null) {\r\n var top = Math.round((parent.offsetHeight - this.diameter) / 2);\r\n var left = Math.round((parent.offsetWidth - this.diameter) / 2);\r\n if (top > 0 && left > 0) {\r\n native.style.position = \"absolute\";\r\n native.style.top = top + 'px';\r\n native.style.left = left + 'px';\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<mat-progress-spinner mode=\"indeterminate\" [diameter]=\"diameter\" />","import { NgClass } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { IMenu } from '../api/imenu.interface';\r\nimport { XrmuiSpinner } from '../spinner/spinner.xrmui';\r\n\r\n@Component({\r\n selector: 'xrmui-button',\r\n templateUrl: './button.xrmui.html',\r\n styleUrl: './button.xrmui.scss',\r\n imports: [MatMenuModule, NgClass, MatIcon, XrmuiSpinner]\r\n})\r\nexport class XrmuiButton implements OnChanges {\r\n search: string = '';\r\n @Input('label') label: string = '';\r\n @Input('icon') icon: string = '';\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('working') working: boolean = false;\r\n @Output('click') clicked: EventEmitter<void | IMenu> = new EventEmitter<void | IMenu>();\r\n\r\n @Input('menu') menu: IMenu[] = [];\r\n @Input('current') current?: IMenu;\r\n @Input('selected') selected: boolean = false;\r\n\r\n isCurrent: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ignore(e: Event) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n onClick(e: Event, m?: IMenu) {\r\n if (!this.disabled) {\r\n if (m != undefined) {\r\n this.clicked.emit(m);\r\n } else {\r\n e.stopPropagation();\r\n this.clicked.emit();\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.isCurrent = this.menu.length > 0 && this.current != undefined && this.menu.find(m => m == this.current) != null;\r\n }\r\n}\r\n","@if (menu == undefined || menu.length == 0 || disabled) {\r\n<button [disabled]=\"disabled\" (click)=\"onClick($event)\" [ngClass]=\"{ selected: selected }\">\r\n @if (working) {\r\n <div class=\"spin\">\r\n <xrmui-spinner [diameter]=\"20\"></xrmui-spinner>\r\n </div>\r\n }\r\n @if (icon != ''){<mat-icon fontSet=\"material-symbols-outlined\">{{ icon }}</mat-icon>}\r\n @if (label != ''){ {{ label }} }\r\n </button>\r\n}\r\n@if (menu != null && menu.length > 0 && !disabled) {\r\n <button [matMenuTriggerFor]=\"menupopup\" [ngClass]=\"{ selected: isCurrent || selected }\" (click)=\"ignore($event)\">\r\n @if (!isCurrent) {\r\n @if (icon != '') {<mat-icon fontSet=\"material-symbols-outlined\">{{ icon }}</mat-icon>}\r\n @if (label != '') { {{ label }} }\r\n }\r\n @if (current != undefined && isCurrent) {\r\n @if (current.icon != undefined && current.icon != '') {<mat-icon fontSet=\"material-symbols-outlined\">{{ current.icon }}</mat-icon>}\r\n @if (current.label != undefined && current.label != '') { {{ current.label }} }\r\n }\r\n </button>\r\n <mat-menu #menupopup>\r\n @for (m of menu; track m.label) {\r\n <button mat-menu-item (click)=\"onClick($event, m)\">\r\n @if (m.icon != undefined && m.icon != '') {<mat-icon fontSet=\"material-symbols-outlined\">{{ m.icon }}</mat-icon>}\r\n @if (m.label != undefined && m.label != '') { {{ m.label }} }\r\n </button>\r\n }\r\n </mat-menu>\r\n}\r\n","import { NgClass } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'xrmui-devider',\r\n templateUrl: './devider.xrmui.html',\r\n styleUrl: './devider.xrmui.scss',\r\n imports: [NgClass]\r\n})\r\nexport class XrmuiDevider {\r\n orientation = input<'horizontal' | 'vertical'>('vertical');\r\n constructor() {\r\n }\r\n\r\n}\r\n","<div [ngClass]=\"orientation()\">&nbsp;</div>","import { NgClass } from '@angular/common';\r\nimport { Component, input, model } from '@angular/core';\r\nimport { IMenu } from '../api/imenu.interface';\r\nimport { MatIcon, MatIconModule } from '@angular/material/icon';\r\nimport { MatBadge } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\n@Component({\r\n selector: 'xrmui-tabs',\r\n templateUrl: './tabs.xrmui.html',\r\n styleUrl: './tabs.xrmui.scss',\r\n imports: [NgClass,MatIcon,MatBadge,MatButtonModule, MatMenuModule, MatIconModule],\r\n providers: []\r\n})\r\nexport class XrmuiTabs {\r\n tabs = input.required<IMenu[]>();\r\n burgers = input<IMenu[]>([]);\r\n current = model.required<IMenu>();\r\n\r\n constructor() {\r\n }\r\n}\r\n","<div class=\"xrmui-tabs\">\r\n@for (tab of tabs(); track tab; let idx = $index) {\r\n @if (tab.visible == undefined || tab.visible()) {\r\n <div class=\"xrmui-tab\" [ngClass]=\"{ 'current' : tab == current(), 'disabled': tab.disabled, error: tab != current() && tab.error != undefined && tab.error()}\" (click)=\"current.set(tab)\">\r\n @if (tab.badget != undefined && tab.badget > 0) {\r\n <div [matBadge]=\"tab.badget\" [matBadgeOverlap]=\"false\">\r\n @if (tab.icon != undefined && tab.icon != null && tab.icon != ''){<div class=\"icon\"><mat-icon class=\"mat-icon-14\">{{ tab.icon }}</mat-icon></div>}\r\n <span>\r\n @if (tab.label != undefined && tab.label != null && tab.label != '') { {{ tab.label }} }\r\n @if (tab.label == undefined || tab.label == null || tab.label == '') { {{ tab.id }} }\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (tab.badget == undefined || tab.badget == 0) {\r\n @if (tab.icon != undefined && tab.icon != null && tab.icon != ''){<div class=\"icon\"><mat-icon class=\"mat-icon-14\">{{ tab.icon }}</mat-icon></div>}\r\n <span>\r\n @if (tab.label != undefined && tab.label != null && tab.label != '') { {{ tab.label }} }\r\n @if (tab.label == undefined || tab.label == null || tab.label == '') { {{ tab.id }} }\r\n </span>\r\n }\r\n </div>\r\n }\r\n}\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { XrmuiInfo } from './info/info.xrmui';\r\nimport { XrmuiPanel } from './panel/panel.xrmui'\r\nimport { XrmuiLayout } from './layout/layout.xrmui';\r\nimport { XrmuiIcon } from './icon/icon.xrmui';\r\nimport { XrmuiInput } from './input/input.xrmui';\r\nimport { XrmuiRibbon } from './ribbon/ribbon.xrmui';\r\nimport { XrmuiSpinner } from './spinner/spinner.xrmui';\r\nimport { XrmuiButton } from './button/button.xrmui';\r\nimport { XrmuiDevider } from './devider/devider.xrmui';\r\nimport { XrmuiTabs } from './tabs/tabs.xrmui';\r\nimport { ChangeScopeDirective } from './changedscope/changedscope.directive';\r\nimport { FormScopeDirective } from './form/formscope.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n XrmuiInfo,\r\n XrmuiLayout,\r\n XrmuiPanel,\r\n XrmuiIcon,\r\n XrmuiInput,\r\n XrmuiRibbon,\r\n XrmuiSpinner,\r\n XrmuiButton,\r\n XrmuiDevider,\r\n XrmuiTabs,\r\n ChangeScopeDirective,\r\n FormScopeDirective,\r\n ],\r\n exports: [\r\n XrmuiInfo,\r\n XrmuiLayout,\r\n XrmuiPanel,\r\n XrmuiIcon,\r\n XrmuiInput,\r\n XrmuiRibbon,\r\n XrmuiSpinner,\r\n XrmuiButton,\r\n XrmuiDevider,\r\n XrmuiTabs,\r\n ChangeScopeDirective,\r\n FormScopeDirective\r\n ]\r\n})\r\nexport class BorutoXrmUIModule { }\r\n","/*\r\n * Public API Surface of Old Kipon UI\r\n */\r\n\r\nexport * from './lib/ko/forms/kobuttongroup/kobuttongroup.component';\r\nexport * from './lib/ko/forms/kodecimal.directive';\r\nexport * from './lib/ko/forms/kofocus.directive';\r\n\r\nexport * from './lib/ko/message/koalert/koaleret.component';\r\nexport * from './lib/ko/message/koheader/koheader.component';\r\nexport * from './lib/ko/message/kowrite.directive';\r\n\r\nexport * from './lib/ko/models/navigation.interface';\r\n\r\nexport * from './lib/ko/navigation/koleftmenu/koleftmenu.component';\r\nexport * from './lib/ko/navigation/kotopmenu/kotopmenu.component';\r\nexport * from './lib/ko/navigation/koover.directive';\r\n\r\nexport * from './lib/ko/panels/koexpansionpanel/koexpansionpanel.component';\r\nexport * from './lib/ko/panels/kohorizontalscroll/kohorizontalscroll.component';\r\nexport * from './lib/ko/panels/kohorizontalsplit/kohorizontalsplit.component';\r\nexport * from './lib/ko/panels/komain/komain.component';\r\nexport * from './lib/ko/panels/kotablepanel/kotablepanel.component';\r\nexport * from './lib/ko/panels/kotitlepanel/kotitlepanel.component';\r\nexport * from './lib/ko/panels/koverticalscroll/koverticalscroll.component';\r\nexport * from './lib/ko/panels/koview/koview.component';\r\nexport * from './lib/ko/panels/koverticalsplit/koverticalsplit.component';\r\n\r\nexport * from './lib/ko/kipon-ui.module';\r\n\r\n/*\r\n * Public API Surface of Xrmui\r\n */\r\n\r\nexport * from './lib/bo/api/imenu.interface';\r\nexport * from './lib/bo/api/iselectable.interface';\r\nexport * from './lib/bo/api/optionsetvalue.interface';\r\nexport * from './lib/bo/api/optionvalue.interface';\r\nexport * from './lib/bo/api/entityreference.interface';\r\nexport * from './lib/bo/api/isearchservice.interface';\r\nexport * from './lib/bo/api/changednotifier.interface';\r\nexport * from './lib/bo/api/form.interface';\r\nexport * from './lib/bo/models/dkcustomdateadapter.model';\r\n\r\nexport * from './lib/bo/info/info.xrmui';\r\nexport * from './lib/bo/layout/layout.xrmui';\r\nexport * from './lib/bo/panel/panel.xrmui'; \r\nexport * from './lib/bo/icon/icon.xrmui';\r\nexport * from './lib/bo/input/input.xrmui';\r\nexport * from './lib/bo/ribbon/ribbon.xrmui';\r\nexport * from './lib/bo/spinner/spinner.xrmui';\r\nexport * from './lib/bo/button/button.xrmui';\r\nexport * from './lib/bo/devider/devider.xrmui';\r\nexport * from './lib/bo/tabs/tabs.xrmui';\r\nexport * from './lib/bo/changedscope/changedscope.directive';\r\nexport * from './lib/bo/form/formscope.directive';\r\n\r\nexport * from './lib/bo/boruto-xrmui.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["XrmuiPanel","i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boruto-xrmui",
3
- "version": "1.0.47",
3
+ "version": "1.0.49",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.0",
6
6
  "@angular/core": "^21.1.0",
@@ -295,7 +295,8 @@ interface EntityReference {
295
295
  }
296
296
 
297
297
  interface ISearchService {
298
- search(v: string): Promise<ISelectable[]>;
298
+ search(v: string): Promise<void>;
299
+ items: Signal<ISelectable[]>;
299
300
  }
300
301
 
301
302
  interface ChangedNotifier {
@@ -475,7 +476,6 @@ declare class XrmuiInput {
475
476
  maxlength: _angular_core.InputSignal<number | null>;
476
477
  hasfocus: _angular_core.WritableSignal<boolean>;
477
478
  search: string;
478
- private items;
479
479
  itemlist: _angular_core.WritableSignal<ISelectable[]>;
480
480
  showitems: _angular_core.WritableSignal<boolean>;
481
481
  searchthread: any | null;
@@ -485,7 +485,6 @@ declare class XrmuiInput {
485
485
  shadowValue: _angular_core.WritableSignal<string>;
486
486
  shadowDate: _angular_core.WritableSignal<Date | null>;
487
487
  isselect: Signal<boolean>;
488
- private firstAutocomplete;
489
488
  constructor();
490
489
  pickDate(d: MatDatepickerInputEvent<any, any>): void;
491
490
  formatNumber(n: number): string;
@@ -506,7 +505,6 @@ declare class XrmuiInput {
506
505
  toolClicked(e: Event): void;
507
506
  private searchbyname;
508
507
  private dosearchbyname;
509
- private refreshItems;
510
508
  private notifyOnChange;
511
509
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XrmuiInput, never>;
512
510
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XrmuiInput, "xrmui-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "_shortLabel": { "alias": "short-label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "_disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "_showlock": { "alias": "showlock"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "setfocus": { "alias": "setfocus"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "optionsetvalue": { "alias": "optionsetvalue"; "required": false; "isSignal": true; }; "entityreference": { "alias": "entityreference"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "validate": { "alias": "validate"; "required": false; "isSignal": true; }; "resizeable": { "alias": "resizeable"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; "notdark": { "alias": "notdark"; "required": false; "isSignal": true; }; "_autoopenonblank": { "alias": "autoopenonblank"; "required": false; "isSignal": true; }; "toolIcon": { "alias": "toolIcon"; "required": false; "isSignal": true; }; "numberoflines": { "alias": "numberoflines"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "setfocus": "setfocusChange"; "selected": "selectedChange"; "onselect": "onselect"; "validate": "validateChange"; "onfocusEvent": "focus"; "onblurEvent": "blur"; "click": "click"; "decimalsUsed": "decimalsUsed"; "onEnter": "onEnter"; "toolClick": "toolClick"; }, never, never, true, never>;