@c8y/ngx-components 1020.28.11 → 1020.33.1
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.
- package/bookmarks/bookmarks.service.d.ts +3 -2
- package/bookmarks/bookmarks.service.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts.map +1 -1
- package/core/common/common.module.d.ts +2 -2
- package/core/common/humanize-app-name.model.d.ts +2 -2
- package/core/common/humanize-app-name.pipe.d.ts.map +1 -1
- package/core/dashboard/dashboard.model.d.ts +1 -0
- package/core/dashboard/dashboard.model.d.ts.map +1 -1
- package/core/dashboard/widgets-dashboard.component.d.ts +1 -0
- package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
- package/core/data-grid/data-grid.model.d.ts +1 -1
- package/core/data-grid/data-grid.model.d.ts.map +1 -1
- package/core/data-grid/visible-controls.pipe.d.ts +3 -2
- package/core/data-grid/visible-controls.pipe.d.ts.map +1 -1
- package/esm2022/bookmarks/bookmarks.service.mjs +9 -7
- package/esm2022/context-dashboard/context-dashboard.service.mjs +6 -3
- package/esm2022/context-dashboard/device-info-dashboard/device-info-dashboard.component.mjs +39 -3
- package/esm2022/core/common/common.module.mjs +3 -3
- package/esm2022/core/common/humanize-app-name.model.mjs +3 -3
- package/esm2022/core/common/humanize-app-name.pipe.mjs +6 -5
- package/esm2022/core/dashboard/dashboard.model.mjs +2 -2
- package/esm2022/core/dashboard/widgets-dashboard.component.mjs +12 -3
- package/esm2022/core/data-grid/data-grid.component.mjs +3 -3
- package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
- package/esm2022/core/data-grid/visible-controls.pipe.mjs +5 -4
- package/esm2022/core/docs/defaults.items.mjs +2 -2
- package/esm2022/protocol-opcua/opcua-device-protocol-data-reporting.component.mjs +3 -3
- package/esm2022/repository/configuration/list/configuration-list.component.mjs +107 -60
- package/esm2022/repository/shared/columns/device-type.cell-renderer.component.mjs +7 -3
- package/esm2022/repository/shared/columns/device-type.grid-column.mjs +2 -2
- package/esm2022/repository/shared/columns/file.cell-renderer.component.mjs +39 -0
- package/esm2022/repository/shared/columns/file.grid-column.mjs +13 -0
- package/esm2022/repository/shared/columns/name.cell-renderer.component.mjs +26 -5
- package/esm2022/repository/shared/columns/name.grid-column.mjs +1 -1
- package/esm2022/repository/shared/columns/type.cell-renderer.component.mjs +18 -0
- package/esm2022/repository/shared/columns/type.filtering-form-renderer.component.mjs +115 -0
- package/esm2022/repository/shared/columns/type.grid-column.mjs +29 -0
- package/esm2022/repository/shared/index.mjs +10 -1
- package/esm2022/repository/software/list/software-list.component.mjs +9 -4
- package/esm2022/repository/software/list/software-repository-list.module.mjs +3 -15
- package/esm2022/widgets/definitions/device-management-welcome/index.mjs +2 -2
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.mjs +22 -5
- package/fesm2022/c8y-ngx-components-bookmarks.mjs +7 -5
- package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +43 -4
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +2 -2
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +118 -68
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +283 -81
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +31 -154
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +24 -9
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +27 -17
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +6 -0
- package/locales/es.po +6 -0
- package/locales/fr.po +6 -0
- package/locales/ja_JP.po +6 -0
- package/locales/locales.pot +38 -23
- package/locales/nl.po +6 -0
- package/locales/pl.po +6 -0
- package/locales/pt_BR.po +6 -0
- package/package.json +1 -1
- package/repository/configuration/list/configuration-list.component.d.ts +21 -17
- package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
- package/repository/shared/columns/device-type.cell-renderer.component.d.ts +4 -1
- package/repository/shared/columns/device-type.cell-renderer.component.d.ts.map +1 -1
- package/repository/shared/columns/device-type.grid-column.d.ts +1 -0
- package/repository/shared/columns/device-type.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/file.cell-renderer.component.d.ts +15 -0
- package/repository/shared/columns/file.cell-renderer.component.d.ts.map +1 -0
- package/repository/shared/columns/file.grid-column.d.ts +8 -0
- package/repository/shared/columns/file.grid-column.d.ts.map +1 -0
- package/repository/shared/columns/name.cell-renderer.component.d.ts.map +1 -1
- package/repository/shared/columns/name.grid-column.d.ts +3 -1
- package/repository/shared/columns/name.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/type.cell-renderer.component.d.ts +9 -0
- package/repository/shared/columns/type.cell-renderer.component.d.ts.map +1 -0
- package/repository/{software/list/columns/software-type.filtering-form-renderer.component.d.ts → shared/columns/type.filtering-form-renderer.component.d.ts} +9 -8
- package/repository/shared/columns/type.filtering-form-renderer.component.d.ts.map +1 -0
- package/repository/shared/columns/type.grid-column.d.ts +20 -0
- package/repository/shared/columns/type.grid-column.d.ts.map +1 -0
- package/repository/shared/index.d.ts +9 -0
- package/repository/shared/index.d.ts.map +1 -1
- package/repository/software/list/software-list.component.d.ts.map +1 -1
- package/repository/software/list/software-repository-list.module.d.ts +8 -10
- package/repository/software/list/software-repository-list.module.d.ts.map +1 -1
- package/widgets/definitions/device-management-welcome/index.d.ts +1 -1
- package/widgets/definitions/device-management-welcome/index.d.ts.map +1 -1
- package/widgets/device-management/index.d.ts +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts +5 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts.map +1 -1
- package/esm2022/repository/software/list/columns/software-type.cell-renderer.component.mjs +0 -17
- package/esm2022/repository/software/list/columns/software-type.filtering-form-renderer.component.mjs +0 -93
- package/esm2022/repository/software/list/columns/software-type.grid-column.mjs +0 -28
- package/repository/software/list/columns/software-type.cell-renderer.component.d.ts +0 -9
- package/repository/software/list/columns/software-type.cell-renderer.component.d.ts.map +0 -1
- package/repository/software/list/columns/software-type.filtering-form-renderer.component.d.ts.map +0 -1
- package/repository/software/list/columns/software-type.grid-column.d.ts +0 -5
- package/repository/software/list/columns/software-type.grid-column.d.ts.map +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import * as i1 from '@c8y/ngx-components';
|
|
2
|
-
import { BaseColumn, gettext, getBasicInputArrayFormFieldConfig, CommonModule, memoize, ModalSelectionMode, PRODUCT_EXPERIENCE_EVENT_SOURCE, toObservable,
|
|
2
|
+
import { BaseColumn, gettext, getBasicInputArrayFormFieldConfig, CommonModule, memoize, TypeaheadComponent, C8yTranslatePipe, CoreModule, ModalSelectionMode, PRODUCT_EXPERIENCE_EVENT_SOURCE, toObservable, FormsModule as FormsModule$1, OperationRealtimeService } from '@c8y/ngx-components';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, Injectable, Input, EventEmitter, forwardRef,
|
|
5
|
-
import * as
|
|
4
|
+
import { Component, Injectable, ChangeDetectionStrategy, ViewChild, HostListener, Input, EventEmitter, forwardRef, Output, NgModule } from '@angular/core';
|
|
5
|
+
import * as i3 from '@angular/router';
|
|
6
6
|
import { RouterModule } from '@angular/router';
|
|
7
7
|
import { DeviceGridModule } from '@c8y/ngx-components/device-grid';
|
|
8
|
+
import { get, head, isNil, set, assign, isUndefined, isString, cloneDeep, map as map$1, omitBy, pick, remove, forEach, find, property, uniqBy, has, isEmpty, isEqual } from 'lodash-es';
|
|
8
9
|
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
9
|
-
import * as
|
|
10
|
+
import * as i4 from '@angular/common';
|
|
10
11
|
import { CommonModule as CommonModule$1 } from '@angular/common';
|
|
11
12
|
import { __decorate, __metadata } from 'tslib';
|
|
12
|
-
import { head, isNil, set, assign, isUndefined, get, isString, cloneDeep, map as map$1, omitBy, pick, remove, forEach, find, property, has, isEmpty, isEqual, uniqBy } from 'lodash-es';
|
|
13
|
-
import { of, from, defer, throwError, merge, Observable, Subject, BehaviorSubject, pipe, interval } from 'rxjs';
|
|
14
|
-
import { map, take, switchMap, withLatestFrom, filter, takeWhile, shareReplay, mergeMap, tap, debounce } from 'rxjs/operators';
|
|
15
13
|
import * as i1$1 from '@c8y/client';
|
|
16
14
|
import { QueriesUtil, OperationStatus } from '@c8y/client';
|
|
15
|
+
import { of, from, defer, throwError, merge, NEVER, BehaviorSubject, pipe, Observable, Subject, interval } from 'rxjs';
|
|
16
|
+
import { map, take, switchMap, withLatestFrom, filter, takeWhile, tap, debounceTime, shareReplay, mergeMap, debounce } from 'rxjs/operators';
|
|
17
|
+
import * as i5 from '@angular/forms';
|
|
18
|
+
import { FormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
17
19
|
import { saveAs } from 'file-saver';
|
|
18
|
-
import * as i2
|
|
20
|
+
import * as i2 from '@ngx-translate/core';
|
|
19
21
|
import { PopoverModule } from 'ngx-bootstrap/popover';
|
|
20
|
-
import * as i5 from '@angular/forms';
|
|
21
|
-
import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
22
22
|
|
|
23
23
|
class DescriptionGridColumn extends BaseColumn {
|
|
24
24
|
constructor(initialColumnConfig) {
|
|
@@ -54,19 +54,22 @@ class DeviceTypeCellRendererComponent {
|
|
|
54
54
|
constructor(context) {
|
|
55
55
|
this.context = context;
|
|
56
56
|
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
this.deviceType = get(this.context?.item, this.context?.property?.path);
|
|
59
|
+
}
|
|
57
60
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DeviceTypeCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: DeviceTypeCellRendererComponent, isStandalone: true, selector: "c8y-device-type-cell-renderer", ngImport: i0, template: "<span *ngIf=\"
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: DeviceTypeCellRendererComponent, isStandalone: true, selector: "c8y-device-type-cell-renderer", ngImport: i0, template: "<span *ngIf=\"deviceType; else emptyText\">\n {{ deviceType }}\n</span>\n<ng-template #emptyText>\n <small class=\"text-muted\">\n <em translate>Undefined`device type`</em>\n </small>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DeviceGridModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: RouterModule }] }); }
|
|
59
62
|
}
|
|
60
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DeviceTypeCellRendererComponent, decorators: [{
|
|
61
64
|
type: Component,
|
|
62
|
-
args: [{ selector: 'c8y-device-type-cell-renderer', standalone: true, imports: [CommonModule, DeviceGridModule, TooltipModule, RouterModule], template: "<span *ngIf=\"
|
|
65
|
+
args: [{ selector: 'c8y-device-type-cell-renderer', standalone: true, imports: [CommonModule, DeviceGridModule, TooltipModule, RouterModule], template: "<span *ngIf=\"deviceType; else emptyText\">\n {{ deviceType }}\n</span>\n<ng-template #emptyText>\n <small class=\"text-muted\">\n <em translate>Undefined`device type`</em>\n </small>\n</ng-template>\n" }]
|
|
63
66
|
}], ctorParameters: () => [{ type: i1.CellRendererContext }] });
|
|
64
67
|
|
|
65
68
|
class DeviceTypeGridColumn extends BaseColumn {
|
|
66
69
|
constructor(initialColumnConfig) {
|
|
67
70
|
super(initialColumnConfig);
|
|
68
71
|
this.name = 'deviceType';
|
|
69
|
-
this.path = 'c8y_Filter.type';
|
|
72
|
+
this.path = initialColumnConfig?.path ?? 'c8y_Filter.type';
|
|
70
73
|
this.header = gettext('Device type');
|
|
71
74
|
this.cellRendererComponent = DeviceTypeCellRendererComponent;
|
|
72
75
|
this.filterable = true;
|
|
@@ -114,62 +117,6 @@ class DeviceTypeGridColumn extends BaseColumn {
|
|
|
114
117
|
}
|
|
115
118
|
}
|
|
116
119
|
|
|
117
|
-
class RepositoryItemNameCellRendererComponent {
|
|
118
|
-
constructor(context) {
|
|
119
|
-
this.context = context;
|
|
120
|
-
}
|
|
121
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositoryItemNameCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
122
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: RepositoryItemNameCellRendererComponent, isStandalone: true, selector: "c8y-repository-item-name-cell-renderer", ngImport: i0, template: `
|
|
123
|
-
<a class="interact" [title]="context.item.name" [routerLink]="[context.item.id]">
|
|
124
|
-
{{ context.item.name }}
|
|
125
|
-
</a>
|
|
126
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DeviceGridModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
127
|
-
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositoryItemNameCellRendererComponent, decorators: [{
|
|
129
|
-
type: Component,
|
|
130
|
-
args: [{
|
|
131
|
-
template: `
|
|
132
|
-
<a class="interact" [title]="context.item.name" [routerLink]="[context.item.id]">
|
|
133
|
-
{{ context.item.name }}
|
|
134
|
-
</a>
|
|
135
|
-
`,
|
|
136
|
-
selector: 'c8y-repository-item-name-cell-renderer',
|
|
137
|
-
standalone: true,
|
|
138
|
-
imports: [CommonModule, DeviceGridModule, TooltipModule, RouterModule]
|
|
139
|
-
}]
|
|
140
|
-
}], ctorParameters: () => [{ type: i1.CellRendererContext }] });
|
|
141
|
-
|
|
142
|
-
class RepositoryItemNameGridColumn extends BaseColumn {
|
|
143
|
-
constructor(initialColumnConfig) {
|
|
144
|
-
super(initialColumnConfig);
|
|
145
|
-
this.name = 'name';
|
|
146
|
-
this.path = 'name';
|
|
147
|
-
this.header = gettext('Name');
|
|
148
|
-
this.cellRendererComponent = RepositoryItemNameCellRendererComponent;
|
|
149
|
-
this.filterable = true;
|
|
150
|
-
this.filteringConfig = {
|
|
151
|
-
fields: getBasicInputArrayFormFieldConfig({
|
|
152
|
-
key: 'names',
|
|
153
|
-
label: initialColumnConfig?.filterLabel ?? gettext('Filter item by name'),
|
|
154
|
-
addText: gettext('Add next`name`'),
|
|
155
|
-
tooltip: gettext('Use * as a wildcard character'),
|
|
156
|
-
placeholder: initialColumnConfig?.placeholder ?? gettext('Cloud connectivity')
|
|
157
|
-
}),
|
|
158
|
-
getFilter(model) {
|
|
159
|
-
const filter = {};
|
|
160
|
-
if (model.names.length) {
|
|
161
|
-
filter.name = { __in: model.names };
|
|
162
|
-
}
|
|
163
|
-
return filter;
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
this.sortable = true;
|
|
167
|
-
this.sortingConfig = {
|
|
168
|
-
pathSortingConfigs: [{ path: this.path }]
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
120
|
var RepositoryType;
|
|
174
121
|
(function (RepositoryType) {
|
|
175
122
|
RepositoryType["FIRMWARE"] = "c8y_Firmware";
|
|
@@ -1324,6 +1271,261 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
1324
1271
|
type: Injectable
|
|
1325
1272
|
}], ctorParameters: () => [{ type: i1$1.InventoryService }, { type: i1$1.InventoryBinaryService }, { type: i1$1.OperationService }, { type: i1.AlertService }, { type: i1$1.EventService }, { type: i1.OperationRealtimeService }, { type: i1$1.EventBinaryService }, { type: i1.ServiceRegistry }, { type: i1.GlobalConfigService }] });
|
|
1326
1273
|
|
|
1274
|
+
class FileCellRendererComponent {
|
|
1275
|
+
constructor(context, inventoryBinaryService, repositoryService) {
|
|
1276
|
+
this.context = context;
|
|
1277
|
+
this.inventoryBinaryService = inventoryBinaryService;
|
|
1278
|
+
this.repositoryService = repositoryService;
|
|
1279
|
+
}
|
|
1280
|
+
isBinaryFile() {
|
|
1281
|
+
return this.context.item?.url
|
|
1282
|
+
? !!this.inventoryBinaryService.getIdFromUrl(this.context.item.url)
|
|
1283
|
+
: false;
|
|
1284
|
+
}
|
|
1285
|
+
getBinaryName(configuration) {
|
|
1286
|
+
return this.repositoryService.getBinaryName$(configuration.url);
|
|
1287
|
+
}
|
|
1288
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FileCellRendererComponent, deps: [{ token: i1.CellRendererContext }, { token: i1$1.InventoryBinaryService }, { token: RepositoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1289
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: FileCellRendererComponent, isStandalone: true, selector: "c8y-file-cell-renderer", providers: [RepositoryService], ngImport: i0, template: "<small\n title=\"{{ getBinaryName(context.item) | async }}\"\n *ngIf=\"isBinaryFile(); else noFile\"\n>\n {{ getBinaryName(context.item) | async }}\n</small>\n<ng-template #noFile>\n <small title=\"{{ context.item?.url }}\">\n {{ context.item?.url }}\n </small>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
1290
|
+
}
|
|
1291
|
+
__decorate([
|
|
1292
|
+
memoize(property('id')),
|
|
1293
|
+
__metadata("design:type", Function),
|
|
1294
|
+
__metadata("design:paramtypes", [Object]),
|
|
1295
|
+
__metadata("design:returntype", void 0)
|
|
1296
|
+
], FileCellRendererComponent.prototype, "getBinaryName", null);
|
|
1297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FileCellRendererComponent, decorators: [{
|
|
1298
|
+
type: Component,
|
|
1299
|
+
args: [{ selector: 'c8y-file-cell-renderer', standalone: true, imports: [CommonModule], providers: [RepositoryService], template: "<small\n title=\"{{ getBinaryName(context.item) | async }}\"\n *ngIf=\"isBinaryFile(); else noFile\"\n>\n {{ getBinaryName(context.item) | async }}\n</small>\n<ng-template #noFile>\n <small title=\"{{ context.item?.url }}\">\n {{ context.item?.url }}\n </small>\n</ng-template>\n" }]
|
|
1300
|
+
}], ctorParameters: () => [{ type: i1.CellRendererContext }, { type: i1$1.InventoryBinaryService }, { type: RepositoryService }], propDecorators: { getBinaryName: [] } });
|
|
1301
|
+
|
|
1302
|
+
class FileGridColumn extends BaseColumn {
|
|
1303
|
+
constructor(initialColumnConfig) {
|
|
1304
|
+
super(initialColumnConfig);
|
|
1305
|
+
this.name = 'file';
|
|
1306
|
+
this.header = gettext('File');
|
|
1307
|
+
this.cellRendererComponent = FileCellRendererComponent;
|
|
1308
|
+
this.filterable = false;
|
|
1309
|
+
this.sortable = false;
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
class RepositoryItemNameCellRendererComponent {
|
|
1314
|
+
constructor(context) {
|
|
1315
|
+
this.context = context;
|
|
1316
|
+
}
|
|
1317
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositoryItemNameCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1318
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: RepositoryItemNameCellRendererComponent, isStandalone: true, selector: "c8y-repository-item-name-cell-renderer", ngImport: i0, template: `
|
|
1319
|
+
<a
|
|
1320
|
+
class="interact"
|
|
1321
|
+
[title]="context.item.name"
|
|
1322
|
+
*ngIf="context?.property?.callback; else router"
|
|
1323
|
+
(click)="context.property.callback(context.item)"
|
|
1324
|
+
>
|
|
1325
|
+
{{ context.item.name }}
|
|
1326
|
+
</a>
|
|
1327
|
+
<ng-template #router>
|
|
1328
|
+
<a class="interact" [title]="context.item.name" [routerLink]="[context.item.id]">
|
|
1329
|
+
{{ context.item.name }}
|
|
1330
|
+
</a>
|
|
1331
|
+
</ng-template>
|
|
1332
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DeviceGridModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
1333
|
+
}
|
|
1334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositoryItemNameCellRendererComponent, decorators: [{
|
|
1335
|
+
type: Component,
|
|
1336
|
+
args: [{
|
|
1337
|
+
template: `
|
|
1338
|
+
<a
|
|
1339
|
+
class="interact"
|
|
1340
|
+
[title]="context.item.name"
|
|
1341
|
+
*ngIf="context?.property?.callback; else router"
|
|
1342
|
+
(click)="context.property.callback(context.item)"
|
|
1343
|
+
>
|
|
1344
|
+
{{ context.item.name }}
|
|
1345
|
+
</a>
|
|
1346
|
+
<ng-template #router>
|
|
1347
|
+
<a class="interact" [title]="context.item.name" [routerLink]="[context.item.id]">
|
|
1348
|
+
{{ context.item.name }}
|
|
1349
|
+
</a>
|
|
1350
|
+
</ng-template>
|
|
1351
|
+
`,
|
|
1352
|
+
selector: 'c8y-repository-item-name-cell-renderer',
|
|
1353
|
+
standalone: true,
|
|
1354
|
+
imports: [CommonModule, DeviceGridModule, TooltipModule, RouterModule]
|
|
1355
|
+
}]
|
|
1356
|
+
}], ctorParameters: () => [{ type: i1.CellRendererContext }] });
|
|
1357
|
+
|
|
1358
|
+
class RepositoryItemNameGridColumn extends BaseColumn {
|
|
1359
|
+
constructor(initialColumnConfig) {
|
|
1360
|
+
super(initialColumnConfig);
|
|
1361
|
+
this.name = 'name';
|
|
1362
|
+
this.path = 'name';
|
|
1363
|
+
this.header = gettext('Name');
|
|
1364
|
+
this.cellRendererComponent = RepositoryItemNameCellRendererComponent;
|
|
1365
|
+
this.filterable = true;
|
|
1366
|
+
this.filteringConfig = {
|
|
1367
|
+
fields: getBasicInputArrayFormFieldConfig({
|
|
1368
|
+
key: 'names',
|
|
1369
|
+
label: initialColumnConfig?.filterLabel ?? gettext('Filter item by name'),
|
|
1370
|
+
addText: gettext('Add next`name`'),
|
|
1371
|
+
tooltip: gettext('Use * as a wildcard character'),
|
|
1372
|
+
placeholder: initialColumnConfig?.placeholder ?? gettext('Cloud connectivity')
|
|
1373
|
+
}),
|
|
1374
|
+
getFilter(model) {
|
|
1375
|
+
const filter = {};
|
|
1376
|
+
if (model.names.length) {
|
|
1377
|
+
filter.name = { __in: model.names };
|
|
1378
|
+
}
|
|
1379
|
+
return filter;
|
|
1380
|
+
}
|
|
1381
|
+
};
|
|
1382
|
+
this.sortable = true;
|
|
1383
|
+
this.sortingConfig = {
|
|
1384
|
+
pathSortingConfigs: [{ path: this.path }]
|
|
1385
|
+
};
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
class TypeCellRendererComponent {
|
|
1390
|
+
constructor(context) {
|
|
1391
|
+
this.context = context;
|
|
1392
|
+
}
|
|
1393
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TypeCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1394
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: TypeCellRendererComponent, isStandalone: true, selector: "c8y-type-cell-renderer", ngImport: i0, template: "<span\n class=\"label label-info\"\n *ngIf=\"!!context?.item?.[context?.property?.path]; else emptyText\"\n>\n {{ context.item[context.property.path] }}\n</span>\n<ng-template #emptyText>\n <small class=\"text-muted\">\n <em translate>Undefined`type`</em>\n </small>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1395
|
+
}
|
|
1396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TypeCellRendererComponent, decorators: [{
|
|
1397
|
+
type: Component,
|
|
1398
|
+
args: [{ standalone: true, selector: 'c8y-type-cell-renderer', imports: [CommonModule$1], template: "<span\n class=\"label label-info\"\n *ngIf=\"!!context?.item?.[context?.property?.path]; else emptyText\"\n>\n {{ context.item[context.property.path] }}\n</span>\n<ng-template #emptyText>\n <small class=\"text-muted\">\n <em translate>Undefined`type`</em>\n </small>\n</ng-template>\n" }]
|
|
1399
|
+
}], ctorParameters: () => [{ type: i1.CellRendererContext }] });
|
|
1400
|
+
|
|
1401
|
+
class TypeFilteringFormRendererComponent {
|
|
1402
|
+
constructor(context, changeDetectorRef, repositoryService, elementRef) {
|
|
1403
|
+
this.context = context;
|
|
1404
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
1405
|
+
this.repositoryService = repositoryService;
|
|
1406
|
+
this.elementRef = elementRef;
|
|
1407
|
+
this.types$ = NEVER;
|
|
1408
|
+
this.search$ = new BehaviorSubject(null);
|
|
1409
|
+
this.filterPipe = pipe(tap());
|
|
1410
|
+
this.typeaheadPlaceholder = gettext('Start typing to search, for example, {{ example }}');
|
|
1411
|
+
this.queriesUtil = new QueriesUtil();
|
|
1412
|
+
this.types = new Set();
|
|
1413
|
+
this.path = context.property.path;
|
|
1414
|
+
this.types$ = this.search$.pipe(debounceTime(300), tap(() => this.types.clear()), switchMap((searchString) => {
|
|
1415
|
+
let query = this.queriesUtil.prependOrderbys({}, [{ [this.path]: 1 }]);
|
|
1416
|
+
const filter = !!searchString
|
|
1417
|
+
? {
|
|
1418
|
+
[this.path]: {
|
|
1419
|
+
__eq: `*${searchString}*`
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
: {
|
|
1423
|
+
__has: this.path
|
|
1424
|
+
};
|
|
1425
|
+
query = this.queriesUtil.addAndFilter(query, filter);
|
|
1426
|
+
return this.repositoryService.listRepositoryEntries(this.context.property.repositoryType, {
|
|
1427
|
+
skipDefaultOrder: true,
|
|
1428
|
+
query,
|
|
1429
|
+
params: {
|
|
1430
|
+
pageSize: 200
|
|
1431
|
+
}
|
|
1432
|
+
});
|
|
1433
|
+
}));
|
|
1434
|
+
this.filterPipe = pipe(map(this.removeDuplicatesType.bind(this)), tap(() => setTimeout(() => this.changeDetectorRef.detectChanges(), 0)));
|
|
1435
|
+
}
|
|
1436
|
+
onEnterKeyUp(event) {
|
|
1437
|
+
event.stopPropagation();
|
|
1438
|
+
this.applyFilter();
|
|
1439
|
+
}
|
|
1440
|
+
onEscapeKeyDown(event) {
|
|
1441
|
+
event.stopPropagation();
|
|
1442
|
+
this.context.resetFilter();
|
|
1443
|
+
}
|
|
1444
|
+
ngOnInit() {
|
|
1445
|
+
const column = this.context.property;
|
|
1446
|
+
this.selectedType = cloneDeep(column.externalFilterQuery || {});
|
|
1447
|
+
}
|
|
1448
|
+
ngAfterViewInit() {
|
|
1449
|
+
this.typeahead?.searchControl?.nativeElement?.focus();
|
|
1450
|
+
try {
|
|
1451
|
+
this.elementRef.nativeElement.parentElement.parentElement.style.overflow = 'visible';
|
|
1452
|
+
}
|
|
1453
|
+
catch (ex) {
|
|
1454
|
+
// intentionally empty
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
applyFilter() {
|
|
1458
|
+
this.context.applyFilter({
|
|
1459
|
+
externalFilterQuery: {
|
|
1460
|
+
model: this.selectedType,
|
|
1461
|
+
chips: [
|
|
1462
|
+
{
|
|
1463
|
+
value: this.selectedType,
|
|
1464
|
+
displayValue: this.selectedType?.[this.path],
|
|
1465
|
+
path: [this.path],
|
|
1466
|
+
columnName: this.context.property.name,
|
|
1467
|
+
remove: () => {
|
|
1468
|
+
return {
|
|
1469
|
+
columnName: this.context.property.name,
|
|
1470
|
+
externalFilterQuery: {
|
|
1471
|
+
model: null,
|
|
1472
|
+
chips: []
|
|
1473
|
+
}
|
|
1474
|
+
};
|
|
1475
|
+
}
|
|
1476
|
+
}
|
|
1477
|
+
]
|
|
1478
|
+
}
|
|
1479
|
+
});
|
|
1480
|
+
}
|
|
1481
|
+
removeDuplicatesType(list) {
|
|
1482
|
+
const uniqueByType = uniqBy(list, this.path).filter((mo) => !this.types.has(mo[this.path]));
|
|
1483
|
+
uniqueByType.forEach((mo) => this.types.add(mo[this.path]));
|
|
1484
|
+
return uniqueByType;
|
|
1485
|
+
}
|
|
1486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TypeFilteringFormRendererComponent, deps: [{ token: i1.FilteringFormRendererContext }, { token: i0.ChangeDetectorRef }, { token: RepositoryService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1487
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: TypeFilteringFormRendererComponent, isStandalone: true, selector: "c8y-type-filtering-form-renderer", host: { listeners: { "keyup.enter": "onEnterKeyUp($event)", "keydown.escape": "onEscapeKeyDown($event)" } }, viewQueries: [{ propertyName: "typeahead", first: true, predicate: TypeaheadComponent, descendants: true }], ngImport: i0, template: "<c8y-form-group>\n <label>\n {{ context?.property?.filterLabel | translate }}\n </label>\n <c8y-typeahead\n placeholder=\"{{ typeaheadPlaceholder | translate: { example: context?.property?.example } }}\"\n [name]=\"path\"\n [(ngModel)]=\"selectedType\"\n [displayProperty]=\"path\"\n (onSearch)=\"search$.next($event)\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *c8yFor=\"let type of types$; pipe: filterPipe; loadMore: 'auto'\"\n (click)=\"$event.stopPropagation(); selectedType = type; typeahead.dropdown.hide()\"\n [active]=\"selectedType?.[path] === type?.[path]\"\n >\n <c8y-highlight\n [text]=\"type?.[path] || '--'\"\n [pattern]=\"search$.value\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n</c8y-form-group>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"context.resetFilter()\"\n translate\n >\n Reset\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n (click)=\"applyFilter()\"\n translate\n >\n Apply\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i1.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: CoreModule }, { kind: "component", type: i1.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: i1.TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected"], outputs: ["onSearch", "onIconClick"] }, { kind: "component", type: i1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i1.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
1488
|
+
}
|
|
1489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TypeFilteringFormRendererComponent, decorators: [{
|
|
1490
|
+
type: Component,
|
|
1491
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.Default, selector: 'c8y-type-filtering-form-renderer', imports: [CommonModule$1, C8yTranslatePipe, CommonModule, FormsModule, CoreModule], template: "<c8y-form-group>\n <label>\n {{ context?.property?.filterLabel | translate }}\n </label>\n <c8y-typeahead\n placeholder=\"{{ typeaheadPlaceholder | translate: { example: context?.property?.example } }}\"\n [name]=\"path\"\n [(ngModel)]=\"selectedType\"\n [displayProperty]=\"path\"\n (onSearch)=\"search$.next($event)\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *c8yFor=\"let type of types$; pipe: filterPipe; loadMore: 'auto'\"\n (click)=\"$event.stopPropagation(); selectedType = type; typeahead.dropdown.hide()\"\n [active]=\"selectedType?.[path] === type?.[path]\"\n >\n <c8y-highlight\n [text]=\"type?.[path] || '--'\"\n [pattern]=\"search$.value\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n</c8y-form-group>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"context.resetFilter()\"\n translate\n >\n Reset\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n (click)=\"applyFilter()\"\n translate\n >\n Apply\n </button>\n</div>\n" }]
|
|
1492
|
+
}], ctorParameters: () => [{ type: i1.FilteringFormRendererContext }, { type: i0.ChangeDetectorRef }, { type: RepositoryService }, { type: i0.ElementRef }], propDecorators: { typeahead: [{
|
|
1493
|
+
type: ViewChild,
|
|
1494
|
+
args: [TypeaheadComponent, { static: false }]
|
|
1495
|
+
}], onEnterKeyUp: [{
|
|
1496
|
+
type: HostListener,
|
|
1497
|
+
args: ['keyup.enter', ['$event']]
|
|
1498
|
+
}], onEscapeKeyDown: [{
|
|
1499
|
+
type: HostListener,
|
|
1500
|
+
args: ['keydown.escape', ['$event']]
|
|
1501
|
+
}] } });
|
|
1502
|
+
|
|
1503
|
+
class TypeGridColumn extends BaseColumn {
|
|
1504
|
+
constructor(initialColumnConfig) {
|
|
1505
|
+
super(initialColumnConfig);
|
|
1506
|
+
this.name = 'type';
|
|
1507
|
+
this.path = initialColumnConfig?.path ?? 'type';
|
|
1508
|
+
this.header = initialColumnConfig?.header ?? gettext('Type');
|
|
1509
|
+
this.repositoryType = initialColumnConfig?.repositoryType;
|
|
1510
|
+
this.cellRendererComponent = TypeCellRendererComponent;
|
|
1511
|
+
this.filterable = true;
|
|
1512
|
+
this.filteringFormRendererComponent = TypeFilteringFormRendererComponent;
|
|
1513
|
+
this.filteringConfig = {
|
|
1514
|
+
getFilter: query => {
|
|
1515
|
+
const filter = {};
|
|
1516
|
+
if (query.model[this.path]) {
|
|
1517
|
+
filter[this.path] = { __eq: query.model[this.path] };
|
|
1518
|
+
}
|
|
1519
|
+
return filter;
|
|
1520
|
+
}
|
|
1521
|
+
};
|
|
1522
|
+
this.sortable = true;
|
|
1523
|
+
this.sortingConfig = {
|
|
1524
|
+
pathSortingConfigs: [{ path: this.path }]
|
|
1525
|
+
};
|
|
1526
|
+
}
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1327
1529
|
class VersionsCellRendererComponent {
|
|
1328
1530
|
constructor(context, repositoryService) {
|
|
1329
1531
|
this.context = context;
|
|
@@ -1335,7 +1537,7 @@ class VersionsCellRendererComponent {
|
|
|
1335
1537
|
return this.repositoryService.getBaseVersionsCount$(item).pipe(shareReplay(1));
|
|
1336
1538
|
}
|
|
1337
1539
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: VersionsCellRendererComponent, deps: [{ token: i1.CellRendererContext }, { token: RepositoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1338
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.9", type: VersionsCellRendererComponent, isStandalone: true, selector: "c8y-versions-cell-renderer", ngImport: i0, template: "@if (isLegacy(item)) {\n <span\n class=\"label label-warning m-l-auto-sm\"\n translate\n >\n Legacy\n </span>\n} @else {\n @if (getBaseVersionsCount$(item) | async; as baseVersionsCount) {\n <span class=\"badge badge-info m-l-auto-sm\">\n {{ baseVersionsCount }}\n </span>\n } @else {\n <span class=\"badge badge-info m-l-auto-sm\">\n <i\n class=\"icon-spin\"\n c8yIcon=\"circle-o-notch\"\n ></i>\n </span>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type:
|
|
1540
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.9", type: VersionsCellRendererComponent, isStandalone: true, selector: "c8y-versions-cell-renderer", ngImport: i0, template: "@if (isLegacy(item)) {\n <span\n class=\"label label-warning m-l-auto-sm\"\n translate\n >\n Legacy\n </span>\n} @else {\n @if (getBaseVersionsCount$(item) | async; as baseVersionsCount) {\n <span class=\"badge badge-info m-l-auto-sm\">\n {{ baseVersionsCount }}\n </span>\n } @else {\n <span class=\"badge badge-info m-l-auto-sm\">\n <i\n class=\"icon-spin\"\n c8yIcon=\"circle-o-notch\"\n ></i>\n </span>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DeviceGridModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: RouterModule }] }); }
|
|
1339
1541
|
}
|
|
1340
1542
|
__decorate([
|
|
1341
1543
|
memoize(property('id')),
|
|
@@ -1406,7 +1608,7 @@ class FileDownloadComponent {
|
|
|
1406
1608
|
}
|
|
1407
1609
|
}
|
|
1408
1610
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FileDownloadComponent, deps: [{ token: RepositoryService }, { token: i1$1.InventoryBinaryService }, { token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: FileDownloadComponent, selector: "c8y-file-download", inputs: { url: "url" }, ngImport: i0, template: "<a\n *ngIf=\"determineBehavior() === linkRenderType.LINK\"\n href=\"{{ url }}\"\n class=\"pointer\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n>\n {{ getBinaryName$(url) | async }}\n</a>\n\n<span *ngIf=\"determineBehavior() === linkRenderType.TEXTONLY\">{{\n getBinaryName$(url) | async\n}}</span>\n\n<span *ngIf=\"determineBehavior() === linkRenderType.DOWNLOAD\">\n <a *ngIf=\"!isDownloading\" class=\"pointer\" (click)=\"downloadFile()\">\n {{ getBinaryName$(url) | async }}\n </a>\n\n <span *ngIf=\"isDownloading\">\n <i c8yIcon=\"spinner\" class=\"icon-spin\"></i> {{ 'Downloading\u2026' | translate }}\n </span>\n</span>\n", dependencies: [{ kind: "directive", type:
|
|
1611
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: FileDownloadComponent, selector: "c8y-file-download", inputs: { url: "url" }, ngImport: i0, template: "<a\n *ngIf=\"determineBehavior() === linkRenderType.LINK\"\n href=\"{{ url }}\"\n class=\"pointer\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n>\n {{ getBinaryName$(url) | async }}\n</a>\n\n<span *ngIf=\"determineBehavior() === linkRenderType.TEXTONLY\">{{\n getBinaryName$(url) | async\n}}</span>\n\n<span *ngIf=\"determineBehavior() === linkRenderType.DOWNLOAD\">\n <a *ngIf=\"!isDownloading\" class=\"pointer\" (click)=\"downloadFile()\">\n {{ getBinaryName$(url) | async }}\n </a>\n\n <span *ngIf=\"isDownloading\">\n <i c8yIcon=\"spinner\" class=\"icon-spin\"></i> {{ 'Downloading\u2026' | translate }}\n </span>\n</span>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
|
|
1410
1612
|
}
|
|
1411
1613
|
__decorate([
|
|
1412
1614
|
memoize(),
|
|
@@ -1673,13 +1875,13 @@ class RepositorySelectModalComponent {
|
|
|
1673
1875
|
};
|
|
1674
1876
|
return selectModalObject;
|
|
1675
1877
|
}
|
|
1676
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositorySelectModalComponent, deps: [{ token: RepositoryService }, { token: i2
|
|
1878
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositorySelectModalComponent, deps: [{ token: RepositoryService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1677
1879
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: RepositorySelectModalComponent, selector: "c8y-repository-select-modal", providers: [
|
|
1678
1880
|
{
|
|
1679
1881
|
provide: PRODUCT_EXPERIENCE_EVENT_SOURCE,
|
|
1680
1882
|
useExisting: forwardRef(() => RepositorySelectModalComponent)
|
|
1681
1883
|
}
|
|
1682
|
-
], ngImport: i0, template: "<c8y-select-modal\n [icon]=\"icon\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [items]=\"modalEntries | async\"\n [mode]=\"mode\"\n [disableSelected]=\"disableSelected\"\n [labels]=\"labels\"\n [showFilter]=\"showFilter\"\n [additionalFilterTemplate]=\"additionalFilterTemplate\"\n [areMoreEntries]=\"areMoreEntries\"\n [noItemsMessage]=\"noItemsMessage\"\n [hideEmptyItems]=\"hideEmptyItems\"\n (search)=\"search({ name: $event })\"\n (onChoiceUpdated)=\"onChoiceUpdated.emit($event)\"\n (result)=\"result($event)\"\n c8yProductExperience\n inherit\n suppressDataOverriding\n [actionData]=\"{ component: PRODUCT_EXPERIENCE.SHARED.COMPONENTS.REPOSITORY_SELECT_MODAL }\"\n></c8y-select-modal>\n", dependencies: [{ kind: "component", type: i1.SelectModalComponent, selector: "c8y-select-modal", inputs: ["icon", "title", "subTitle", "items", "mode", "disableSelected", "showFilter", "additionalFilterTemplate", "areMoreEntries", "labels", "noItemsMessage", "hideEmptyItems"], outputs: ["result", "search", "onChoiceUpdated"] }, { kind: "directive", type: i1.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type:
|
|
1884
|
+
], ngImport: i0, template: "<c8y-select-modal\n [icon]=\"icon\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [items]=\"modalEntries | async\"\n [mode]=\"mode\"\n [disableSelected]=\"disableSelected\"\n [labels]=\"labels\"\n [showFilter]=\"showFilter\"\n [additionalFilterTemplate]=\"additionalFilterTemplate\"\n [areMoreEntries]=\"areMoreEntries\"\n [noItemsMessage]=\"noItemsMessage\"\n [hideEmptyItems]=\"hideEmptyItems\"\n (search)=\"search({ name: $event })\"\n (onChoiceUpdated)=\"onChoiceUpdated.emit($event)\"\n (result)=\"result($event)\"\n c8yProductExperience\n inherit\n suppressDataOverriding\n [actionData]=\"{ component: PRODUCT_EXPERIENCE.SHARED.COMPONENTS.REPOSITORY_SELECT_MODAL }\"\n></c8y-select-modal>\n", dependencies: [{ kind: "component", type: i1.SelectModalComponent, selector: "c8y-select-modal", inputs: ["icon", "title", "subTitle", "items", "mode", "disableSelected", "showFilter", "additionalFilterTemplate", "areMoreEntries", "labels", "noItemsMessage", "hideEmptyItems"], outputs: ["result", "search", "onChoiceUpdated"] }, { kind: "directive", type: i1.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
1683
1885
|
}
|
|
1684
1886
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RepositorySelectModalComponent, decorators: [{
|
|
1685
1887
|
type: Component,
|
|
@@ -1689,7 +1891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
1689
1891
|
useExisting: forwardRef(() => RepositorySelectModalComponent)
|
|
1690
1892
|
}
|
|
1691
1893
|
], template: "<c8y-select-modal\n [icon]=\"icon\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [items]=\"modalEntries | async\"\n [mode]=\"mode\"\n [disableSelected]=\"disableSelected\"\n [labels]=\"labels\"\n [showFilter]=\"showFilter\"\n [additionalFilterTemplate]=\"additionalFilterTemplate\"\n [areMoreEntries]=\"areMoreEntries\"\n [noItemsMessage]=\"noItemsMessage\"\n [hideEmptyItems]=\"hideEmptyItems\"\n (search)=\"search({ name: $event })\"\n (onChoiceUpdated)=\"onChoiceUpdated.emit($event)\"\n (result)=\"result($event)\"\n c8yProductExperience\n inherit\n suppressDataOverriding\n [actionData]=\"{ component: PRODUCT_EXPERIENCE.SHARED.COMPONENTS.REPOSITORY_SELECT_MODAL }\"\n></c8y-select-modal>\n" }]
|
|
1692
|
-
}], ctorParameters: () => [{ type: RepositoryService }, { type: i2
|
|
1894
|
+
}], ctorParameters: () => [{ type: RepositoryService }, { type: i2.TranslateService }] });
|
|
1693
1895
|
|
|
1694
1896
|
class SoftwareTypeComponent {
|
|
1695
1897
|
set presetSoftwareTypes(types) {
|
|
@@ -1795,7 +1997,7 @@ class SoftwareTypeComponent {
|
|
|
1795
1997
|
uniqueBySoftwareType.forEach((sw) => this.softwareTypes.add(sw.softwareType));
|
|
1796
1998
|
return uniqueBySoftwareType;
|
|
1797
1999
|
}
|
|
1798
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SoftwareTypeComponent, deps: [{ token: RepositoryService }, { token: i0.ChangeDetectorRef }, { token: i2
|
|
2000
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SoftwareTypeComponent, deps: [{ token: RepositoryService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1799
2001
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: SoftwareTypeComponent, 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: [
|
|
1800
2002
|
{
|
|
1801
2003
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1807,7 +2009,7 @@ class SoftwareTypeComponent {
|
|
|
1807
2009
|
useExisting: forwardRef(() => SoftwareTypeComponent),
|
|
1808
2010
|
multi: true
|
|
1809
2011
|
}
|
|
1810
|
-
], 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: "directive", type:
|
|
2012
|
+
], 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: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i1.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: i1.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: i1.TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected"], outputs: ["onSearch", "onIconClick"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
|
|
1811
2013
|
}
|
|
1812
2014
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SoftwareTypeComponent, decorators: [{
|
|
1813
2015
|
type: Component,
|
|
@@ -1823,7 +2025,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
1823
2025
|
multi: true
|
|
1824
2026
|
}
|
|
1825
2027
|
], 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" }]
|
|
1826
|
-
}], ctorParameters: () => [{ type: RepositoryService }, { type: i0.ChangeDetectorRef }, { type: i2
|
|
2028
|
+
}], ctorParameters: () => [{ type: RepositoryService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }], propDecorators: { softwareTypeMO: [{
|
|
1827
2029
|
type: Input
|
|
1828
2030
|
}], disabled: [{
|
|
1829
2031
|
type: Input
|
|
@@ -1860,13 +2062,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
1860
2062
|
|
|
1861
2063
|
class SharedRepositoryModule {
|
|
1862
2064
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SharedRepositoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1863
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: SharedRepositoryModule, declarations: [RepositorySelectModalComponent, FileDownloadComponent, SoftwareTypeComponent], imports: [CommonModule$1, CoreModule, FormsModule, PopoverModule], exports: [RepositorySelectModalComponent, FileDownloadComponent, SoftwareTypeComponent] }); }
|
|
1864
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SharedRepositoryModule, providers: [RepositoryService, OperationRealtimeService], imports: [CommonModule$1, CoreModule, FormsModule, PopoverModule] }); }
|
|
2065
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: SharedRepositoryModule, declarations: [RepositorySelectModalComponent, FileDownloadComponent, SoftwareTypeComponent], imports: [CommonModule$1, CoreModule, FormsModule$1, PopoverModule], exports: [RepositorySelectModalComponent, FileDownloadComponent, SoftwareTypeComponent] }); }
|
|
2066
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SharedRepositoryModule, providers: [RepositoryService, OperationRealtimeService], imports: [CommonModule$1, CoreModule, FormsModule$1, PopoverModule] }); }
|
|
1865
2067
|
}
|
|
1866
2068
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SharedRepositoryModule, decorators: [{
|
|
1867
2069
|
type: NgModule,
|
|
1868
2070
|
args: [{
|
|
1869
|
-
imports: [CommonModule$1, CoreModule, FormsModule, PopoverModule],
|
|
2071
|
+
imports: [CommonModule$1, CoreModule, FormsModule$1, PopoverModule],
|
|
1870
2072
|
declarations: [RepositorySelectModalComponent, FileDownloadComponent, SoftwareTypeComponent],
|
|
1871
2073
|
providers: [RepositoryService, OperationRealtimeService],
|
|
1872
2074
|
exports: [RepositorySelectModalComponent, FileDownloadComponent, SoftwareTypeComponent]
|
|
@@ -1877,5 +2079,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
1877
2079
|
* Generated bundle index. Do not edit.
|
|
1878
2080
|
*/
|
|
1879
2081
|
|
|
1880
|
-
export { DescriptionGridColumn, DeviceConfigurationOperation, DeviceTypeGridColumn, FileDownloadComponent, PRODUCT_EXPERIENCE_REPOSITORY_SHARED, REPOSITORY_BINARY_TYPES, RepositoryItemNameGridColumn, RepositorySelectModalComponent, RepositoryService, RepositoryType, SharedRepositoryModule, SoftwareTypeComponent, VersionsGridColumn };
|
|
2082
|
+
export { DescriptionGridColumn, DeviceConfigurationOperation, DeviceTypeCellRendererComponent, DeviceTypeGridColumn, FileCellRendererComponent, FileDownloadComponent, FileGridColumn, LinkRenderType, PRODUCT_EXPERIENCE_REPOSITORY_SHARED, REPOSITORY_BINARY_TYPES, RepositoryItemNameCellRendererComponent, RepositoryItemNameGridColumn, RepositorySelectModalComponent, RepositoryService, RepositoryType, SharedRepositoryModule, SoftwareTypeComponent, TypeCellRendererComponent, TypeFilteringFormRendererComponent, TypeGridColumn, VersionsCellRendererComponent, VersionsGridColumn };
|
|
1881
2083
|
//# sourceMappingURL=c8y-ngx-components-repository-shared.mjs.map
|