@igo2/geo 21.0.0-next.37 → 21.0.0-next.39

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.
@@ -20,12 +20,12 @@ import html2canvas from 'html2canvas';
20
20
  import jsPDF, { jsPDF as jsPDF$1 } from 'jspdf';
21
21
  import { autoTable } from 'jspdf-autotable';
22
22
  import moment from 'moment';
23
- import { Observable, of, combineLatest, BehaviorSubject, interval, tap, merge, fromEvent, firstValueFrom, Subject, forkJoin, map as map$1, catchError as catchError$1, debounceTime as debounceTime$1, switchMap, EMPTY, timer, filter as filter$1, take, from, Subscription, pairwise, lastValueFrom, throwError, first as first$1, zip } from 'rxjs';
23
+ import { Observable, of, combineLatest, BehaviorSubject, interval, tap, merge, fromEvent, firstValueFrom, Subject, forkJoin, map as map$1, catchError as catchError$1, debounceTime as debounceTime$1, switchMap, debounce, timer, filter as filter$1, take, from, Subscription, pairwise, lastValueFrom, throwError, first as first$1, zip, EMPTY } from 'rxjs';
24
24
  import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
25
25
  import { fetchImageFromDepotUrl, ImageErrorDirective, SecureImagePipe } from '@igo2/common/image';
26
26
  import { saveAs } from 'file-saver';
27
27
  import JSZip from 'jszip';
28
- import { concatMap, distinctUntilChanged, map, timeout, first, catchError, debounceTime, skip, filter, switchMap as switchMap$1, debounce, mergeMap, skipWhile, takeUntil, take as take$1, finalize, startWith } from 'rxjs/operators';
28
+ import { concatMap, distinctUntilChanged, map, timeout, first, catchError, debounceTime, skip, filter, switchMap as switchMap$1, mergeMap, skipWhile, takeUntil, take as take$1, finalize, debounce as debounce$1, startWith } from 'rxjs/operators';
29
29
  import { getUid } from 'ol/util';
30
30
  import { __decorate, __param, __metadata } from 'tslib';
31
31
  import olSourceImageWMS from 'ol/source/ImageWMS';
@@ -11413,7 +11413,7 @@ class LayerController extends LayerSelectionModel {
11413
11413
  return movedLayers;
11414
11414
  }
11415
11415
  moveBelow(layerRef, ...layers) {
11416
- const position = this.getPosition(layerRef);
11416
+ const position = this.getPosition(layerRef, 'below');
11417
11417
  const movedLayers = this.moveTo(position, ...layers);
11418
11418
  this.handleMove(movedLayers, layerRef?.parent);
11419
11419
  }
@@ -12580,6 +12580,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.24", ngImpo
12580
12580
  }] });
12581
12581
 
12582
12582
  class LayerSearchComponent {
12583
+ destroyRef = inject(DestroyRef);
12583
12584
  control = new FormControl();
12584
12585
  initialValue = input(...(ngDevMode ? [undefined, { debugName: "initialValue" }] : /* istanbul ignore next */ []));
12585
12586
  floatLabel = input('auto', ...(ngDevMode ? [{ debugName: "floatLabel" }] : /* istanbul ignore next */ []));
@@ -12593,7 +12594,9 @@ class LayerSearchComponent {
12593
12594
  emitEvent: false
12594
12595
  });
12595
12596
  }
12596
- this.control.valueChanges.pipe(debounceTime$1(300)).subscribe((value) => {
12597
+ this.control.valueChanges
12598
+ .pipe(debounce((value) => (value ? timer(300) : of(0))), takeUntilDestroyed(this.destroyRef))
12599
+ .subscribe((value) => {
12597
12600
  this.searchChange.emit(value);
12598
12601
  });
12599
12602
  }
@@ -12853,7 +12856,7 @@ class LayerListComponent {
12853
12856
  });
12854
12857
  }
12855
12858
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.24", ngImport: i0, type: LayerListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12856
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.24", type: LayerListComponent, isStandalone: true, selector: "igo-layer-list", inputs: { controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: true, transformFunction: null }, layers: { classPropertyName: "layers", publicName: "layers", isSignal: true, isRequired: true, transformFunction: null }, isDesktop: { classPropertyName: "isDesktop", publicName: "isDesktop", isSignal: true, isRequired: false, transformFunction: null }, isDragDropDisabled: { classPropertyName: "isDragDropDisabled", publicName: "isDragDropDisabled", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, viewerOptions: { classPropertyName: "viewerOptions", publicName: "viewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange" }, viewQueries: [{ propertyName: "tree", first: true, predicate: MatTree, descendants: true, isSignal: true }], ngImport: i0, template: "<mat-tree\n #tree\n [class.--not-desktop]=\"!isDesktop()\"\n igoTreeDragDrop\n [tree]=\"$any(tree)\"\n [config]=\"$any(treeConfig)\"\n [treeDragDropIsDisabled]=\"isDragDropDisabled()\"\n [maxLevel]=\"viewerOptions()?.group?.maxHierarchyLevel ?? 5\"\n [dataSource]=\"layers()\"\n [childrenAccessor]=\"$any(childrenAccessor)\"\n [trackBy]=\"trackByFn\"\n [expansionKey]=\"expansionKey\"\n (dragStart)=\"dragStart()\"\n (dropped)=\"dropNode($any($event))\"\n (droppedError)=\"dropNodeError($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-item\n [matTreeNodePadding]=\"treeNode.level === 0 ? 1 : treeNode.level\"\n [matTreeNodePaddingIndent]=\"\n treeNode.level === 0 ? 16 : 24 + 16 / treeNode.level\n \"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [visible]=\"node.visible\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (selectChange)=\"handleSelect($event, node)\"\n />\n </mat-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node; when: isNodeGroup\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-group\n [matTreeNodePadding]=\"treeNode.level\"\n [matTreeNodePaddingIndent]=\"24\"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (expand)=\"handleNodeToggle(node)\"\n (selectChange)=\"handleSelect($event, node)\"\n >\n <button\n mat-icon-button\n class=\"layer-indicator\"\n [attr.aria-label]=\"'Toggle ' + node.title\"\n (click)=\"handleNodeToggle(node)\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{\n tree.isExpanded(node)\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n </button>\n </igo-layer-group>\n </mat-tree-node>\n</mat-tree>\n", styles: [".--not-desktop igo-layer-group ::ng-deep .list-secondary-actions button,.--not-desktop igo-layer-item ::ng-deep .list-secondary-actions button{visibility:visible!important}.tree-node-item{flex:1}mat-tree-node{position:relative;min-height:40px;font:var(--mat-sys-body-medium)}mat-tree-node:hover:after,mat-tree-node.--drag-hover:after{content:\"\";position:absolute;inset:0;border-style:solid;border-width:1px;border-color:transparent;pointer-events:none}mat-tree-node.--selected igo-layer-group,mat-tree-node.--selected igo-layer-item,mat-tree-node.--dragged igo-layer-group,mat-tree-node.--dragged igo-layer-item{background-color:var(--mat-sys-secondary-fixed-dim);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--children-selected igo-layer-group,mat-tree-node.--children-selected igo-layer-item{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--drag-hover:after{border-color:var(--mat-sys-tertiary)!important}mat-tree:not(.--dragging) mat-tree-node:hover:after{border-color:var(--mat-sys-tertiary)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatSliderModule }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i8.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "component", type: i8.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: TreeDragDropDirective, selector: "[igoTreeDragDrop]", inputs: ["tree", "childrenAccessor", "config", "maxLevel", "treeDragDropIsDisabled"], outputs: ["dragStart", "dropped", "droppedError"] }, { kind: "component", type: LayerGroupComponent, selector: "igo-layer-group", inputs: ["layer", "viewerOptions", "selected", "selectionDisabled"], outputs: ["action", "visibilityChange", "expand", "selectChange"] }, { kind: "component", type: LayerItemComponent, selector: "igo-layer-item", inputs: ["layer", "visible", "selected", "selectionDisabled", "viewerOptions"], outputs: ["action", "selectChange", "visibilityChange"] }, { kind: "ngmodule", type: IgoLanguageModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12859
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.24", type: LayerListComponent, isStandalone: true, selector: "igo-layer-list", inputs: { controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: true, transformFunction: null }, layers: { classPropertyName: "layers", publicName: "layers", isSignal: true, isRequired: true, transformFunction: null }, isDesktop: { classPropertyName: "isDesktop", publicName: "isDesktop", isSignal: true, isRequired: false, transformFunction: null }, isDragDropDisabled: { classPropertyName: "isDragDropDisabled", publicName: "isDragDropDisabled", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, viewerOptions: { classPropertyName: "viewerOptions", publicName: "viewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange" }, viewQueries: [{ propertyName: "tree", first: true, predicate: MatTree, descendants: true, isSignal: true }], ngImport: i0, template: "<mat-tree\n #tree\n [class.--not-desktop]=\"!isDesktop()\"\n igoTreeDragDrop\n [tree]=\"$any(tree)\"\n [config]=\"$any(treeConfig)\"\n [treeDragDropIsDisabled]=\"isDragDropDisabled()\"\n [maxLevel]=\"viewerOptions()?.group?.maxHierarchyLevel ?? 5\"\n [dataSource]=\"layers()\"\n [childrenAccessor]=\"$any(childrenAccessor)\"\n [trackBy]=\"trackByFn\"\n [expansionKey]=\"expansionKey\"\n (dragStart)=\"dragStart()\"\n (dropped)=\"dropNode($any($event))\"\n (droppedError)=\"dropNodeError($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-item\n [matTreeNodePadding]=\"treeNode.level === 0 ? 1 : treeNode.level\"\n [matTreeNodePaddingIndent]=\"\n treeNode.level === 0 ? 16 : 24 + 16 / treeNode.level\n \"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [visible]=\"node.visible\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (selectChange)=\"handleSelect($event, node)\"\n />\n </mat-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node; when: isNodeGroup\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-group\n [matTreeNodePadding]=\"treeNode.level\"\n [matTreeNodePaddingIndent]=\"24\"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (expand)=\"handleNodeToggle(node)\"\n (selectChange)=\"handleSelect($event, node)\"\n >\n <button\n mat-icon-button\n class=\"layer-indicator\"\n [attr.aria-label]=\"'Toggle ' + node.title\"\n (click)=\"handleNodeToggle(node)\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{\n tree.isExpanded(node)\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n </button>\n </igo-layer-group>\n </mat-tree-node>\n</mat-tree>\n", styles: [":host{display:flex;flex-direction:column;flex:1}mat-tree{flex:1}.--not-desktop igo-layer-group ::ng-deep .list-secondary-actions button,.--not-desktop igo-layer-item ::ng-deep .list-secondary-actions button{visibility:visible!important}.tree-node-item{flex:1}mat-tree-node{position:relative;min-height:40px;font:var(--mat-sys-body-medium)}mat-tree-node:hover:after,mat-tree-node.--drag-hover:after{content:\"\";position:absolute;inset:0;border-style:solid;border-width:1px;border-color:transparent;pointer-events:none}mat-tree-node.--selected igo-layer-group,mat-tree-node.--selected igo-layer-item,mat-tree-node.--dragged igo-layer-group,mat-tree-node.--dragged igo-layer-item{background-color:var(--mat-sys-secondary-fixed-dim);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--children-selected igo-layer-group,mat-tree-node.--children-selected igo-layer-item{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--drag-hover:after{border-color:var(--mat-sys-tertiary)!important}mat-tree:not(.--dragging) mat-tree-node:hover:after{border-color:var(--mat-sys-tertiary)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatSliderModule }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i8.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "component", type: i8.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: TreeDragDropDirective, selector: "[igoTreeDragDrop]", inputs: ["tree", "childrenAccessor", "config", "maxLevel", "treeDragDropIsDisabled"], outputs: ["dragStart", "dropped", "droppedError"] }, { kind: "component", type: LayerGroupComponent, selector: "igo-layer-group", inputs: ["layer", "viewerOptions", "selected", "selectionDisabled"], outputs: ["action", "visibilityChange", "expand", "selectChange"] }, { kind: "component", type: LayerItemComponent, selector: "igo-layer-item", inputs: ["layer", "visible", "selected", "selectionDisabled", "viewerOptions"], outputs: ["action", "selectChange", "visibilityChange"] }, { kind: "ngmodule", type: IgoLanguageModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12857
12860
  }
12858
12861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.24", ngImport: i0, type: LayerListComponent, decorators: [{
12859
12862
  type: Component,
@@ -12872,7 +12875,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.24", ngImpo
12872
12875
  LayerGroupComponent,
12873
12876
  LayerItemComponent,
12874
12877
  IgoLanguageModule
12875
- ], template: "<mat-tree\n #tree\n [class.--not-desktop]=\"!isDesktop()\"\n igoTreeDragDrop\n [tree]=\"$any(tree)\"\n [config]=\"$any(treeConfig)\"\n [treeDragDropIsDisabled]=\"isDragDropDisabled()\"\n [maxLevel]=\"viewerOptions()?.group?.maxHierarchyLevel ?? 5\"\n [dataSource]=\"layers()\"\n [childrenAccessor]=\"$any(childrenAccessor)\"\n [trackBy]=\"trackByFn\"\n [expansionKey]=\"expansionKey\"\n (dragStart)=\"dragStart()\"\n (dropped)=\"dropNode($any($event))\"\n (droppedError)=\"dropNodeError($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-item\n [matTreeNodePadding]=\"treeNode.level === 0 ? 1 : treeNode.level\"\n [matTreeNodePaddingIndent]=\"\n treeNode.level === 0 ? 16 : 24 + 16 / treeNode.level\n \"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [visible]=\"node.visible\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (selectChange)=\"handleSelect($event, node)\"\n />\n </mat-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node; when: isNodeGroup\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-group\n [matTreeNodePadding]=\"treeNode.level\"\n [matTreeNodePaddingIndent]=\"24\"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (expand)=\"handleNodeToggle(node)\"\n (selectChange)=\"handleSelect($event, node)\"\n >\n <button\n mat-icon-button\n class=\"layer-indicator\"\n [attr.aria-label]=\"'Toggle ' + node.title\"\n (click)=\"handleNodeToggle(node)\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{\n tree.isExpanded(node)\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n </button>\n </igo-layer-group>\n </mat-tree-node>\n</mat-tree>\n", styles: [".--not-desktop igo-layer-group ::ng-deep .list-secondary-actions button,.--not-desktop igo-layer-item ::ng-deep .list-secondary-actions button{visibility:visible!important}.tree-node-item{flex:1}mat-tree-node{position:relative;min-height:40px;font:var(--mat-sys-body-medium)}mat-tree-node:hover:after,mat-tree-node.--drag-hover:after{content:\"\";position:absolute;inset:0;border-style:solid;border-width:1px;border-color:transparent;pointer-events:none}mat-tree-node.--selected igo-layer-group,mat-tree-node.--selected igo-layer-item,mat-tree-node.--dragged igo-layer-group,mat-tree-node.--dragged igo-layer-item{background-color:var(--mat-sys-secondary-fixed-dim);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--children-selected igo-layer-group,mat-tree-node.--children-selected igo-layer-item{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--drag-hover:after{border-color:var(--mat-sys-tertiary)!important}mat-tree:not(.--dragging) mat-tree-node:hover:after{border-color:var(--mat-sys-tertiary)}\n"] }]
12878
+ ], template: "<mat-tree\n #tree\n [class.--not-desktop]=\"!isDesktop()\"\n igoTreeDragDrop\n [tree]=\"$any(tree)\"\n [config]=\"$any(treeConfig)\"\n [treeDragDropIsDisabled]=\"isDragDropDisabled()\"\n [maxLevel]=\"viewerOptions()?.group?.maxHierarchyLevel ?? 5\"\n [dataSource]=\"layers()\"\n [childrenAccessor]=\"$any(childrenAccessor)\"\n [trackBy]=\"trackByFn\"\n [expansionKey]=\"expansionKey\"\n (dragStart)=\"dragStart()\"\n (dropped)=\"dropNode($any($event))\"\n (droppedError)=\"dropNodeError($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-item\n [matTreeNodePadding]=\"treeNode.level === 0 ? 1 : treeNode.level\"\n [matTreeNodePaddingIndent]=\"\n treeNode.level === 0 ? 16 : 24 + 16 / treeNode.level\n \"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [visible]=\"node.visible\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (selectChange)=\"handleSelect($event, node)\"\n />\n </mat-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node\n #treeNode=\"matTreeNode\"\n *matTreeNodeDef=\"let node; when: isNodeGroup\"\n [class.--selected]=\"isSelected(node)\"\n [class.--children-selected]=\"isDescendantSelection(node)\"\n >\n <igo-layer-group\n [matTreeNodePadding]=\"treeNode.level\"\n [matTreeNodePaddingIndent]=\"24\"\n class=\"tree-node-item\"\n [layer]=\"node\"\n [viewerOptions]=\"viewerOptions()\"\n [selected]=\"isSelected(node) || isDescendantSelection(node)\"\n [selectionDisabled]=\"isDescendantSelection(node)\"\n (action)=\"toggleActive($event)\"\n (expand)=\"handleNodeToggle(node)\"\n (selectChange)=\"handleSelect($event, node)\"\n >\n <button\n mat-icon-button\n class=\"layer-indicator\"\n [attr.aria-label]=\"'Toggle ' + node.title\"\n (click)=\"handleNodeToggle(node)\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{\n tree.isExpanded(node)\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n </button>\n </igo-layer-group>\n </mat-tree-node>\n</mat-tree>\n", styles: [":host{display:flex;flex-direction:column;flex:1}mat-tree{flex:1}.--not-desktop igo-layer-group ::ng-deep .list-secondary-actions button,.--not-desktop igo-layer-item ::ng-deep .list-secondary-actions button{visibility:visible!important}.tree-node-item{flex:1}mat-tree-node{position:relative;min-height:40px;font:var(--mat-sys-body-medium)}mat-tree-node:hover:after,mat-tree-node.--drag-hover:after{content:\"\";position:absolute;inset:0;border-style:solid;border-width:1px;border-color:transparent;pointer-events:none}mat-tree-node.--selected igo-layer-group,mat-tree-node.--selected igo-layer-item,mat-tree-node.--dragged igo-layer-group,mat-tree-node.--dragged igo-layer-item{background-color:var(--mat-sys-secondary-fixed-dim);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--children-selected igo-layer-group,mat-tree-node.--children-selected igo-layer-item{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-tertiary-fixed)}mat-tree-node.--drag-hover:after{border-color:var(--mat-sys-tertiary)!important}mat-tree:not(.--dragging) mat-tree-node:hover:after{border-color:var(--mat-sys-tertiary)}\n"] }]
12876
12879
  }], propDecorators: { controller: [{ type: i0.Input, args: [{ isSignal: true, alias: "controller", required: true }] }], layers: [{ type: i0.Input, args: [{ isSignal: true, alias: "layers", required: true }] }], isDesktop: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDesktop", required: false }] }], isDragDropDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDragDropDisabled", required: false }] }], selectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectAll", required: false }] }], viewerOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewerOptions", required: false }] }], activeChange: [{ type: i0.Output, args: ["activeChange"] }], tree: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatTree), { isSignal: true }] }] } });
12877
12880
 
12878
12881
  class LayerUnavailableComponent {
@@ -13123,6 +13126,10 @@ class LayerViewerComponent {
13123
13126
  * @internal
13124
13127
  */
13125
13128
  ngOnInit() {
13129
+ const initialKeyword = this.options()?.filterAndSortOptions?.keyword;
13130
+ if (initialKeyword) {
13131
+ this.keyword$.next(initialKeyword);
13132
+ }
13126
13133
  const baseObs$ = [
13127
13134
  this.layerController.layers$,
13128
13135
  this.keyword$
@@ -13147,11 +13154,7 @@ class LayerViewerComponent {
13147
13154
  this.isLoading.set(false);
13148
13155
  this.cdr.markForCheck();
13149
13156
  });
13150
- this.keyword$
13151
- .pipe(debounce(() => {
13152
- return this.layers?.length === 0 ? EMPTY : timer(50);
13153
- }))
13154
- .subscribe((keyword) => {
13157
+ this.keyword$.subscribe((keyword) => {
13155
13158
  this.isDragDropDisabled = !!keyword;
13156
13159
  this.appliedFilterAndSort.emit({
13157
13160
  keyword
@@ -32051,7 +32054,7 @@ class SearchBarComponent {
32051
32054
  this.empty$.next(term === undefined || term.length === 0);
32052
32055
  });
32053
32056
  this.stream$$ = this.stream$
32054
- .pipe(debounce(() => timer(this.debounce())))
32057
+ .pipe(debounce$1(() => timer(this.debounce())))
32055
32058
  .subscribe((term) => this.onSetTerm(term));
32056
32059
  this.handlePlaceholder();
32057
32060
  this.searchType$$ = this.searchType$
@@ -32955,7 +32958,7 @@ class SearchResultsComponent {
32955
32958
  liftResults() {
32956
32959
  return this.store()
32957
32960
  ?.stateView.all$()
32958
- .pipe(debounce((results) => {
32961
+ .pipe(debounce$1((results) => {
32959
32962
  return results.length === 0 ? EMPTY : timer(200);
32960
32963
  }), map((results) => {
32961
32964
  return this.groupResults(results.map((r) => r.entity).sort(this.sortByOrder));