@c8y/ngx-components 1019.2.4 → 1019.2.8

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 (167) hide show
  1. package/core/common/forOf.directive.d.ts +10 -1
  2. package/core/common/forOf.directive.d.ts.map +1 -1
  3. package/core/common/geo.service.d.ts +9 -0
  4. package/core/common/geo.service.d.ts.map +1 -0
  5. package/core/common/index.d.ts +1 -0
  6. package/core/common/index.d.ts.map +1 -1
  7. package/core/common/load-more.component.d.ts +1 -0
  8. package/core/common/load-more.component.d.ts.map +1 -1
  9. package/core/core.module.d.ts +50 -49
  10. package/core/core.module.d.ts.map +1 -1
  11. package/core/index.d.ts +1 -0
  12. package/core/index.d.ts.map +1 -1
  13. package/core/realtime/realtime-button.component.d.ts +5 -2
  14. package/core/realtime/realtime-button.component.d.ts.map +1 -1
  15. package/core/router/context-route.service.d.ts +6 -5
  16. package/core/router/context-route.service.d.ts.map +1 -1
  17. package/core/time-interval/index.d.ts +3 -0
  18. package/core/time-interval/index.d.ts.map +1 -0
  19. package/core/time-interval/time-interval.component.d.ts +26 -0
  20. package/core/time-interval/time-interval.component.d.ts.map +1 -0
  21. package/core/time-interval/time-interval.model.d.ts +33 -0
  22. package/core/time-interval/time-interval.model.d.ts.map +1 -0
  23. package/esm2022/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +1 -1
  24. package/esm2022/core/audit-log/audit-log.component.mjs +1 -1
  25. package/esm2022/core/bootstrap/bootstrap.component.mjs +3 -3
  26. package/esm2022/core/common/forOf.directive.mjs +18 -2
  27. package/esm2022/core/common/geo.service.mjs +30 -0
  28. package/esm2022/core/common/index.mjs +2 -1
  29. package/esm2022/core/common/load-more.component.mjs +5 -2
  30. package/esm2022/core/core.module.mjs +11 -7
  31. package/esm2022/core/dynamic-forms/typeahead/typeahead.type.component.mjs +1 -1
  32. package/esm2022/core/index.mjs +2 -1
  33. package/esm2022/core/realtime/realtime-button.component.mjs +10 -4
  34. package/esm2022/core/router/context-route.service.mjs +10 -4
  35. package/esm2022/core/search/search-input.component.mjs +1 -1
  36. package/esm2022/core/time-interval/index.mjs +3 -0
  37. package/esm2022/core/time-interval/time-interval.component.mjs +85 -0
  38. package/esm2022/core/time-interval/time-interval.model.mjs +54 -0
  39. package/esm2022/datapoint-library/list/datapoint-library-list.component.mjs +2 -2
  40. package/esm2022/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.mjs +1 -1
  41. package/esm2022/device-profile/device-profile-list.component.mjs +1 -1
  42. package/esm2022/device-profile/device-tab-profile/device-tab-profile.component.mjs +1 -1
  43. package/esm2022/device-shell/shell/shell.component.mjs +1 -1
  44. package/esm2022/diagnostics/diagnostics.component.mjs +1 -1
  45. package/esm2022/ecosystem/applications/install-from-package/install-from-package.component.mjs +1 -1
  46. package/esm2022/ecosystem/shared/package-version-select/package-version-select.component.mjs +1 -1
  47. package/esm2022/location/location.component.mjs +1 -1
  48. package/esm2022/map/cluster-map.component.mjs +7 -7
  49. package/esm2022/map/map.component.mjs +92 -36
  50. package/esm2022/map/map.model.mjs +3 -2
  51. package/esm2022/operations/bulk-operations-list/bulk-operations-list.component.mjs +1 -1
  52. package/esm2022/operations/bulk-single-operations-list/single-operations-list.component.mjs +1 -1
  53. package/esm2022/operations/operations-list/operations-list.component.mjs +1 -1
  54. package/esm2022/operations/operations-timeline/operations-timeline.component.mjs +1 -1
  55. package/esm2022/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.mjs +1 -1
  56. package/esm2022/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.mjs +1 -1
  57. package/esm2022/operations/stepper-bulk-type-firmware/select-firmware.component.mjs +1 -1
  58. package/esm2022/operations/stepper-bulk-type-firmware/version-or-patch.component.mjs +1 -1
  59. package/esm2022/operations/stepper-bulk-type-software/select-software-step.component.mjs +1 -1
  60. package/esm2022/protocol-lpwan/lpwan-set-connections.component.mjs +1 -1
  61. package/esm2022/protocol-lpwan/lpwan-set-device-protocol.component.mjs +1 -1
  62. package/esm2022/repository/configuration/list/configuration-detail.component.mjs +1 -1
  63. package/esm2022/repository/configuration/list/configuration-list.component.mjs +1 -1
  64. package/esm2022/repository/firmware/list/add-firmware-modal.component.mjs +1 -1
  65. package/esm2022/repository/firmware/list/add-firmware-patch-modal.component.mjs +1 -1
  66. package/esm2022/repository/firmware/list/firmware-details.component.mjs +1 -1
  67. package/esm2022/repository/firmware/list/firmware-list.component.mjs +1 -1
  68. package/esm2022/repository/shared/software-type/software-type.component.mjs +1 -1
  69. package/esm2022/repository/software/device-tab/device-software-list.component.mjs +1 -1
  70. package/esm2022/repository/software/list/add-software-modal.component.mjs +1 -1
  71. package/esm2022/repository/software/list/columns/software-type.filtering-form-renderer.component.mjs +1 -1
  72. package/esm2022/repository/software/list/software-details.component.mjs +1 -1
  73. package/esm2022/sub-assets/location/asset-location.component.mjs +1 -1
  74. package/esm2022/tracking/c8y-ngx-components-tracking.mjs +5 -0
  75. package/esm2022/tracking/index.mjs +6 -0
  76. package/esm2022/tracking/tracking-marker-popup.component.mjs +34 -0
  77. package/esm2022/tracking/tracking-tab.guard.mjs +25 -0
  78. package/esm2022/tracking/tracking.component.mjs +92 -0
  79. package/esm2022/tracking/tracking.feature.mjs +16 -0
  80. package/esm2022/tracking/tracking.service.mjs +124 -0
  81. package/esm2022/trusted-certificates/crl/crl-settings.component.mjs +5 -5
  82. package/esm2022/trusted-certificates/list/trusted-certificate-list.component.mjs +1 -1
  83. package/esm2022/widgets/implementations/map/map-widget-config.component.mjs +2 -2
  84. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +1 -1
  85. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  86. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +1 -1
  87. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs.map +1 -1
  88. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +1 -1
  89. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  90. package/fesm2022/c8y-ngx-components-device-profile.mjs +2 -2
  91. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  92. package/fesm2022/c8y-ngx-components-device-shell.mjs +1 -1
  93. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  94. package/fesm2022/c8y-ngx-components-diagnostics.mjs +1 -1
  95. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  96. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
  97. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  98. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  99. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  100. package/fesm2022/c8y-ngx-components-location.mjs +1 -1
  101. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  102. package/fesm2022/c8y-ngx-components-map.mjs +95 -38
  103. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  104. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +1 -1
  105. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  106. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +1 -1
  107. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  108. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +1 -1
  109. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  110. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +1 -1
  111. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  112. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +1 -1
  113. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  114. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +1 -1
  115. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  116. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +2 -2
  117. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  118. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +1 -1
  119. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  120. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +2 -2
  121. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  122. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +2 -2
  123. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  124. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +4 -4
  125. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  126. package/fesm2022/c8y-ngx-components-repository-shared.mjs +1 -1
  127. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  128. package/fesm2022/c8y-ngx-components-repository-software.mjs +4 -4
  129. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  130. package/fesm2022/c8y-ngx-components-sub-assets.mjs +1 -1
  131. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  132. package/fesm2022/c8y-ngx-components-tracking.mjs +271 -0
  133. package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -0
  134. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +5 -5
  135. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  136. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +1 -1
  137. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  138. package/fesm2022/c8y-ngx-components.mjs +204 -16
  139. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  140. package/locales/de.po +158 -83
  141. package/locales/en.po +6 -0
  142. package/locales/fr.po +342 -186
  143. package/locales/locales.pot +34 -28
  144. package/locales/nl.po +326 -170
  145. package/locales/pt_BR.po +342 -186
  146. package/map/cluster-map.component.d.ts +3 -3
  147. package/map/cluster-map.component.d.ts.map +1 -1
  148. package/map/map.component.d.ts +17 -7
  149. package/map/map.component.d.ts.map +1 -1
  150. package/map/map.model.d.ts +14 -6
  151. package/map/map.model.d.ts.map +1 -1
  152. package/package.json +1 -1
  153. package/tracking/c8y-ngx-components-tracking.d.ts.map +1 -0
  154. package/tracking/index.d.ts +6 -0
  155. package/tracking/index.d.ts.map +1 -0
  156. package/tracking/tracking-marker-popup.component.d.ts +17 -0
  157. package/tracking/tracking-marker-popup.component.d.ts.map +1 -0
  158. package/tracking/tracking-tab.guard.d.ts +12 -0
  159. package/tracking/tracking-tab.guard.d.ts.map +1 -0
  160. package/tracking/tracking.component.d.ts +33 -0
  161. package/tracking/tracking.component.d.ts.map +1 -0
  162. package/tracking/tracking.feature.d.ts +3 -0
  163. package/tracking/tracking.feature.d.ts.map +1 -0
  164. package/tracking/tracking.service.d.ts +38 -0
  165. package/tracking/tracking.service.d.ts.map +1 -0
  166. package/trusted-certificates/crl/crl-settings.component.d.ts +1 -1
  167. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
@@ -837,7 +837,7 @@ class InstallFromPackageComponent {
837
837
  this.packages = applications.filter(app => this.ecosystemService.isPackageBlueprint(app));
838
838
  }
839
839
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InstallFromPackageComponent, deps: [{ token: i1.EcosystemService }, { token: i4.ApplicationService }, { token: i2.WizardComponent }, { token: i2.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
840
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InstallFromPackageComponent, selector: "c8y-install-from-package", viewQueries: [{ propertyName: "applicationPropertiesForm", first: true, predicate: ApplicationPropertiesFormComponent, descendants: true }], ngImport: i0, template: "<c8y-wizard-header>\n <i [c8yIcon]=\"'big-parcel'\"></i>\n <h4 id=\"modal-title\" translate>Install from extension package</h4>\n</c8y-wizard-header>\n<c8y-wizard-body>\n <ng-container *ngIf=\"!selectedPackage\">\n <div class=\"modal-inner-scroll\" id=\"modal-body\">\n <p class=\"p-16 text-medium text-center separator-bottom sticky-top bg-level-0\">\n {{ 'Select from available extension packages' | translate }}\n </p>\n\n <c8y-ui-empty-state\n *ngIf=\"!packages?.length\"\n [icon]=\"'big-parcel'\"\n [title]=\"'No extension packages to display.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <div *ngIf=\"packages?.length\" class=\"c8y-wizard-list-nav\" style=\"min-height: 257px\">\n <button\n class=\"list-group-item text-truncate\"\n *ngFor=\"let package of packages\"\n (click)=\"selectPackage(package)\"\n title=\"{{ package.name }}\"\n type=\"button\"\n >\n <i c8yIcon=\"big-parcel\" class=\"list-group-icon\"></i>\n <span [innerText]=\"package.name\"></span>\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isDeployed && selectedPackage\">\n <p class=\"p-16 text-center text-medium separator-bottom sticky-top bg-level-0\">\n {{ 'Provide application details' | translate }}\n </p>\n <div class=\"d-flex d-col a-i-center j-c-center\" style=\"min-height: 257px\">\n <c8y-application-properties-form\n *ngIf=\"!inProgress\"\n [application]=\"newAppConfig\"\n class=\"d-block fit-w\"\n ></c8y-application-properties-form>\n\n <ng-container *ngIf=\"!inProgress\">\n <div [ngStyle]=\"{ padding: '0 16px' }\" class=\"d-block fit-w bg-gray-white\">\n <label for=\"packageVersion\" translate>Use extension package version</label>\n <c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"model.selected\"\n name=\"packageVersion\"\n (onSearch)=\"onInput.next($event)\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let version of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onAppVersionSelect(version)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"model.selected === version\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <span\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'row',\n 'align-content': 'center',\n 'justify-content': 'space-between',\n 'align-items': 'center'\n }\"\n >\n <c8y-highlight\n [text]=\"version.version || '--'\"\n [pattern]=\"onInput | async\"\n ></c8y-highlight>\n\n <span>\n <span *ngFor=\"let tag of version.tags\" class=\"label label-info m-l-4\">\n {{ tag }}\n </span>\n </span>\n </span>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li\n class=\"bg-gray-lighter p-8\"\n *ngIf=\"(onInput | async)?.length > 0 && (versions$ | async)?.data?.length === 0\"\n >\n <span translate>No match found.</span>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n </div>\n </ng-container>\n\n <c8y-progress-bar\n [message]=\"'Installing\u2026' | translate\"\n class=\"text-center d-block\"\n *ngIf=\"inProgress\"\n ></c8y-progress-bar>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDeployed\">\n <div\n *ngIf=\"deployedWithSuccess; else failedDeploy\"\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 257px\"\n >\n <c8y-operation-result\n text=\"{{ 'Application created' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n type=\"success\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n <ng-template #failedDeploy>\n <div class=\"d-flex a-i-center j-c-center\" style=\"min-height: 257px\">\n <c8y-operation-result\n text=\"{{ 'Application creation failed' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n type=\"error\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n *ngIf=\"!isDeployed\"\n (click)=\"selectedPackage ? clean() : back()\"\n class=\"btn btn-default\"\n title=\"{{ 'Back' | translate }}\"\n [disabled]=\"inProgress\"\n type=\"button\"\n >\n {{ 'Back' | translate }}\n </button>\n <button\n title=\"{{ isDeployed && deployedWithSuccess ? ('Close' | translate) : ('Cancel' | translate) }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n >\n {{ isDeployed && deployedWithSuccess ? ('Close' | translate) : ('Cancel' | translate) }}\n </button>\n\n <button\n title=\"{{ 'Install' | translate }}\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"deployApp()\"\n [disabled]=\"inProgress || !packages?.length\"\n *ngIf=\"!isDeployed\"\n >\n {{ 'Install' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { 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: i2.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount"] }, { kind: "component", type: i2.ProgressBarComponent, selector: "c8y-progress-bar", inputs: ["message", "progress"] }, { kind: "component", type: i2.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: i2.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: i2.TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected"], outputs: ["onSearch", "onIconClick"] }, { 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: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "component", type: i2.WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "component", type: i2.WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "component", type: i1.ApplicationPropertiesFormComponent, selector: "c8y-application-properties-form", inputs: ["application", "disabled"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
840
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InstallFromPackageComponent, selector: "c8y-install-from-package", viewQueries: [{ propertyName: "applicationPropertiesForm", first: true, predicate: ApplicationPropertiesFormComponent, descendants: true }], ngImport: i0, template: "<c8y-wizard-header>\n <i [c8yIcon]=\"'big-parcel'\"></i>\n <h4 id=\"modal-title\" translate>Install from extension package</h4>\n</c8y-wizard-header>\n<c8y-wizard-body>\n <ng-container *ngIf=\"!selectedPackage\">\n <div class=\"modal-inner-scroll\" id=\"modal-body\">\n <p class=\"p-16 text-medium text-center separator-bottom sticky-top bg-level-0\">\n {{ 'Select from available extension packages' | translate }}\n </p>\n\n <c8y-ui-empty-state\n *ngIf=\"!packages?.length\"\n [icon]=\"'big-parcel'\"\n [title]=\"'No extension packages to display.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <div *ngIf=\"packages?.length\" class=\"c8y-wizard-list-nav\" style=\"min-height: 257px\">\n <button\n class=\"list-group-item text-truncate\"\n *ngFor=\"let package of packages\"\n (click)=\"selectPackage(package)\"\n title=\"{{ package.name }}\"\n type=\"button\"\n >\n <i c8yIcon=\"big-parcel\" class=\"list-group-icon\"></i>\n <span [innerText]=\"package.name\"></span>\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isDeployed && selectedPackage\">\n <p class=\"p-16 text-center text-medium separator-bottom sticky-top bg-level-0\">\n {{ 'Provide application details' | translate }}\n </p>\n <div class=\"d-flex d-col a-i-center j-c-center\" style=\"min-height: 257px\">\n <c8y-application-properties-form\n *ngIf=\"!inProgress\"\n [application]=\"newAppConfig\"\n class=\"d-block fit-w\"\n ></c8y-application-properties-form>\n\n <ng-container *ngIf=\"!inProgress\">\n <div [ngStyle]=\"{ padding: '0 16px' }\" class=\"d-block fit-w bg-gray-white\">\n <label for=\"packageVersion\" translate>Use extension package version</label>\n <c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"model.selected\"\n name=\"packageVersion\"\n (onSearch)=\"onInput.next($event)\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let version of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onAppVersionSelect(version)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"model.selected === version\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <span\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'row',\n 'align-content': 'center',\n 'justify-content': 'space-between',\n 'align-items': 'center'\n }\"\n >\n <c8y-highlight\n [text]=\"version.version || '--'\"\n [pattern]=\"onInput | async\"\n ></c8y-highlight>\n\n <span>\n <span *ngFor=\"let tag of version.tags\" class=\"label label-info m-l-4\">\n {{ tag }}\n </span>\n </span>\n </span>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li\n class=\"bg-gray-lighter p-8\"\n *ngIf=\"(onInput | async)?.length > 0 && (versions$ | async)?.data?.length === 0\"\n >\n <span translate>No match found.</span>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n </div>\n </ng-container>\n\n <c8y-progress-bar\n [message]=\"'Installing\u2026' | translate\"\n class=\"text-center d-block\"\n *ngIf=\"inProgress\"\n ></c8y-progress-bar>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDeployed\">\n <div\n *ngIf=\"deployedWithSuccess; else failedDeploy\"\n class=\"d-flex a-i-center j-c-center\"\n style=\"min-height: 257px\"\n >\n <c8y-operation-result\n text=\"{{ 'Application created' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n type=\"success\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n <ng-template #failedDeploy>\n <div class=\"d-flex a-i-center j-c-center\" style=\"min-height: 257px\">\n <c8y-operation-result\n text=\"{{ 'Application creation failed' | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n type=\"error\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n *ngIf=\"!isDeployed\"\n (click)=\"selectedPackage ? clean() : back()\"\n class=\"btn btn-default\"\n title=\"{{ 'Back' | translate }}\"\n [disabled]=\"inProgress\"\n type=\"button\"\n >\n {{ 'Back' | translate }}\n </button>\n <button\n title=\"{{ isDeployed && deployedWithSuccess ? ('Close' | translate) : ('Cancel' | translate) }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n >\n {{ isDeployed && deployedWithSuccess ? ('Close' | translate) : ('Cancel' | translate) }}\n </button>\n\n <button\n title=\"{{ 'Install' | translate }}\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"deployApp()\"\n [disabled]=\"inProgress || !packages?.length\"\n *ngIf=\"!isDeployed\"\n >\n {{ 'Install' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { 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: i2.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForLoadMoreComponent"] }, { kind: "component", type: i2.ProgressBarComponent, selector: "c8y-progress-bar", inputs: ["message", "progress"] }, { kind: "component", type: i2.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: i2.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: i2.TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected"], outputs: ["onSearch", "onIconClick"] }, { 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: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "component", type: i2.WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "component", type: i2.WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "component", type: i1.ApplicationPropertiesFormComponent, selector: "c8y-application-properties-form", inputs: ["application", "disabled"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
841
841
  }
842
842
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InstallFromPackageComponent, decorators: [{
843
843
  type: Component,