@huntsman-cancer-institute/navigation 17.3.4 → 17.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,7 @@ import { MatLegacyInputModule } from '@angular/material/legacy-input';
13
13
  import * as i10 from '@angular/material/icon';
14
14
  import { MatIconModule } from '@angular/material/icon';
15
15
  import { MatLegacyButtonModule } from '@angular/material/legacy-button';
16
+ import { MatLegacyRadioModule } from '@angular/material/legacy-radio';
16
17
  import * as i5$2 from '@huntsman-cancer-institute/angular-tree-component';
17
18
  import { TreeModule } from '@huntsman-cancer-institute/angular-tree-component';
18
19
  import * as i11 from '@angular/material/datepicker';
@@ -664,7 +665,7 @@ class NavComponent {
664
665
  if (typeof this.type === "string") {
665
666
  this.typeName = this.type;
666
667
  }
667
- //The componentType decorator was created for uglification. Use it!
668
+ // The componentType decorator was created for uglification. Use it!
668
669
  else if (this.type["componentType"]) {
669
670
  this.typeName = this.type["componentType"];
670
671
  }
@@ -737,13 +738,13 @@ class NavComponent {
737
738
  }
738
739
  }
739
740
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NavComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: NavigationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
740
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: NavComponent, selector: "hci-nav", inputs: { config: "config", id: ["navId", "id"], isRoot: "isRoot", type: "type", title: "title", rootClass: "rootClass", roleName: "roleName", authenticatedKey: "authenticatedKey", notAuthenticatedKey: "notAuthenticatedKey", inputChildren: ["children", "inputChildren"], isCCR: "isCCR" }, usesOnChanges: true, ngImport: i0, template: `
741
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: NavComponent, selector: "hci-nav", inputs: { config: "config", id: ["navId", "id"], isRoot: "isRoot", type: "type", title: "title", rootClass: "rootClass", roleName: "roleName", authenticatedKey: "authenticatedKey", notAuthenticatedKey: "notAuthenticatedKey", inputChildren: ["children", "inputChildren"], isCCR: "isCCR" }, usesOnChanges: true, ngImport: i0, template: `
741
742
  `, isInline: true }); }
742
743
  }
743
744
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NavComponent, decorators: [{
744
745
  type: Component,
745
746
  args: [{
746
- template: `
747
+ template: `
747
748
  `,
748
749
  selector: "hci-nav"
749
750
  }]
@@ -1892,6 +1893,9 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
1892
1893
  this.basicSearchHeader = "";
1893
1894
  this.globalSearchPlaceholder = "";
1894
1895
  this.globalSearchValidator = "";
1896
+ this.buttonRowTemplate = null;
1897
+ this.searchSortingOptions = [];
1898
+ this.labelText = "";
1895
1899
  this.searchListChange = new EventEmitter();
1896
1900
  this.activeTab = 1;
1897
1901
  this.activeTab1 = 1;
@@ -1925,6 +1929,8 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
1925
1929
  this.allowToggle = true;
1926
1930
  this.showToggleOptions = true;
1927
1931
  this.quickSearchEnabled = true;
1932
+ this.searchSortingSelectionChangeSubject$ = new BehaviorSubject(undefined);
1933
+ this.currentSearchSorting = { "value": undefined, "display": undefined, "isAsc": true };
1928
1934
  if (!navigationService) {
1929
1935
  this.navigationService = new NavigationService(navigationGlobalService);
1930
1936
  }
@@ -1942,6 +1948,9 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
1942
1948
  this.postInit();
1943
1949
  }
1944
1950
  }
1951
+ setButtonRowTemplate(buttonRowTemplate) {
1952
+ this.buttonRowTemplate = buttonRowTemplate;
1953
+ }
1945
1954
  doGlobalSearch(event) {
1946
1955
  let searchString = (event.target.value).trim();
1947
1956
  if (event.keyCode === 13) {
@@ -2136,10 +2145,17 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2136
2145
  }
2137
2146
  }
2138
2147
  }
2148
+ if (config.searchSortingOptions) {
2149
+ this.searchSortingOptions = config.searchSortingOptions;
2150
+ }
2151
+ if (config.initialSearchSortingSelection) {
2152
+ this.currentSearchSorting = config.initialSearchSortingSelection;
2153
+ }
2139
2154
  }
2140
2155
  if (this.sortByAllowedFields.length > 0 && this.sorts.length === 0) {
2141
2156
  this.sorts.push(new HciSortDto(this.sortByAllowedFields[0]));
2142
2157
  }
2158
+ console.log('anotherSorting Field:', this.searchSortingOptions);
2143
2159
  this.setupFilters();
2144
2160
  super.updateConfig(config);
2145
2161
  }
@@ -2344,6 +2360,16 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2344
2360
  }
2345
2361
  this.filtersSubject.next(this.boundFilters);
2346
2362
  }
2363
+ onSearchSortClicked($event, searchSortItem) {
2364
+ if (this.currentSearchSorting.value === searchSortItem.value) {
2365
+ this.currentSearchSorting.isAsc = !this.currentSearchSorting.isAsc;
2366
+ }
2367
+ else {
2368
+ this.currentSearchSorting = Object.assign({}, searchSortItem);
2369
+ this.currentSearchSorting.isAsc = true;
2370
+ }
2371
+ this.searchSortingSelectionChangeSubject$.next(this.currentSearchSorting);
2372
+ }
2347
2373
  /**
2348
2374
  * TODO: If sort in group, reset group data, not overall.
2349
2375
  *
@@ -2547,7 +2573,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2547
2573
  return divPanel.scrollHeight > divPanel.clientHeight;
2548
2574
  }
2549
2575
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SearchListControllerComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: NavigationGlobalService }, { token: NavigationService, optional: true }, { token: i3$3.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2550
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SearchListControllerComponent, selector: "hci-search-list-controller", inputs: { showTitle: "showTitle", inputMultiline: "inputMultiline", searchOptionsWidth: "searchOptionsWidth", fields: "fields", customStyles: "customStyles", basicSearch: "basicSearch", advancedSearch: "advancedSearch", filterByAllowedFields: "filterByAllowedFields", quickSearchFields: "quickSearchFields", advancedSearchFields: "advancedSearchFields", sortByAllowedFields: "sortByAllowedFields", sorts: "sorts", showQuickSearchOptions: "showQuickSearchOptions", showAdvancedSearchOptions: "showAdvancedSearchOptions", searchTypeArray: "searchTypeArray", searchType: "searchType", searchTypeSelected: "searchTypeSelected", basicSearchHeader: "basicSearchHeader", globalSearchPlaceholder: "globalSearchPlaceholder", globalSearchValidator: "globalSearchValidator" }, outputs: { searchListChange: "searchListChange" }, host: { listeners: { "document:click": "documentClick($event,$event.target)" } }, exportAs: ["searchListControllerComponent"], usesInheritance: true, ngImport: i0, template: `
2576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SearchListControllerComponent, selector: "hci-search-list-controller", inputs: { showTitle: "showTitle", inputMultiline: "inputMultiline", searchOptionsWidth: "searchOptionsWidth", fields: "fields", customStyles: "customStyles", basicSearch: "basicSearch", advancedSearch: "advancedSearch", filterByAllowedFields: "filterByAllowedFields", quickSearchFields: "quickSearchFields", advancedSearchFields: "advancedSearchFields", sortByAllowedFields: "sortByAllowedFields", sorts: "sorts", showQuickSearchOptions: "showQuickSearchOptions", showAdvancedSearchOptions: "showAdvancedSearchOptions", searchTypeArray: "searchTypeArray", searchType: "searchType", searchTypeSelected: "searchTypeSelected", basicSearchHeader: "basicSearchHeader", globalSearchPlaceholder: "globalSearchPlaceholder", globalSearchValidator: "globalSearchValidator", buttonRowTemplate: "buttonRowTemplate", searchSortingOptions: "searchSortingOptions", labelText: "labelText" }, outputs: { searchListChange: "searchListChange" }, host: { listeners: { "document:click": "documentClick($event,$event.target)" } }, exportAs: ["searchListControllerComponent"], usesInheritance: true, ngImport: i0, template: `
2551
2577
  <div id="search-title" class="d-flex flex-column">
2552
2578
  <div *ngIf="showTitle" class="d-flex ps-2">
2553
2579
  <div *ngIf="showBackButton" class="me-auto ms-1 backButton">
@@ -2557,7 +2583,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2557
2583
  </div>
2558
2584
  {{title}}
2559
2585
  <div class="ms-auto me-2" (click)="toggleShowOptions($event)">
2560
- <i class="fas fa-cog"></i>
2586
+ <i class="fas fa-filter"></i>
2561
2587
  </div>
2562
2588
  <div class="search-options" [class.expanded]="showOptions" [ngStyle]="{'width': (searchOptionsWidth !== '') ? searchOptionsWidth : 'auto'}">
2563
2589
  <div class="flex-grow-1">
@@ -2571,10 +2597,10 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2571
2597
  </div>
2572
2598
 
2573
2599
  <div *ngIf="disableLocalFiltering; else display">
2574
- <nav ngbNav #nav="ngbNav" [(activeId)]="activeTab">
2600
+ <nav ngbNav #nav="ngbNav" [(activeId)]="activeTab" class = "nav-container">
2575
2601
  <ng-container ngbNavItem [ngbNavItem]="1" class="tab-title-class"
2576
2602
  *ngIf="filterByAllowedFields.length > 0">
2577
- <a ngbNavLink>BASIC SEARCH</a>
2603
+ <a ngbNavLink class ="flex-grow-1">BASIC SEARCH</a>
2578
2604
  <ng-template ngbNavContent>
2579
2605
  <div class="basic-search">
2580
2606
  <div class="classification-header">
@@ -2591,6 +2617,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2591
2617
  (keydown)="applyFilters($event)"/>
2592
2618
  </mat-form-field>
2593
2619
  </div>
2620
+
2594
2621
  <!-- Double check if the textarea needed in Basic Search-->
2595
2622
  <!-- <div *ngIf="getFieldType(filter.field) === 'textarea' ">-->
2596
2623
  <!-- <mat-form-field appearance="none">-->
@@ -2599,6 +2626,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2599
2626
  <!-- style="background-color: #f2f2f2"></textarea>-->
2600
2627
  <!-- </mat-form-field>-->
2601
2628
  <!-- </div>-->
2629
+
2602
2630
  <div *ngIf="getFieldType(filter.field) === 'dropdown' ">
2603
2631
  <mat-form-field appearance="none">
2604
2632
  <mat-label>{{getFieldDisplay(filter.field)}}</mat-label>
@@ -2654,73 +2682,73 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2654
2682
  </ng-container>
2655
2683
  <ng-container ngbNavItem [ngbNavItem]="2" class="tab-title-class"
2656
2684
  *ngIf="advancedSearchFields.length > 0">
2657
- <a ngbNavLink>ADVANCED SEARCH</a>
2685
+ <a ngbNavLink class ="flex-grow-1">ADVANCED SEARCH</a>
2658
2686
  <ng-template ngbNavContent>
2659
2687
  <div class="advancedSearch-scroll" id="advancedSearch-scroll-panel">
2660
2688
  <div class="advancedSearch-panel">
2661
- <div *ngFor="let param of this.advancedSearch; index as j">
2689
+ <div *ngFor="let param of this.advancedSearch; index as j">
2662
2690
  <div [ngClass]="{'advanced-search': !this.hasAdvancedSearchVerticalScrollbar, 'advanced-search-scrolled': this.hasAdvancedSearchVerticalScrollbar}">
2663
- <div class="advanced-search-classification-header">
2664
- {{param.header}}
2665
- </div>
2666
- <div class="row advanced-search-content-body">
2667
- <ng-container>
2668
- <div *ngFor="let field of this.param.fields; index as k">
2669
- <div class="col-5">
2670
- <div *ngIf="getFieldType(field.field) === 'input' ">
2671
- <mat-form-field appearance="none">
2672
- <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
2673
- <input matInput [ngModel]="getFilterForField(field.field).value"
2674
- (ngModelChange)="setFilter($event, getFilterForField(field.field))"
2675
- (keydown)="applyAdvancedSearchFilters($event)"/>
2676
- </mat-form-field>
2677
- </div>
2678
- <div *ngIf="getFieldType(field.field) === 'checkbox' ">
2679
- <mat-checkbox class="checkboxes"
2680
- [(ngModel)]="getFilterForField(field.field).value">
2681
- {{getFieldDisplay(field.field)}}
2682
- </mat-checkbox>
2683
- </div>
2684
- <div *ngIf="getFieldType(field.field) === 'dropdown' ">
2685
- <mat-form-field appearance="none">
2686
- <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
2687
- <mat-select [ngModel]="getFilterForField(field.field).value"
2688
- (ngModelChange)="setFilter($event, getFilterForField(field.field))"
2689
- (keydown)="applyAdvancedSearchFilters($event)">
2690
- <div *ngIf="this.field.valueURL;else display_raw_value">
2691
- <mat-option>None</mat-option>
2692
- <mat-option *ngFor="let value of this.field.values"
2693
- [value]="value.id">{{value.display}}</mat-option>
2694
- </div>
2695
- <ng-template #display_raw_value>
2696
- <mat-option>None</mat-option>
2697
- <mat-option *ngFor="let value of this.field.values"
2698
- [value]="value">{{value}}</mat-option>
2699
- </ng-template>
2700
- </mat-select>
2701
- </mat-form-field>
2702
- </div>
2703
- <div *ngIf="getFieldType(field.field) === 'date' ">
2704
- <mat-form-field appearance="none">
2705
- <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
2706
- <input [ngModel]="getFilterForField(field.field).value"
2707
- (ngModelChange)="setFilter($event, getFilterForField(field.field))"
2708
- (keydown)="applyAdvancedSearchFilters($event)" matInput
2709
- [matDatepicker]="myPicker" placeholder="date">
2710
- <mat-datepicker-toggle matSuffix [for]="myPicker">
2711
- <mat-icon fontSet="fa" fontIcon="fa-calendar-alt fa-lg"></mat-icon>
2712
- </mat-datepicker-toggle>
2713
- <mat-datepicker #myPicker></mat-datepicker>
2714
- </mat-form-field>
2691
+ <div class="advanced-search-classification-header">
2692
+ {{param.header}}
2693
+ </div>
2694
+ <div class="row advanced-search-content-body">
2695
+ <ng-container>
2696
+ <div *ngFor="let field of this.param.fields; index as k">
2697
+ <div class="col-5">
2698
+ <div *ngIf="getFieldType(field.field) === 'input' ">
2699
+ <mat-form-field appearance="none">
2700
+ <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
2701
+ <input matInput [ngModel]="getFilterForField(field.field).value"
2702
+ (ngModelChange)="setFilter($event, getFilterForField(field.field))"
2703
+ (keydown)="applyAdvancedSearchFilters($event)"/>
2704
+ </mat-form-field>
2705
+ </div>
2706
+ <div *ngIf="getFieldType(field.field) === 'checkbox' ">
2707
+ <mat-checkbox class="checkboxes"
2708
+ [(ngModel)]="getFilterForField(field.field).value">
2709
+ {{getFieldDisplay(field.field)}}
2710
+ </mat-checkbox>
2711
+ </div>
2712
+ <div *ngIf="getFieldType(field.field) === 'dropdown' ">
2713
+ <mat-form-field appearance="none">
2714
+ <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
2715
+ <mat-select [ngModel]="getFilterForField(field.field).value"
2716
+ (ngModelChange)="setFilter($event, getFilterForField(field.field))"
2717
+ (keydown)="applyAdvancedSearchFilters($event)">
2718
+ <div *ngIf="this.field.valueURL;else display_raw_value">
2719
+ <mat-option>None</mat-option>
2720
+ <mat-option *ngFor="let value of this.field.values"
2721
+ [value]="value.id">{{value.display}}</mat-option>
2722
+ </div>
2723
+ <ng-template #display_raw_value>
2724
+ <mat-option>None</mat-option>
2725
+ <mat-option *ngFor="let value of this.field.values"
2726
+ [value]="value">{{value}}</mat-option>
2727
+ </ng-template>
2728
+ </mat-select>
2729
+ </mat-form-field>
2730
+ </div>
2731
+ <div *ngIf="getFieldType(field.field) === 'date' ">
2732
+ <mat-form-field appearance="none">
2733
+ <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
2734
+ <input [ngModel]="getFilterForField(field.field).value"
2735
+ (ngModelChange)="setFilter($event, getFilterForField(field.field))"
2736
+ (keydown)="applyAdvancedSearchFilters($event)" matInput
2737
+ [matDatepicker]="myPicker" placeholder="date">
2738
+ <mat-datepicker-toggle matSuffix [for]="myPicker">
2739
+ <mat-icon fontSet="fa" fontIcon="fa-calendar-alt fa-lg"></mat-icon>
2740
+ </mat-datepicker-toggle>
2741
+ <mat-datepicker #myPicker></mat-datepicker>
2742
+ </mat-form-field>
2743
+ </div>
2715
2744
  </div>
2716
2745
  </div>
2717
- </div>
2718
- </ng-container>
2746
+ </ng-container>
2747
+ </div>
2719
2748
  </div>
2720
2749
  </div>
2721
2750
  </div>
2722
2751
  </div>
2723
- </div>
2724
2752
  <div class="search-msg-holder">
2725
2753
  <div id="advanced-search-msg-holder"></div>
2726
2754
  </div>
@@ -2730,12 +2758,57 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2730
2758
  <button [ngClass]="{'ri-btn-cancel': !this.changed, 'ri-btn-cancel-dirty': this.changed}" [disabled]="!this.changed" (click)="setupFilters(false)">CLEAR
2731
2759
  </button>
2732
2760
  <button [ngClass] ="{'ri-btn-save': !this.changed, 'ri-btn-save-dirty': this.changed}"
2733
- [disabled]="!this.changed " (click)="applyAdvancedSearchFilters($event)">SEARCH
2761
+ [disabled]="!this.changed" (click)="applyAdvancedSearchFilters($event)">SEARCH
2734
2762
  </button>
2735
2763
  </div>
2736
2764
  </div>
2737
2765
  </ng-template>
2738
2766
  </ng-container>
2767
+
2768
+
2769
+ <ng-container ngbNavItem [ngbNavItem]="3" class="tab-title-class"
2770
+ *ngIf="searchSortingOptions.length>0">
2771
+ <a ngbNavLink class ="flex-grow-1" >SORTING</a>
2772
+ <ng-template ngbNavContent>
2773
+ <div class="basic-search" >
2774
+ <div class="classification-header">
2775
+ {{this.basicSearchHeader}}
2776
+ </div>
2777
+ <div class="row sidebar-filter">
2778
+ <ng-container *ngFor="let searchSortItem of searchSortingOptions">
2779
+ <div class="col-6 sort-item" [ngStyle]="getCustomStyles('col-6 sort-item')">
2780
+ <div class="sort-icon" [ngStyle]="getCustomStyles('sort-icon')">
2781
+ <div *ngIf="currentSearchSorting.value==searchSortItem.value && currentSearchSorting.isAsc"
2782
+ [ngClass]="{'sort-arrow':true}">
2783
+ <i class="fas fa-arrow-circle-up fa-lg"></i>
2784
+ </div>
2785
+ <div *ngIf="currentSearchSorting.value==searchSortItem.value && !currentSearchSorting.isAsc"
2786
+ [ngClass]="{'sort-arrow':true}">
2787
+ <i class="fas fa-arrow-circle-down fa-lg"></i>
2788
+ </div>
2789
+ </div>
2790
+ <div class="sort-text no-user-select-text" (click)="onSearchSortClicked($event, searchSortItem)" [ngStyle]="getCustomStyles('sort-text')">
2791
+ {{searchSortItem.display}}
2792
+ </div>
2793
+ </div>
2794
+ </ng-container>
2795
+
2796
+
2797
+ </div>
2798
+ </div>
2799
+
2800
+ <div class="search-msg-holder">
2801
+ <div id="basic-search-msg-holder"></div>
2802
+ </div>
2803
+
2804
+ <div class="ri-modal-footer ri-full-width">
2805
+ <div class="ri-modal-header-right-container ri-full-width">
2806
+
2807
+ </div>
2808
+ </div>
2809
+
2810
+ </ng-template>
2811
+ </ng-container>
2739
2812
  </nav>
2740
2813
  <div [ngbNavOutlet]="nav"></div>
2741
2814
  </div>
@@ -2801,6 +2874,8 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2801
2874
 
2802
2875
  <div class="ri-modal-footer ri-full-width sidebar-filter">
2803
2876
  <div class="ri-modal-header-right-container ri-full-width">
2877
+ <ng-container *ngTemplateOutlet="buttonRowTemplate">
2878
+ </ng-container>
2804
2879
  <button class="ri-btn-cancel ri-btn-cancel-dirty" (click)="setupFilters(true)">RESET
2805
2880
  </button>
2806
2881
  <button class="ri-btn-save" [ngClass]="{'ri-btn-save-dirty': this.changed}"
@@ -2868,7 +2943,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2868
2943
  </button>
2869
2944
  </div>
2870
2945
  <div class="d-flex mb-1 global-search" *ngIf="inputMultiline === true">
2871
- <textarea [disabled] = "!quickSearchEnabled" [ngModel]="globalSearch" class="search-box textarea-search-box"
2946
+ <textarea aria-label="globalSearch" [disabled] = "!quickSearchEnabled" [ngModel]="globalSearch" class="search-box textarea-search-box"
2872
2947
  [ngStyle]="getCustomStyles('search-box textarea-search-box')" (keyup)="doGlobalSearch($event)" [placeholder]="globalSearchPlaceholder"></textarea>
2873
2948
  <select *ngIf="showQuickSearchOptions" [(ngModel)]="selectedSearchType" (change)="selectSearchType()"
2874
2949
  id="search-identifier" style="width: 100%; border-radius: 0px; border-color: black; ">
@@ -2877,7 +2952,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2877
2952
  {{searchType}}
2878
2953
  </option>
2879
2954
  </select>
2880
- <button class="ps-1 pe-1 search-button multiline-search-button" [ngStyle]="getCustomStyles('search-button multiline-search-button')" [disabled] = "!quickSearchEnabled" [ngClass] = "{'disabled-button':!quickSearchEnabled}" (click)="searchButtonClicked()">
2955
+ <button aria-label="searchButton" class="ps-1 pe-1 search-button multiline-search-button" [ngStyle]="getCustomStyles('search-button multiline-search-button')" [disabled] = "!quickSearchEnabled" [ngClass] = "{'disabled-button':!quickSearchEnabled}" (click)="searchButtonClicked()">
2881
2956
  <i class="fas fa-search"></i>
2882
2957
  </button>
2883
2958
  </div>
@@ -2907,7 +2982,7 @@ let SearchListControllerComponent = class SearchListControllerComponent extends
2907
2982
  </mat-button-toggle-group>
2908
2983
  </div>
2909
2984
  </div>
2910
- `, isInline: true, styles: ["select{padding:.25em 0 .25em .25em;outline-offset:-1px;border:0;color:#8a9499;font-size:.8rem;background-color:#fff}.search-box{border:none;border-right:.1px solid #5B6266;padding-left:.5rem!important;color:#8a9499;font-size:.8rem}.search-options{border-radius:10px}.search-button{width:30%;height:2rem;background-image:linear-gradient(#6da9c7,#3d7a99);margin:0;color:#fff;border:none}.global-search{align-items:center;width:100%;border-radius:2px;border:.04em solid #727b80}.tab-title-class{display:flex;height:50px;background:#d3d3d3}.tab-pane{width:min-content!important}.search-options.expanded{height:fit-content}.backButton .fa-angle-double-left{color:#fff}.svg-inline--fas fa-angle-double-left{color:#fff}.sort-item{display:flex;color:#000}.sort-icon{width:1.5rem}.sort-text:hover{cursor:pointer}.hci-white{color:#fff!important}.textarea-search-box{align-content:center;width:100%;min-height:30px}.multiline-search-button{height:100%;max-width:3rem;min-width:3rem}.filter-sorting-panel{margin-top:30px}.disabled-button{cursor:not-allowed;background-image:linear-gradient(var(--greywarm-light),var(--greywarm-medlight))}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$2.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i3$2.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i3$2.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i3$2.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i3$2.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i3$2.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "directive", type: i7.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i7.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i8.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatLegacySuffix, selector: "[matSuffix]" }, { kind: "directive", type: i9.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i11.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i12.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i13.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i14.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }] }); }
2985
+ `, isInline: true, styles: ["select{padding:.25em 0 .25em .25em;outline-offset:-1px;border:0;color:#8a9499;font-size:.8rem;background-color:#fff}.search-box{border:none;border-right:.1px solid #5B6266;padding-left:.5rem!important;color:#8a9499;font-size:.8rem}.search-options{border-radius:10px}.search-button{width:30%;height:2rem;background-image:linear-gradient(#6da9c7,#3d7a99);margin:0;color:#fff;border:none}.global-search{align-items:center;width:100%;border-radius:2px;border:.04em solid #727b80}.tab-title-class{display:flex;height:50px;background:#d3d3d3}.tab-pane{width:min-content!important}.search-options.expanded{height:fit-content}.backButton .fa-angle-double-left{color:#fff}.svg-inline--fas fa-angle-double-left{color:#fff}.sort-item{display:flex;color:#000}.sort-icon{width:1.5rem}.sort-text:hover{cursor:pointer}.hci-white{color:#fff!important}.textarea-search-box{align-content:center;width:100%;min-height:30px}.multiline-search-button{height:100%;max-width:3rem;min-width:3rem}.filter-sorting-panel{margin-top:30px}.disabled-button{cursor:not-allowed;background-image:linear-gradient(var(--greywarm-light),var(--greywarm-medlight))}.nav-container{display:flex!important;flex-wrap:nowrap}.no-user-select-text{-webkit-user-select:none;-ms-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$2.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i3$2.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i3$2.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i3$2.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i3$2.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i3$2.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "directive", type: i7.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i7.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i8.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatLegacySuffix, selector: "[matSuffix]" }, { kind: "directive", type: i9.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i11.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i12.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i13.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i14.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }] }); }
2911
2986
  };
2912
2987
  SearchListControllerComponent = __decorate$3([
2913
2988
  ComponentType("SearchListControllerComponent"),
@@ -2931,7 +3006,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2931
3006
  </div>
2932
3007
  {{title}}
2933
3008
  <div class="ms-auto me-2" (click)="toggleShowOptions($event)">
2934
- <i class="fas fa-cog"></i>
3009
+ <i class="fas fa-filter"></i>
2935
3010
  </div>
2936
3011
  <div class="search-options" [class.expanded]="showOptions" [ngStyle]="{'width': (searchOptionsWidth !== '') ? searchOptionsWidth : 'auto'}">
2937
3012
  <div class="flex-grow-1">
@@ -2945,10 +3020,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2945
3020
  </div>
2946
3021
 
2947
3022
  <div *ngIf="disableLocalFiltering; else display">
2948
- <nav ngbNav #nav="ngbNav" [(activeId)]="activeTab">
3023
+ <nav ngbNav #nav="ngbNav" [(activeId)]="activeTab" class = "nav-container">
2949
3024
  <ng-container ngbNavItem [ngbNavItem]="1" class="tab-title-class"
2950
3025
  *ngIf="filterByAllowedFields.length > 0">
2951
- <a ngbNavLink>BASIC SEARCH</a>
3026
+ <a ngbNavLink class ="flex-grow-1">BASIC SEARCH</a>
2952
3027
  <ng-template ngbNavContent>
2953
3028
  <div class="basic-search">
2954
3029
  <div class="classification-header">
@@ -2965,6 +3040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2965
3040
  (keydown)="applyFilters($event)"/>
2966
3041
  </mat-form-field>
2967
3042
  </div>
3043
+
2968
3044
  <!-- Double check if the textarea needed in Basic Search-->
2969
3045
  <!-- <div *ngIf="getFieldType(filter.field) === 'textarea' ">-->
2970
3046
  <!-- <mat-form-field appearance="none">-->
@@ -2973,6 +3049,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2973
3049
  <!-- style="background-color: #f2f2f2"></textarea>-->
2974
3050
  <!-- </mat-form-field>-->
2975
3051
  <!-- </div>-->
3052
+
2976
3053
  <div *ngIf="getFieldType(filter.field) === 'dropdown' ">
2977
3054
  <mat-form-field appearance="none">
2978
3055
  <mat-label>{{getFieldDisplay(filter.field)}}</mat-label>
@@ -3028,73 +3105,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3028
3105
  </ng-container>
3029
3106
  <ng-container ngbNavItem [ngbNavItem]="2" class="tab-title-class"
3030
3107
  *ngIf="advancedSearchFields.length > 0">
3031
- <a ngbNavLink>ADVANCED SEARCH</a>
3108
+ <a ngbNavLink class ="flex-grow-1">ADVANCED SEARCH</a>
3032
3109
  <ng-template ngbNavContent>
3033
3110
  <div class="advancedSearch-scroll" id="advancedSearch-scroll-panel">
3034
3111
  <div class="advancedSearch-panel">
3035
- <div *ngFor="let param of this.advancedSearch; index as j">
3112
+ <div *ngFor="let param of this.advancedSearch; index as j">
3036
3113
  <div [ngClass]="{'advanced-search': !this.hasAdvancedSearchVerticalScrollbar, 'advanced-search-scrolled': this.hasAdvancedSearchVerticalScrollbar}">
3037
- <div class="advanced-search-classification-header">
3038
- {{param.header}}
3039
- </div>
3040
- <div class="row advanced-search-content-body">
3041
- <ng-container>
3042
- <div *ngFor="let field of this.param.fields; index as k">
3043
- <div class="col-5">
3044
- <div *ngIf="getFieldType(field.field) === 'input' ">
3045
- <mat-form-field appearance="none">
3046
- <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
3047
- <input matInput [ngModel]="getFilterForField(field.field).value"
3048
- (ngModelChange)="setFilter($event, getFilterForField(field.field))"
3049
- (keydown)="applyAdvancedSearchFilters($event)"/>
3050
- </mat-form-field>
3051
- </div>
3052
- <div *ngIf="getFieldType(field.field) === 'checkbox' ">
3053
- <mat-checkbox class="checkboxes"
3054
- [(ngModel)]="getFilterForField(field.field).value">
3055
- {{getFieldDisplay(field.field)}}
3056
- </mat-checkbox>
3057
- </div>
3058
- <div *ngIf="getFieldType(field.field) === 'dropdown' ">
3059
- <mat-form-field appearance="none">
3060
- <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
3061
- <mat-select [ngModel]="getFilterForField(field.field).value"
3062
- (ngModelChange)="setFilter($event, getFilterForField(field.field))"
3063
- (keydown)="applyAdvancedSearchFilters($event)">
3064
- <div *ngIf="this.field.valueURL;else display_raw_value">
3065
- <mat-option>None</mat-option>
3066
- <mat-option *ngFor="let value of this.field.values"
3067
- [value]="value.id">{{value.display}}</mat-option>
3068
- </div>
3069
- <ng-template #display_raw_value>
3070
- <mat-option>None</mat-option>
3071
- <mat-option *ngFor="let value of this.field.values"
3072
- [value]="value">{{value}}</mat-option>
3073
- </ng-template>
3074
- </mat-select>
3075
- </mat-form-field>
3076
- </div>
3077
- <div *ngIf="getFieldType(field.field) === 'date' ">
3078
- <mat-form-field appearance="none">
3079
- <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
3080
- <input [ngModel]="getFilterForField(field.field).value"
3081
- (ngModelChange)="setFilter($event, getFilterForField(field.field))"
3082
- (keydown)="applyAdvancedSearchFilters($event)" matInput
3083
- [matDatepicker]="myPicker" placeholder="date">
3084
- <mat-datepicker-toggle matSuffix [for]="myPicker">
3085
- <mat-icon fontSet="fa" fontIcon="fa-calendar-alt fa-lg"></mat-icon>
3086
- </mat-datepicker-toggle>
3087
- <mat-datepicker #myPicker></mat-datepicker>
3088
- </mat-form-field>
3114
+ <div class="advanced-search-classification-header">
3115
+ {{param.header}}
3116
+ </div>
3117
+ <div class="row advanced-search-content-body">
3118
+ <ng-container>
3119
+ <div *ngFor="let field of this.param.fields; index as k">
3120
+ <div class="col-5">
3121
+ <div *ngIf="getFieldType(field.field) === 'input' ">
3122
+ <mat-form-field appearance="none">
3123
+ <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
3124
+ <input matInput [ngModel]="getFilterForField(field.field).value"
3125
+ (ngModelChange)="setFilter($event, getFilterForField(field.field))"
3126
+ (keydown)="applyAdvancedSearchFilters($event)"/>
3127
+ </mat-form-field>
3128
+ </div>
3129
+ <div *ngIf="getFieldType(field.field) === 'checkbox' ">
3130
+ <mat-checkbox class="checkboxes"
3131
+ [(ngModel)]="getFilterForField(field.field).value">
3132
+ {{getFieldDisplay(field.field)}}
3133
+ </mat-checkbox>
3134
+ </div>
3135
+ <div *ngIf="getFieldType(field.field) === 'dropdown' ">
3136
+ <mat-form-field appearance="none">
3137
+ <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
3138
+ <mat-select [ngModel]="getFilterForField(field.field).value"
3139
+ (ngModelChange)="setFilter($event, getFilterForField(field.field))"
3140
+ (keydown)="applyAdvancedSearchFilters($event)">
3141
+ <div *ngIf="this.field.valueURL;else display_raw_value">
3142
+ <mat-option>None</mat-option>
3143
+ <mat-option *ngFor="let value of this.field.values"
3144
+ [value]="value.id">{{value.display}}</mat-option>
3145
+ </div>
3146
+ <ng-template #display_raw_value>
3147
+ <mat-option>None</mat-option>
3148
+ <mat-option *ngFor="let value of this.field.values"
3149
+ [value]="value">{{value}}</mat-option>
3150
+ </ng-template>
3151
+ </mat-select>
3152
+ </mat-form-field>
3153
+ </div>
3154
+ <div *ngIf="getFieldType(field.field) === 'date' ">
3155
+ <mat-form-field appearance="none">
3156
+ <mat-label>{{getFieldDisplay(field.field)}}</mat-label>
3157
+ <input [ngModel]="getFilterForField(field.field).value"
3158
+ (ngModelChange)="setFilter($event, getFilterForField(field.field))"
3159
+ (keydown)="applyAdvancedSearchFilters($event)" matInput
3160
+ [matDatepicker]="myPicker" placeholder="date">
3161
+ <mat-datepicker-toggle matSuffix [for]="myPicker">
3162
+ <mat-icon fontSet="fa" fontIcon="fa-calendar-alt fa-lg"></mat-icon>
3163
+ </mat-datepicker-toggle>
3164
+ <mat-datepicker #myPicker></mat-datepicker>
3165
+ </mat-form-field>
3166
+ </div>
3089
3167
  </div>
3090
3168
  </div>
3091
- </div>
3092
- </ng-container>
3169
+ </ng-container>
3170
+ </div>
3093
3171
  </div>
3094
3172
  </div>
3095
3173
  </div>
3096
3174
  </div>
3097
- </div>
3098
3175
  <div class="search-msg-holder">
3099
3176
  <div id="advanced-search-msg-holder"></div>
3100
3177
  </div>
@@ -3104,12 +3181,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3104
3181
  <button [ngClass]="{'ri-btn-cancel': !this.changed, 'ri-btn-cancel-dirty': this.changed}" [disabled]="!this.changed" (click)="setupFilters(false)">CLEAR
3105
3182
  </button>
3106
3183
  <button [ngClass] ="{'ri-btn-save': !this.changed, 'ri-btn-save-dirty': this.changed}"
3107
- [disabled]="!this.changed " (click)="applyAdvancedSearchFilters($event)">SEARCH
3184
+ [disabled]="!this.changed" (click)="applyAdvancedSearchFilters($event)">SEARCH
3108
3185
  </button>
3109
3186
  </div>
3110
3187
  </div>
3111
3188
  </ng-template>
3112
3189
  </ng-container>
3190
+
3191
+
3192
+ <ng-container ngbNavItem [ngbNavItem]="3" class="tab-title-class"
3193
+ *ngIf="searchSortingOptions.length>0">
3194
+ <a ngbNavLink class ="flex-grow-1" >SORTING</a>
3195
+ <ng-template ngbNavContent>
3196
+ <div class="basic-search" >
3197
+ <div class="classification-header">
3198
+ {{this.basicSearchHeader}}
3199
+ </div>
3200
+ <div class="row sidebar-filter">
3201
+ <ng-container *ngFor="let searchSortItem of searchSortingOptions">
3202
+ <div class="col-6 sort-item" [ngStyle]="getCustomStyles('col-6 sort-item')">
3203
+ <div class="sort-icon" [ngStyle]="getCustomStyles('sort-icon')">
3204
+ <div *ngIf="currentSearchSorting.value==searchSortItem.value && currentSearchSorting.isAsc"
3205
+ [ngClass]="{'sort-arrow':true}">
3206
+ <i class="fas fa-arrow-circle-up fa-lg"></i>
3207
+ </div>
3208
+ <div *ngIf="currentSearchSorting.value==searchSortItem.value && !currentSearchSorting.isAsc"
3209
+ [ngClass]="{'sort-arrow':true}">
3210
+ <i class="fas fa-arrow-circle-down fa-lg"></i>
3211
+ </div>
3212
+ </div>
3213
+ <div class="sort-text no-user-select-text" (click)="onSearchSortClicked($event, searchSortItem)" [ngStyle]="getCustomStyles('sort-text')">
3214
+ {{searchSortItem.display}}
3215
+ </div>
3216
+ </div>
3217
+ </ng-container>
3218
+
3219
+
3220
+ </div>
3221
+ </div>
3222
+
3223
+ <div class="search-msg-holder">
3224
+ <div id="basic-search-msg-holder"></div>
3225
+ </div>
3226
+
3227
+ <div class="ri-modal-footer ri-full-width">
3228
+ <div class="ri-modal-header-right-container ri-full-width">
3229
+
3230
+ </div>
3231
+ </div>
3232
+
3233
+ </ng-template>
3234
+ </ng-container>
3113
3235
  </nav>
3114
3236
  <div [ngbNavOutlet]="nav"></div>
3115
3237
  </div>
@@ -3175,6 +3297,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3175
3297
 
3176
3298
  <div class="ri-modal-footer ri-full-width sidebar-filter">
3177
3299
  <div class="ri-modal-header-right-container ri-full-width">
3300
+ <ng-container *ngTemplateOutlet="buttonRowTemplate">
3301
+ </ng-container>
3178
3302
  <button class="ri-btn-cancel ri-btn-cancel-dirty" (click)="setupFilters(true)">RESET
3179
3303
  </button>
3180
3304
  <button class="ri-btn-save" [ngClass]="{'ri-btn-save-dirty': this.changed}"
@@ -3242,7 +3366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3242
3366
  </button>
3243
3367
  </div>
3244
3368
  <div class="d-flex mb-1 global-search" *ngIf="inputMultiline === true">
3245
- <textarea [disabled] = "!quickSearchEnabled" [ngModel]="globalSearch" class="search-box textarea-search-box"
3369
+ <textarea aria-label="globalSearch" [disabled] = "!quickSearchEnabled" [ngModel]="globalSearch" class="search-box textarea-search-box"
3246
3370
  [ngStyle]="getCustomStyles('search-box textarea-search-box')" (keyup)="doGlobalSearch($event)" [placeholder]="globalSearchPlaceholder"></textarea>
3247
3371
  <select *ngIf="showQuickSearchOptions" [(ngModel)]="selectedSearchType" (change)="selectSearchType()"
3248
3372
  id="search-identifier" style="width: 100%; border-radius: 0px; border-color: black; ">
@@ -3251,7 +3375,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3251
3375
  {{searchType}}
3252
3376
  </option>
3253
3377
  </select>
3254
- <button class="ps-1 pe-1 search-button multiline-search-button" [ngStyle]="getCustomStyles('search-button multiline-search-button')" [disabled] = "!quickSearchEnabled" [ngClass] = "{'disabled-button':!quickSearchEnabled}" (click)="searchButtonClicked()">
3378
+ <button aria-label="searchButton" class="ps-1 pe-1 search-button multiline-search-button" [ngStyle]="getCustomStyles('search-button multiline-search-button')" [disabled] = "!quickSearchEnabled" [ngClass] = "{'disabled-button':!quickSearchEnabled}" (click)="searchButtonClicked()">
3255
3379
  <i class="fas fa-search"></i>
3256
3380
  </button>
3257
3381
  </div>
@@ -3281,7 +3405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3281
3405
  </mat-button-toggle-group>
3282
3406
  </div>
3283
3407
  </div>
3284
- `, styles: ["select{padding:.25em 0 .25em .25em;outline-offset:-1px;border:0;color:#8a9499;font-size:.8rem;background-color:#fff}.search-box{border:none;border-right:.1px solid #5B6266;padding-left:.5rem!important;color:#8a9499;font-size:.8rem}.search-options{border-radius:10px}.search-button{width:30%;height:2rem;background-image:linear-gradient(#6da9c7,#3d7a99);margin:0;color:#fff;border:none}.global-search{align-items:center;width:100%;border-radius:2px;border:.04em solid #727b80}.tab-title-class{display:flex;height:50px;background:#d3d3d3}.tab-pane{width:min-content!important}.search-options.expanded{height:fit-content}.backButton .fa-angle-double-left{color:#fff}.svg-inline--fas fa-angle-double-left{color:#fff}.sort-item{display:flex;color:#000}.sort-icon{width:1.5rem}.sort-text:hover{cursor:pointer}.hci-white{color:#fff!important}.textarea-search-box{align-content:center;width:100%;min-height:30px}.multiline-search-button{height:100%;max-width:3rem;min-width:3rem}.filter-sorting-panel{margin-top:30px}.disabled-button{cursor:not-allowed;background-image:linear-gradient(var(--greywarm-light),var(--greywarm-medlight))}\n"] }]
3408
+ `, styles: ["select{padding:.25em 0 .25em .25em;outline-offset:-1px;border:0;color:#8a9499;font-size:.8rem;background-color:#fff}.search-box{border:none;border-right:.1px solid #5B6266;padding-left:.5rem!important;color:#8a9499;font-size:.8rem}.search-options{border-radius:10px}.search-button{width:30%;height:2rem;background-image:linear-gradient(#6da9c7,#3d7a99);margin:0;color:#fff;border:none}.global-search{align-items:center;width:100%;border-radius:2px;border:.04em solid #727b80}.tab-title-class{display:flex;height:50px;background:#d3d3d3}.tab-pane{width:min-content!important}.search-options.expanded{height:fit-content}.backButton .fa-angle-double-left{color:#fff}.svg-inline--fas fa-angle-double-left{color:#fff}.sort-item{display:flex;color:#000}.sort-icon{width:1.5rem}.sort-text:hover{cursor:pointer}.hci-white{color:#fff!important}.textarea-search-box{align-content:center;width:100%;min-height:30px}.multiline-search-button{height:100%;max-width:3rem;min-width:3rem}.filter-sorting-panel{margin-top:30px}.disabled-button{cursor:not-allowed;background-image:linear-gradient(var(--greywarm-light),var(--greywarm-medlight))}.nav-container{display:flex!important;flex-wrap:nowrap}.no-user-select-text{-webkit-user-select:none;-ms-user-select:none;user-select:none}\n"] }]
3285
3409
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ComponentFactoryResolver }, { type: NavigationGlobalService }, { type: NavigationService, decorators: [{
3286
3410
  type: Optional
3287
3411
  }] }, { type: i3$3.HttpClient }, { type: i0.ChangeDetectorRef }], propDecorators: { showTitle: [{
@@ -3324,6 +3448,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3324
3448
  type: Input
3325
3449
  }], globalSearchValidator: [{
3326
3450
  type: Input
3451
+ }], buttonRowTemplate: [{
3452
+ type: Input
3453
+ }], searchSortingOptions: [{
3454
+ type: Input
3455
+ }], labelText: [{
3456
+ type: Input
3327
3457
  }], searchListChange: [{
3328
3458
  type: Output
3329
3459
  }], documentClick: [{
@@ -5496,7 +5626,7 @@ let SearchTreeControllerComponent = class SearchTreeControllerComponent extends
5496
5626
  {{title}}
5497
5627
  <div class="d-flex flex-row ms-auto">
5498
5628
  <div *ngIf="buttonTemplate"><ng-container *ngTemplateOutlet="buttonTemplate"></ng-container></div>
5499
- <a (click)="toggleShowOptions($event)"><i class="fas fa-cog"></i></a>
5629
+ <a (click)="toggleShowOptions($event)"><i class="fas fa-filter"></i></a>
5500
5630
  </div>
5501
5631
  <div class="search-options" [class.expanded]="showOptions" *ngIf="filterByAllowedFields.length > 0 && sortByAllowedFields.length > 0">
5502
5632
  <ul ngbNav #nav="ngbNav" class="nav-tabs">
@@ -5594,7 +5724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
5594
5724
  {{title}}
5595
5725
  <div class="d-flex flex-row ms-auto">
5596
5726
  <div *ngIf="buttonTemplate"><ng-container *ngTemplateOutlet="buttonTemplate"></ng-container></div>
5597
- <a (click)="toggleShowOptions($event)"><i class="fas fa-cog"></i></a>
5727
+ <a (click)="toggleShowOptions($event)"><i class="fas fa-filter"></i></a>
5598
5728
  </div>
5599
5729
  <div class="search-options" [class.expanded]="showOptions" *ngIf="filterByAllowedFields.length > 0 && sortByAllowedFields.length > 0">
5600
5730
  <ul ngbNav #nav="ngbNav" class="nav-tabs">
@@ -6369,6 +6499,7 @@ class NavigationModule {
6369
6499
  MatDatepickerModule,
6370
6500
  MatNativeDateModule,
6371
6501
  MatLegacyCheckboxModule,
6502
+ MatLegacyRadioModule,
6372
6503
  MatLegacySelectModule,
6373
6504
  TreeModule,
6374
6505
  NgbNavModule], exports: [AppHeaderComponent,
@@ -6401,6 +6532,7 @@ class NavigationModule {
6401
6532
  MatDatepickerModule,
6402
6533
  MatNativeDateModule,
6403
6534
  MatLegacyCheckboxModule,
6535
+ MatLegacyRadioModule,
6404
6536
  MatLegacySelectModule,
6405
6537
  TreeModule,
6406
6538
  NgbNavModule] }); }
@@ -6421,6 +6553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
6421
6553
  MatDatepickerModule,
6422
6554
  MatNativeDateModule,
6423
6555
  MatLegacyCheckboxModule,
6556
+ MatLegacyRadioModule,
6424
6557
  MatLegacySelectModule,
6425
6558
  TreeModule,
6426
6559
  NgbNavModule