@c8y/ngx-components 1023.53.0 → 1023.55.5

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.
Files changed (97) hide show
  1. package/alarms/index.d.ts +2 -1
  2. package/alarms/index.d.ts.map +1 -1
  3. package/application-access/list/index.d.ts +36 -0
  4. package/application-access/list/index.d.ts.map +1 -0
  5. package/application-access/user/application-access-user-details-wrapper/index.d.ts +33 -0
  6. package/application-access/user/application-access-user-details-wrapper/index.d.ts.map +1 -0
  7. package/application-access/user/index.d.ts +6 -0
  8. package/application-access/user/index.d.ts.map +1 -0
  9. package/asset-properties/index.d.ts +1 -1
  10. package/context-dashboard/index.d.ts +1 -1
  11. package/datapoints-export-selector/index.d.ts +2 -2
  12. package/device-enrolment/index.d.ts +6 -0
  13. package/device-enrolment/index.d.ts.map +1 -0
  14. package/device-enrolment/modal/index.d.ts +88 -0
  15. package/device-enrolment/modal/index.d.ts.map +1 -0
  16. package/device-grid/index.d.ts +1 -1
  17. package/device-list/index.d.ts +1 -1
  18. package/device-shell/index.d.ts +1 -1
  19. package/echart/index.d.ts +1 -1
  20. package/echart/models/index.d.ts +2 -2
  21. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +1 -1
  22. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +1 -1
  23. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  24. package/fesm2022/c8y-ngx-components-application-access-list.mjs +180 -0
  25. package/fesm2022/c8y-ngx-components-application-access-list.mjs.map +1 -0
  26. package/fesm2022/c8y-ngx-components-application-access-user-application-access-user-details-wrapper.mjs +113 -0
  27. package/fesm2022/c8y-ngx-components-application-access-user-application-access-user-details-wrapper.mjs.map +1 -0
  28. package/fesm2022/c8y-ngx-components-application-access-user.mjs +20 -0
  29. package/fesm2022/c8y-ngx-components-application-access-user.mjs.map +1 -0
  30. package/fesm2022/c8y-ngx-components-branding-shared.mjs +1 -1
  31. package/fesm2022/c8y-ngx-components-child-devices.mjs +1 -1
  32. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +1 -1
  33. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +1 -1
  34. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +1 -1
  35. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0C7SH6L.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DvKsV_Fs.mjs} +14 -12
  36. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DvKsV_Fs.mjs.map +1 -0
  37. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +2 -2
  38. package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs +1 -1
  39. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +1 -1
  40. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +1 -1
  41. package/fesm2022/c8y-ngx-components-device-enrolment-modal.mjs +570 -0
  42. package/fesm2022/c8y-ngx-components-device-enrolment-modal.mjs.map +1 -0
  43. package/fesm2022/c8y-ngx-components-device-enrolment.mjs +147 -0
  44. package/fesm2022/c8y-ngx-components-device-enrolment.mjs.map +1 -0
  45. package/fesm2022/c8y-ngx-components-ecosystem.mjs +2 -2
  46. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  47. package/fesm2022/c8y-ngx-components-exports.mjs +1 -1
  48. package/fesm2022/c8y-ngx-components-feature-toggles.mjs +1 -1
  49. package/fesm2022/c8y-ngx-components-register-device.mjs +1 -1
  50. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +1 -1
  51. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +1 -1
  53. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +1 -1
  54. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
  55. package/fesm2022/c8y-ngx-components-repository-shared.mjs +3 -5
  56. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-sub-assets.mjs +132 -55
  58. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-tenants.mjs +71 -32
  60. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-upgrade.mjs +7 -1
  62. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +4 -4
  64. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components.mjs +454 -225
  66. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  67. package/index.d.ts +109 -39
  68. package/index.d.ts.map +1 -1
  69. package/locales/de.po +184 -13
  70. package/locales/es.po +183 -13
  71. package/locales/fr.po +183 -13
  72. package/locales/ja_JP.po +162 -13
  73. package/locales/ko.po +184 -13
  74. package/locales/locales.pot +157 -8
  75. package/locales/nl.po +183 -13
  76. package/locales/pl.po +183 -13
  77. package/locales/pt_BR.po +183 -13
  78. package/locales/zh_CN.po +184 -13
  79. package/locales/zh_TW.po +183 -13
  80. package/map/index.d.ts +1 -0
  81. package/map/index.d.ts.map +1 -1
  82. package/operations/bulk-operations-service/index.d.ts +1 -1
  83. package/package.json +1 -1
  84. package/protocol-opcua/mappings/index.d.ts +1 -1
  85. package/register-device/index.d.ts +1 -1
  86. package/remote-access/data/index.d.ts +1 -0
  87. package/remote-access/data/index.d.ts.map +1 -1
  88. package/repository/shared/index.d.ts.map +1 -1
  89. package/sub-assets/index.d.ts +9 -3
  90. package/sub-assets/index.d.ts.map +1 -1
  91. package/tenants/index.d.ts +1 -0
  92. package/tenants/index.d.ts.map +1 -1
  93. package/upgrade/index.d.ts.map +1 -1
  94. package/widgets/implementations/asset-table/index.d.ts +1 -1
  95. package/widgets/implementations/datapoints-table/index.d.ts +2 -2
  96. package/widgets/implementations/kpi/index.d.ts +1 -1
  97. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0C7SH6L.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { gettext } from '@c8y/ngx-components/gettext';
2
- import { hookNavigator, hookRoute, NavigatorNode } from '@c8y/ngx-components';
2
+ import { hookNavigator, NavigatorNode, hookRoute } from '@c8y/ngx-components';
3
3
 
4
4
  const exportsProviders = [
5
5
  hookNavigator(new NavigatorNode({
@@ -1,5 +1,5 @@
1
1
  import { inject } from '@angular/core';
2
- import { hookNavigator, hookRoute, NavigatorNode, AppStateService, ViewContext } from '@c8y/ngx-components';
2
+ import { hookNavigator, NavigatorNode, hookRoute, AppStateService, ViewContext } from '@c8y/ngx-components';
3
3
  import { gettext } from '@c8y/ngx-components/gettext';
4
4
 
5
5
  const featureTogglePath = 'feature-toggles';
@@ -7,7 +7,7 @@ import * as i5 from '@ngx-formly/core';
7
7
  import { FormlyModule } from '@ngx-formly/core';
8
8
  import { gettext } from '@c8y/ngx-components/gettext';
9
9
  import * as i1$2 from '@c8y/ngx-components';
10
- import { ModalComponent, IconDirective, C8yStepper, C8yTranslateDirective, C8yStepperButtons, OperationResultComponent, ListGroupComponent, ListItemComponent, ListItemIconComponent, ListItemCollapseComponent, C8yTranslatePipe, memoize, hookGeneric, ExtensionPointWithoutStateForPlugins, fromTriggerOnce, OutletDirective, Status, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, ListDisplaySwitchComponent, IfAllowedDirective, HelpComponent, RequiredInputPlaceholderDirective, LoadMoreComponent, DatePipe, Permissions, NavigatorNode, FormGroupComponent, LoadingComponent, CommonModule, CoreModule, StepperModule, DynamicFormsModule, hookNavigator, DeviceBootstrapRealtimeService } from '@c8y/ngx-components';
10
+ import { ModalComponent, IconDirective, C8yStepper, C8yTranslateDirective, C8yStepperButtons, OperationResultComponent, ListGroupComponent, ListItemComponent, ListItemIconComponent, ListItemCollapseComponent, C8yTranslatePipe, memoize, hookGeneric, ExtensionPointWithoutStateForPlugins, fromTriggerOnce, OutletDirective, Status, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, ListDisplaySwitchComponent, IfAllowedDirective, HelpComponent, RequiredInputPlaceholderDirective, LoadMoreComponent, DatePipe, Permissions, NavigatorNode, FormGroupComponent, LoadingComponent, CommonModule, CoreModule, StepperModule, DynamicFormsModule, DeviceBootstrapRealtimeService, hookNavigator } from '@c8y/ngx-components';
11
11
  import * as i6 from '@angular/forms';
12
12
  import { FormGroup, FormsModule } from '@angular/forms';
13
13
  import { Subject, BehaviorSubject, from, forkJoin, defer, Observable } from 'rxjs';
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { gettext } from '@c8y/ngx-components/gettext';
4
- import { hookRoute, hookService, ViewContext } from '@c8y/ngx-components';
4
+ import { hookRoute, ViewContext, hookService } from '@c8y/ngx-components';
5
5
  import * as i1 from '@c8y/ngx-components/remote-access/data';
6
6
  import { canActivateRemoteAccess } from '@c8y/ngx-components/remote-access/data';
7
7
  import * as i2 from 'ngx-bootstrap/modal';
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { gettext } from '@c8y/ngx-components/gettext';
4
- import { hookRoute, hookService, ViewContext } from '@c8y/ngx-components';
4
+ import { hookRoute, ViewContext, hookService } from '@c8y/ngx-components';
5
5
  import * as i1 from '@c8y/ngx-components/remote-access/data';
6
6
  import { canActivateRemoteAccess } from '@c8y/ngx-components/remote-access/data';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { gettext } from '@c8y/ngx-components/gettext';
4
- import { hookRoute, hookService, ViewContext } from '@c8y/ngx-components';
4
+ import { hookRoute, ViewContext, hookService } from '@c8y/ngx-components';
5
5
  import * as i1 from '@c8y/ngx-components/remote-access/data';
6
6
  import { canActivateRemoteAccess } from '@c8y/ngx-components/remote-access/data';
7
7
  import * as i2 from 'ngx-bootstrap/modal';
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, ViewChild, Component, NgModule } from '@angular/core';
3
3
  import { RouterLink, RouterModule } from '@angular/router';
4
4
  import * as i4 from '@c8y/ngx-components';
5
- import { NavigatorNode, Permissions, Status, TitleComponent, ActionBarItemComponent, IconDirective, HelpComponent, ListGroupComponent, ListItemComponent, ListItemIconComponent, ListItemBodyComponent, ForOfDirective, EmptyStateComponent, ProductExperienceDirective, GuideDocsComponent, C8yTranslateDirective, GuideHrefDirective, C8yTranslatePipe, FilterInputComponent, CoreModule, hookRoute, hookNavigator, ViewContext } from '@c8y/ngx-components';
5
+ import { NavigatorNode, Permissions, Status, TitleComponent, ActionBarItemComponent, IconDirective, HelpComponent, ListGroupComponent, ListItemComponent, ListItemIconComponent, ListItemBodyComponent, ForOfDirective, EmptyStateComponent, ProductExperienceDirective, GuideDocsComponent, C8yTranslateDirective, GuideHrefDirective, C8yTranslatePipe, FilterInputComponent, CoreModule, hookRoute, ViewContext, hookNavigator } from '@c8y/ngx-components';
6
6
  import * as i1 from '@c8y/ngx-components/context-dashboard';
7
7
  import { ContextDashboardType, PRODUCT_EXPERIENCE, ContextDashboardModule, ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';
8
8
  import { tap, debounceTime, distinctUntilChanged, switchMap, shareReplay } from 'rxjs/operators';
@@ -8,7 +8,7 @@ import * as i4 from '@c8y/ngx-components';
8
8
  import { ModalSelectionMode, C8yTranslateDirective, IconDirective, ListGroupComponent, ListItemComponent, ListItemIconComponent, ListItemBodyComponent, ProductExperienceDirective, C8yTranslatePipe, hookRoute, ViewContext, FormGroupComponent, TypeaheadComponent, ForOfDirective, HighlightComponent, MessagesComponent, MessageDirective, RequiredInputPlaceholderDirective, FilePickerComponent, ValidationPattern, Status, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, EmptyStateComponent, ListItemCollapseComponent, memoize, BuiltInActionType, HelpComponent, DataGridComponent, EmptyStateContextDirective, NavigatorNode, hookNavigator } from '@c8y/ngx-components';
9
9
  import * as i2 from '@c8y/ngx-components/repository/shared';
10
10
  import { PRODUCT_EXPERIENCE_REPOSITORY_SHARED, RepositoryType, RepositorySelectModalComponent, SharedRepositoryModule, FileDownloadComponent, RepositoryItemNameGridColumn, DescriptionGridColumn, DeviceTypeGridColumn, VersionsGridColumn } from '@c8y/ngx-components/repository/shared';
11
- import { isEmpty, get, assign, has, indexOf, isUndefined, property } from 'lodash-es';
11
+ import { isEmpty, get, assign, indexOf, has, isUndefined, property } from 'lodash-es';
12
12
  import * as i1$1 from 'ngx-bootstrap/modal';
13
13
  import { BehaviorSubject, from, combineLatest, of, merge, pipe, Subject, defer, map as map$1 } from 'rxjs';
14
14
  import { map, filter, switchMap, shareReplay, take, distinctUntilChanged, debounceTime, tap, distinctUntilKeyChanged, withLatestFrom, takeUntil } from 'rxjs/operators';
@@ -1947,7 +1947,6 @@ class SoftwareTypeComponent {
1947
1947
  this.softwareTypeMO = software;
1948
1948
  this.onSelectSoftware.emit(software);
1949
1949
  this.deviceSoftwareTypeModel.searchControlModel.control.markAsDirty();
1950
- this.deviceSoftwareTypeModel.onChange(software);
1951
1950
  }
1952
1951
  clearSoftware() {
1953
1952
  this.softwareTypeMO = undefined;
@@ -2004,7 +2003,7 @@ class SoftwareTypeComponent {
2004
2003
  return uniqueBySoftwareType;
2005
2004
  }
2006
2005
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SoftwareTypeComponent, deps: [{ token: RepositoryService }, { token: i0.ChangeDetectorRef }, { token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
2007
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SoftwareTypeComponent, isStandalone: true, selector: "c8y-software-type", inputs: { softwareTypeMO: "softwareTypeMO", disabled: "disabled", style: "style", required: "required", placeholder: "placeholder", emitResultsOnly: "emitResultsOnly", showBtnInNotFoundMessage: "showBtnInNotFoundMessage", allowFreeEntries: "allowFreeEntries", showClearSelectionOption: "showClearSelectionOption", clearSelectionOptionLabel: "clearSelectionOptionLabel", presetSoftwareTypes: "presetSoftwareTypes" }, outputs: { onSelectSoftware: "onSelectSoftware" }, providers: [
2006
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SoftwareTypeComponent, isStandalone: true, selector: "c8y-software-type", inputs: { softwareTypeMO: "softwareTypeMO", disabled: "disabled", style: "style", required: "required", placeholder: "placeholder", emitResultsOnly: "emitResultsOnly", showBtnInNotFoundMessage: "showBtnInNotFoundMessage", allowFreeEntries: "allowFreeEntries", showClearSelectionOption: "showClearSelectionOption", clearSelectionOptionLabel: "clearSelectionOptionLabel", presetSoftwareTypes: "presetSoftwareTypes" }, outputs: { onSelectSoftware: "onSelectSoftware" }, providers: [
2008
2007
  {
2009
2008
  provide: NG_VALUE_ACCESSOR,
2010
2009
  multi: true,
@@ -2015,7 +2014,7 @@ class SoftwareTypeComponent {
2015
2014
  useExisting: forwardRef(() => SoftwareTypeComponent),
2016
2015
  multi: true
2017
2016
  }
2018
- ], viewQueries: [{ propertyName: "deviceSoftwareTypeModel", first: true, predicate: ["deviceSoftwareTypeModel"], descendants: true }, { propertyName: "notFoundTypeAddNewTemplate", first: true, predicate: ["notFoundTypeAddNewTemplate"], descendants: true, static: true }, { propertyName: "notFoundTypeTemplate", first: true, predicate: ["notFoundTypeTemplate"], descendants: true, static: true }], ngImport: i0, template: "<c8y-typeahead\n [(ngModel)]=\"softwareTypeMO\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n name=\"softwareType\"\n [placeholder]=\"placeholder\"\n [allowFreeEntries]=\"allowFreeEntries\"\n #deviceSoftwareTypeModel\n (onSearch)=\"search$.next($event)\"\n displayProperty=\"softwareType\"\n [ngStyle]=\"style\"\n>\n <c8y-li\n *ngIf=\"showClearSelectionOption\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"clearSoftware()\"\n [active]=\"!softwareTypeMO?.softwareType\"\n >\n <span>{{ clearSelectionOptionLabel | translate }}</span>\n </c8y-li>\n <c8y-li\n *c8yFor=\"\n let software of softwaresResult$;\n pipe: filterPipe;\n loadMore: 'auto';\n notFound: notFoundTemplateToUse\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectSoftware(software)\"\n [active]=\"softwareTypeMO?.softwareType === software.softwareType\"\n >\n <c8y-highlight\n [text]=\"software.softwareType || '--'\"\n [pattern]=\"search$ | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTypeAddNewTemplate>\n <c8y-li class=\"bg-level-2 p-8\" *ngIf=\"(search$ | async)?.length > 0\">\n <span translate>No match found.</span>\n <button\n title=\"{{ 'Add new`software type`' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary btn-xs m-l-8\"\n translate\n >\n Add new`software type`\n </button>\n </c8y-li>\n </ng-template>\n <ng-template #notFoundTypeTemplate>\n <c8y-li\n class=\"bg-level-2 p-8\"\n *ngIf=\"(search$ | async)?.length > 0 && (softwaresResult$ | async)?.data?.length === 0\"\n >\n <span translate>No match found. Refine your search terms or check your spelling.</span>\n </c8y-li>\n </ng-template>\n</c8y-typeahead>\n", dependencies: [{ kind: "component", type: TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "title", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2017
+ ], viewQueries: [{ propertyName: "deviceSoftwareTypeModel", first: true, predicate: ["deviceSoftwareTypeModel"], descendants: true }, { propertyName: "notFoundTypeAddNewTemplate", first: true, predicate: ["notFoundTypeAddNewTemplate"], descendants: true, static: true }, { propertyName: "notFoundTypeTemplate", first: true, predicate: ["notFoundTypeTemplate"], descendants: true, static: true }], ngImport: i0, template: "<c8y-typeahead\n [ngStyle]=\"style\"\n name=\"softwareType\"\n [(ngModel)]=\"softwareTypeMO\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowFreeEntries]=\"allowFreeEntries\"\n #deviceSoftwareTypeModel\n (onSearch)=\"search$.next($event)\"\n displayProperty=\"softwareType\"\n>\n @if (showClearSelectionOption) {\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"clearSoftware()\"\n [active]=\"!softwareTypeMO?.softwareType\"\n >\n <span>{{ clearSelectionOptionLabel | translate }}</span>\n </c8y-li>\n }\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *c8yFor=\"\n let software of softwaresResult$;\n pipe: filterPipe;\n loadMore: 'auto';\n notFound: notFoundTemplateToUse\n \"\n (click)=\"selectSoftware(software)\"\n [active]=\"softwareTypeMO?.softwareType === software.softwareType\"\n >\n <c8y-highlight\n [text]=\"software.softwareType || '--'\"\n [pattern]=\"search$ | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTypeAddNewTemplate>\n @if ((search$ | async)?.length > 0) {\n <c8y-li class=\"bg-level-2 p-8\">\n <span translate>No match found.</span>\n <button\n class=\"btn btn-primary btn-xs m-l-8\"\n title=\"{{ 'Add new`software type`' | translate }}\"\n type=\"button\"\n translate\n >\n Add new`software type`\n </button>\n </c8y-li>\n }\n </ng-template>\n <ng-template #notFoundTypeTemplate>\n @if ((search$ | async)?.length > 0 && (softwaresResult$ | async)?.data?.length === 0) {\n <c8y-li class=\"bg-level-2 p-8\">\n <span translate>No match found. Refine your search terms or check your spelling.</span>\n </c8y-li>\n }\n </ng-template>\n</c8y-typeahead>\n", dependencies: [{ kind: "component", type: TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "title", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2019
2018
  }
2020
2019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SoftwareTypeComponent, decorators: [{
2021
2020
  type: Component,
@@ -2034,14 +2033,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2034
2033
  TypeaheadComponent,
2035
2034
  FormsModule,
2036
2035
  NgStyle,
2037
- NgIf,
2038
2036
  ListItemComponent,
2039
2037
  ForOfDirective,
2040
2038
  HighlightComponent,
2041
2039
  C8yTranslateDirective,
2042
2040
  AsyncPipe,
2043
2041
  C8yTranslatePipe
2044
- ], template: "<c8y-typeahead\n [(ngModel)]=\"softwareTypeMO\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n name=\"softwareType\"\n [placeholder]=\"placeholder\"\n [allowFreeEntries]=\"allowFreeEntries\"\n #deviceSoftwareTypeModel\n (onSearch)=\"search$.next($event)\"\n displayProperty=\"softwareType\"\n [ngStyle]=\"style\"\n>\n <c8y-li\n *ngIf=\"showClearSelectionOption\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"clearSoftware()\"\n [active]=\"!softwareTypeMO?.softwareType\"\n >\n <span>{{ clearSelectionOptionLabel | translate }}</span>\n </c8y-li>\n <c8y-li\n *c8yFor=\"\n let software of softwaresResult$;\n pipe: filterPipe;\n loadMore: 'auto';\n notFound: notFoundTemplateToUse\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectSoftware(software)\"\n [active]=\"softwareTypeMO?.softwareType === software.softwareType\"\n >\n <c8y-highlight\n [text]=\"software.softwareType || '--'\"\n [pattern]=\"search$ | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTypeAddNewTemplate>\n <c8y-li class=\"bg-level-2 p-8\" *ngIf=\"(search$ | async)?.length > 0\">\n <span translate>No match found.</span>\n <button\n title=\"{{ 'Add new`software type`' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary btn-xs m-l-8\"\n translate\n >\n Add new`software type`\n </button>\n </c8y-li>\n </ng-template>\n <ng-template #notFoundTypeTemplate>\n <c8y-li\n class=\"bg-level-2 p-8\"\n *ngIf=\"(search$ | async)?.length > 0 && (softwaresResult$ | async)?.data?.length === 0\"\n >\n <span translate>No match found. Refine your search terms or check your spelling.</span>\n </c8y-li>\n </ng-template>\n</c8y-typeahead>\n" }]
2042
+ ], template: "<c8y-typeahead\n [ngStyle]=\"style\"\n name=\"softwareType\"\n [(ngModel)]=\"softwareTypeMO\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowFreeEntries]=\"allowFreeEntries\"\n #deviceSoftwareTypeModel\n (onSearch)=\"search$.next($event)\"\n displayProperty=\"softwareType\"\n>\n @if (showClearSelectionOption) {\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"clearSoftware()\"\n [active]=\"!softwareTypeMO?.softwareType\"\n >\n <span>{{ clearSelectionOptionLabel | translate }}</span>\n </c8y-li>\n }\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *c8yFor=\"\n let software of softwaresResult$;\n pipe: filterPipe;\n loadMore: 'auto';\n notFound: notFoundTemplateToUse\n \"\n (click)=\"selectSoftware(software)\"\n [active]=\"softwareTypeMO?.softwareType === software.softwareType\"\n >\n <c8y-highlight\n [text]=\"software.softwareType || '--'\"\n [pattern]=\"search$ | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTypeAddNewTemplate>\n @if ((search$ | async)?.length > 0) {\n <c8y-li class=\"bg-level-2 p-8\">\n <span translate>No match found.</span>\n <button\n class=\"btn btn-primary btn-xs m-l-8\"\n title=\"{{ 'Add new`software type`' | translate }}\"\n type=\"button\"\n translate\n >\n Add new`software type`\n </button>\n </c8y-li>\n }\n </ng-template>\n <ng-template #notFoundTypeTemplate>\n @if ((search$ | async)?.length > 0 && (softwaresResult$ | async)?.data?.length === 0) {\n <c8y-li class=\"bg-level-2 p-8\">\n <span translate>No match found. Refine your search terms or check your spelling.</span>\n </c8y-li>\n }\n </ng-template>\n</c8y-typeahead>\n" }]
2045
2043
  }], ctorParameters: () => [{ type: RepositoryService }, { type: i0.ChangeDetectorRef }, { type: i2$1.TranslateService }], propDecorators: { softwareTypeMO: [{
2046
2044
  type: Input
2047
2045
  }], disabled: [{