@c8y/ngx-components 1021.22.86 → 1021.22.90

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 (64) hide show
  1. package/bookmarks/bookmarks.component.d.ts +4 -6
  2. package/bookmarks/bookmarks.component.d.ts.map +1 -1
  3. package/core/plugins/plugins.service.d.ts +9 -0
  4. package/core/plugins/plugins.service.d.ts.map +1 -1
  5. package/esm2022/bookmarks/bookmarks.component.mjs +15 -18
  6. package/esm2022/core/plugins/plugins.service.mjs +24 -9
  7. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.mjs +3 -3
  8. package/esm2022/operations/bulk-operations-service/bulk-operations.service.mjs +21 -2
  9. package/esm2022/operations/bulk-single-operations-list/bulk-single-operations-list.module.mjs +9 -7
  10. package/esm2022/operations/bulk-single-operations-list/single-operation-item.component.mjs +4 -1
  11. package/esm2022/operations/bulk-single-operations-list/single-operations-list.component.mjs +94 -20
  12. package/esm2022/operations/grid-columns/c8y-ngx-components-operations-grid-columns.mjs +5 -0
  13. package/esm2022/operations/grid-columns/creation-time.cell-renderer.component.mjs +28 -0
  14. package/esm2022/operations/grid-columns/creation-time.grid-column.mjs +14 -0
  15. package/esm2022/operations/grid-columns/device.cell-renderer.component.mjs +50 -0
  16. package/esm2022/operations/grid-columns/device.grid-column.mjs +14 -0
  17. package/esm2022/operations/grid-columns/failure-reason.cell-renderer.component.mjs +54 -0
  18. package/esm2022/operations/grid-columns/failure-reason.grid-column.mjs +14 -0
  19. package/esm2022/operations/grid-columns/index.mjs +9 -0
  20. package/esm2022/operations/grid-columns/status.cell-renderer.component.mjs +43 -0
  21. package/esm2022/operations/grid-columns/status.grid-column.mjs +15 -0
  22. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -14
  23. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  24. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +2 -2
  25. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  26. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +20 -1
  27. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs.map +1 -1
  28. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +102 -21
  29. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  30. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +214 -0
  31. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs.map +1 -0
  32. package/fesm2022/c8y-ngx-components.mjs +23 -8
  33. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  34. package/locales/de.po +11 -11
  35. package/locales/fr.po +21 -22
  36. package/locales/ja_JP.po +22 -11
  37. package/operations/bulk-operations-service/bulk-operations.service.d.ts +5 -3
  38. package/operations/bulk-operations-service/bulk-operations.service.d.ts.map +1 -1
  39. package/operations/bulk-single-operations-list/bulk-single-operations-list.module.d.ts +10 -8
  40. package/operations/bulk-single-operations-list/bulk-single-operations-list.module.d.ts.map +1 -1
  41. package/operations/bulk-single-operations-list/single-operation-item.component.d.ts +3 -0
  42. package/operations/bulk-single-operations-list/single-operation-item.component.d.ts.map +1 -1
  43. package/operations/bulk-single-operations-list/single-operations-list.component.d.ts +18 -4
  44. package/operations/bulk-single-operations-list/single-operations-list.component.d.ts.map +1 -1
  45. package/operations/grid-columns/c8y-ngx-components-operations-grid-columns.d.ts.map +1 -0
  46. package/operations/grid-columns/creation-time.cell-renderer.component.d.ts +9 -0
  47. package/operations/grid-columns/creation-time.cell-renderer.component.d.ts.map +1 -0
  48. package/operations/grid-columns/creation-time.grid-column.d.ts +5 -0
  49. package/operations/grid-columns/creation-time.grid-column.d.ts.map +1 -0
  50. package/operations/grid-columns/device.cell-renderer.component.d.ts +14 -0
  51. package/operations/grid-columns/device.cell-renderer.component.d.ts.map +1 -0
  52. package/operations/grid-columns/device.grid-column.d.ts +5 -0
  53. package/operations/grid-columns/device.grid-column.d.ts.map +1 -0
  54. package/operations/grid-columns/failure-reason.cell-renderer.component.d.ts +9 -0
  55. package/operations/grid-columns/failure-reason.cell-renderer.component.d.ts.map +1 -0
  56. package/operations/grid-columns/failure-reason.grid-column.d.ts +5 -0
  57. package/operations/grid-columns/failure-reason.grid-column.d.ts.map +1 -0
  58. package/operations/grid-columns/index.d.ts +9 -0
  59. package/operations/grid-columns/index.d.ts.map +1 -0
  60. package/operations/grid-columns/status.cell-renderer.component.d.ts +11 -0
  61. package/operations/grid-columns/status.cell-renderer.component.d.ts.map +1 -0
  62. package/operations/grid-columns/status.grid-column.d.ts +5 -0
  63. package/operations/grid-columns/status.grid-column.d.ts.map +1 -0
  64. package/package.json +1 -1
@@ -0,0 +1,214 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, inject } from '@angular/core';
3
+ import * as i1 from '@c8y/ngx-components';
4
+ import { CommonModule, BaseColumn, gettext, DeviceStatusModule, C8yTranslatePipe } from '@c8y/ngx-components';
5
+ import * as i3 from 'ngx-bootstrap/tooltip';
6
+ import { TooltipModule } from 'ngx-bootstrap/tooltip';
7
+ import * as i2 from '@angular/router';
8
+ import { RouterModule } from '@angular/router';
9
+ import { InventoryService } from '@c8y/client';
10
+ import * as i2$1 from '@angular/common';
11
+ import { OPERATION_STATUS_OPTIONS_MAP } from '@c8y/ngx-components/operations/shared';
12
+
13
+ class CreationTimeCellRendererComponent {
14
+ constructor(context) {
15
+ this.context = context;
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CreationTimeCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CreationTimeCellRendererComponent, isStandalone: true, selector: "c8y-creation-time-cell-renderer", ngImport: i0, template: `<small class="icon-flex text-muted">
19
+ <i class="m-r-4" c8yIcon="calendar"></i>
20
+ {{ context.item.creationTime | c8yDate }}
21
+ </small>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.DatePipe, name: "c8yDate" }, { kind: "ngmodule", type: TooltipModule }] }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CreationTimeCellRendererComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ template: `<small class="icon-flex text-muted">
27
+ <i class="m-r-4" c8yIcon="calendar"></i>
28
+ {{ context.item.creationTime | c8yDate }}
29
+ </small>`,
30
+ selector: 'c8y-creation-time-cell-renderer',
31
+ standalone: true,
32
+ imports: [CommonModule, TooltipModule]
33
+ }]
34
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
35
+
36
+ class CreationTimeGridColumn extends BaseColumn {
37
+ constructor(initialColumnConfig) {
38
+ super(initialColumnConfig);
39
+ this.name = 'creationTime';
40
+ this.path = 'creationTime';
41
+ this.header = gettext('Creation time');
42
+ this.cellRendererComponent = CreationTimeCellRendererComponent;
43
+ this.filterable = false;
44
+ this.sortable = false;
45
+ }
46
+ }
47
+
48
+ class DeviceCellRendererComponent {
49
+ constructor(context) {
50
+ this.context = context;
51
+ this.inventoryService = inject(InventoryService);
52
+ }
53
+ async ngOnInit() {
54
+ this.device = (await this.inventoryService.detail(this.context.item.deviceId))?.data;
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DeviceCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DeviceCellRendererComponent, isStandalone: true, selector: "c8y-operation-device-cell-renderer", ngImport: i0, template: `
58
+ <span class="m-r-4">
59
+ <device-status [mo]="device || {}"></device-status>
60
+ </span>
61
+ <a
62
+ class="interact"
63
+ [title]="context.item.deviceName"
64
+ [routerLink]="['/device', context.item.deviceId, 'device-info']"
65
+ >
66
+ {{ context.item.deviceName }}
67
+ </a>
68
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: DeviceStatusModule }, { kind: "component", type: i1.DeviceStatusComponent, selector: "device-status, c8y-device-status", inputs: ["mo", "size"] }] }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DeviceCellRendererComponent, decorators: [{
71
+ type: Component,
72
+ args: [{
73
+ template: `
74
+ <span class="m-r-4">
75
+ <device-status [mo]="device || {}"></device-status>
76
+ </span>
77
+ <a
78
+ class="interact"
79
+ [title]="context.item.deviceName"
80
+ [routerLink]="['/device', context.item.deviceId, 'device-info']"
81
+ >
82
+ {{ context.item.deviceName }}
83
+ </a>
84
+ `,
85
+ selector: 'c8y-operation-device-cell-renderer',
86
+ standalone: true,
87
+ imports: [CommonModule, RouterModule, DeviceStatusModule]
88
+ }]
89
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
90
+
91
+ class DeviceGridColumn extends BaseColumn {
92
+ constructor(initialColumnConfig) {
93
+ super(initialColumnConfig);
94
+ this.name = 'deviceName';
95
+ this.path = 'deviceName';
96
+ this.header = gettext('Device');
97
+ this.cellRendererComponent = DeviceCellRendererComponent;
98
+ this.filterable = false;
99
+ this.sortable = false;
100
+ }
101
+ }
102
+
103
+ class FailureReasonCellRendererComponent {
104
+ constructor(context) {
105
+ this.context = context;
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FailureReasonCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: FailureReasonCellRendererComponent, isStandalone: true, selector: "c8y-failure-reason-cell-renderer", ngImport: i0, template: ` <div class="d-flex">
109
+ <span class="text-truncate" #failureReason>
110
+ {{ context.value | translate }}
111
+ </span>
112
+ <button
113
+ class="btn-help btn-help--sm"
114
+ [attr.aria-label]="'Help' | translate"
115
+ [tooltip]="context.value | translate"
116
+ placement="left"
117
+ container="body"
118
+ type="button"
119
+ *ngIf="failureReason.offsetWidth < failureReason.scrollWidth"
120
+ >
121
+ <i [c8yIcon]="'info-circle'"></i>
122
+ </button>
123
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FailureReasonCellRendererComponent, decorators: [{
126
+ type: Component,
127
+ args: [{
128
+ template: ` <div class="d-flex">
129
+ <span class="text-truncate" #failureReason>
130
+ {{ context.value | translate }}
131
+ </span>
132
+ <button
133
+ class="btn-help btn-help--sm"
134
+ [attr.aria-label]="'Help' | translate"
135
+ [tooltip]="context.value | translate"
136
+ placement="left"
137
+ container="body"
138
+ type="button"
139
+ *ngIf="failureReason.offsetWidth < failureReason.scrollWidth"
140
+ >
141
+ <i [c8yIcon]="'info-circle'"></i>
142
+ </button>
143
+ </div>`,
144
+ selector: 'c8y-failure-reason-cell-renderer',
145
+ standalone: true,
146
+ imports: [CommonModule, TooltipModule]
147
+ }]
148
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
149
+
150
+ class FailureReasonGridColumn extends BaseColumn {
151
+ constructor(initialColumnConfig) {
152
+ super(initialColumnConfig);
153
+ this.name = 'failureReason';
154
+ this.path = 'failureReason';
155
+ this.header = gettext('Failure reason');
156
+ this.cellRendererComponent = FailureReasonCellRendererComponent;
157
+ this.filterable = false;
158
+ this.sortable = false;
159
+ }
160
+ }
161
+
162
+ class StatusCellRendererComponent {
163
+ constructor(context) {
164
+ this.context = context;
165
+ this.OPERATION_STATUS_OPTIONS_MAP = OPERATION_STATUS_OPTIONS_MAP;
166
+ }
167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: StatusCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: StatusCellRendererComponent, isStandalone: true, selector: "c8y-operation-status-cell-renderer", ngImport: i0, template: `
169
+ <i
170
+ [c8yIcon]="OPERATION_STATUS_OPTIONS_MAP[context.item.status].icon"
171
+ style="font-size: 20px"
172
+ [tooltip]="context.item.status.toString() | translate"
173
+ container="body"
174
+ [ngClass]="OPERATION_STATUS_OPTIONS_MAP[context.item.status].styleClass"
175
+ ></i>
176
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
177
+ }
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: StatusCellRendererComponent, decorators: [{
179
+ type: Component,
180
+ args: [{
181
+ template: `
182
+ <i
183
+ [c8yIcon]="OPERATION_STATUS_OPTIONS_MAP[context.item.status].icon"
184
+ style="font-size: 20px"
185
+ [tooltip]="context.item.status.toString() | translate"
186
+ container="body"
187
+ [ngClass]="OPERATION_STATUS_OPTIONS_MAP[context.item.status].styleClass"
188
+ ></i>
189
+ `,
190
+ selector: 'c8y-operation-status-cell-renderer',
191
+ standalone: true,
192
+ imports: [CommonModule, RouterModule, C8yTranslatePipe, TooltipModule]
193
+ }]
194
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
195
+
196
+ class OperationStatusGridColumn extends BaseColumn {
197
+ constructor(initialColumnConfig) {
198
+ super(initialColumnConfig);
199
+ this.name = 'status';
200
+ this.path = 'status';
201
+ this.header = gettext('Status');
202
+ this.cellRendererComponent = StatusCellRendererComponent;
203
+ this.filterable = false;
204
+ this.sortable = false;
205
+ this.gridTrackSize = '76px';
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Generated bundle index. Do not edit.
211
+ */
212
+
213
+ export { CreationTimeCellRendererComponent, CreationTimeGridColumn, DeviceCellRendererComponent, DeviceGridColumn, FailureReasonCellRendererComponent, FailureReasonGridColumn, OperationStatusGridColumn, StatusCellRendererComponent };
214
+ //# sourceMappingURL=c8y-ngx-components-operations-grid-columns.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c8y-ngx-components-operations-grid-columns.mjs","sources":["../../operations/grid-columns/creation-time.cell-renderer.component.ts","../../operations/grid-columns/creation-time.grid-column.ts","../../operations/grid-columns/device.cell-renderer.component.ts","../../operations/grid-columns/device.grid-column.ts","../../operations/grid-columns/failure-reason.cell-renderer.component.ts","../../operations/grid-columns/failure-reason.grid-column.ts","../../operations/grid-columns/status.cell-renderer.component.ts","../../operations/grid-columns/status.grid-column.ts","../../operations/grid-columns/c8y-ngx-components-operations-grid-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CellRendererContext, CommonModule } from '@c8y/ngx-components';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n@Component({\n template: `<small class=\"icon-flex text-muted\">\n <i class=\"m-r-4\" c8yIcon=\"calendar\"></i>\n {{ context.item.creationTime | c8yDate }}\n </small>`,\n selector: 'c8y-creation-time-cell-renderer',\n standalone: true,\n imports: [CommonModule, TooltipModule]\n})\nexport class CreationTimeCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { BaseColumn, ColumnConfig, gettext } from '@c8y/ngx-components';\nimport { CreationTimeCellRendererComponent } from './creation-time.cell-renderer.component';\n\nexport class CreationTimeGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n this.name = 'creationTime';\n this.path = 'creationTime';\n this.header = gettext('Creation time');\n this.cellRendererComponent = CreationTimeCellRendererComponent;\n\n this.filterable = false;\n this.sortable = false;\n }\n}\n","import { Component, inject, OnInit } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { InventoryService } from '@c8y/client';\nimport { CellRendererContext, CommonModule, DeviceStatusModule } from '@c8y/ngx-components';\nimport { IManagedObject } from 'packages/client/lib';\n\n@Component({\n template: `\n <span class=\"m-r-4\">\n <device-status [mo]=\"device || {}\"></device-status>\n </span>\n <a\n class=\"interact\"\n [title]=\"context.item.deviceName\"\n [routerLink]=\"['/device', context.item.deviceId, 'device-info']\"\n >\n {{ context.item.deviceName }}\n </a>\n `,\n selector: 'c8y-operation-device-cell-renderer',\n standalone: true,\n imports: [CommonModule, RouterModule, DeviceStatusModule]\n})\nexport class DeviceCellRendererComponent implements OnInit {\n device: IManagedObject;\n\n private inventoryService = inject(InventoryService);\n\n constructor(public context: CellRendererContext) {}\n\n async ngOnInit() {\n this.device = (await this.inventoryService.detail(this.context.item.deviceId))?.data;\n }\n}\n","import { BaseColumn, ColumnConfig, gettext } from '@c8y/ngx-components';\nimport { DeviceCellRendererComponent } from './device.cell-renderer.component';\n\nexport class DeviceGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n this.name = 'deviceName';\n this.path = 'deviceName';\n this.header = gettext('Device');\n this.cellRendererComponent = DeviceCellRendererComponent;\n\n this.filterable = false;\n this.sortable = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { CellRendererContext, CommonModule } from '@c8y/ngx-components';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n@Component({\n template: ` <div class=\"d-flex\">\n <span class=\"text-truncate\" #failureReason>\n {{ context.value | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [tooltip]=\"context.value | translate\"\n placement=\"left\"\n container=\"body\"\n type=\"button\"\n *ngIf=\"failureReason.offsetWidth < failureReason.scrollWidth\"\n >\n <i [c8yIcon]=\"'info-circle'\"></i>\n </button>\n </div>`,\n selector: 'c8y-failure-reason-cell-renderer',\n standalone: true,\n imports: [CommonModule, TooltipModule]\n})\nexport class FailureReasonCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { BaseColumn, ColumnConfig, gettext } from '@c8y/ngx-components';\nimport { FailureReasonCellRendererComponent } from './failure-reason.cell-renderer.component';\n\nexport class FailureReasonGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n this.name = 'failureReason';\n this.path = 'failureReason';\n this.header = gettext('Failure reason');\n this.cellRendererComponent = FailureReasonCellRendererComponent;\n\n this.filterable = false;\n this.sortable = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { C8yTranslatePipe, CellRendererContext, CommonModule } from '@c8y/ngx-components';\nimport {\n OPERATION_STATUS_OPTIONS_MAP,\n OperationStatusOptionsMapShared\n} from '@c8y/ngx-components/operations/shared';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n@Component({\n template: `\n <i\n [c8yIcon]=\"OPERATION_STATUS_OPTIONS_MAP[context.item.status].icon\"\n style=\"font-size: 20px\"\n [tooltip]=\"context.item.status.toString() | translate\"\n container=\"body\"\n [ngClass]=\"OPERATION_STATUS_OPTIONS_MAP[context.item.status].styleClass\"\n ></i>\n `,\n selector: 'c8y-operation-status-cell-renderer',\n standalone: true,\n imports: [CommonModule, RouterModule, C8yTranslatePipe, TooltipModule]\n})\nexport class StatusCellRendererComponent {\n OPERATION_STATUS_OPTIONS_MAP: OperationStatusOptionsMapShared = OPERATION_STATUS_OPTIONS_MAP;\n constructor(public context: CellRendererContext) {}\n}\n","import { BaseColumn, ColumnConfig, gettext } from '@c8y/ngx-components';\nimport { StatusCellRendererComponent } from './status.cell-renderer.component';\n\nexport class OperationStatusGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n this.name = 'status';\n this.path = 'status';\n this.header = gettext('Status');\n this.cellRendererComponent = StatusCellRendererComponent;\n\n this.filterable = false;\n this.sortable = false;\n\n this.gridTrackSize = '76px';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
@@ -5171,21 +5171,36 @@ class PluginsService {
5171
5171
  const remotesCopy = cloneDeep(remotesConfig);
5172
5172
  const temp = Array.isArray(plugins) ? plugins : [plugins];
5173
5173
  temp.forEach(plugin => {
5174
- const { contextPath, moduleName } = this.parsePluginId(plugin.id);
5175
- if (!contextPath || !moduleName || !remotesCopy[contextPath]) {
5174
+ const { rawContextPath, moduleName } = this.parsePluginId(plugin.id);
5175
+ if (!rawContextPath || !moduleName) {
5176
5176
  return;
5177
5177
  }
5178
- remotesCopy[contextPath] = remotesCopy[contextPath].filter(p => p !== moduleName);
5179
- remotesCopy[contextPath] = [...new Set(remotesCopy[contextPath])];
5180
- if (remotesCopy[contextPath].length === 0) {
5181
- delete remotesCopy[contextPath];
5182
- }
5178
+ // Find all keys in remotesConfig that match the plugin context (regardless of version)
5179
+ Object.keys(remotesCopy).forEach(key => {
5180
+ if (key === rawContextPath || key.startsWith(`${rawContextPath}@`)) {
5181
+ remotesCopy[key] = remotesCopy[key].filter(p => p !== moduleName);
5182
+ remotesCopy[key] = [...new Set(remotesCopy[key])];
5183
+ if (remotesCopy[key].length === 0) {
5184
+ delete remotesCopy[key];
5185
+ }
5186
+ }
5187
+ });
5183
5188
  });
5184
5189
  return remotesCopy;
5185
5190
  }
5191
+ /**
5192
+ * Parses id of the plugin and returns object with context path, raw context path (without version) and module name.
5193
+ * For example:
5194
+ * ```ts
5195
+ * const id = 'widget-plugin@1021.0.1/WidgetPluginModule'
5196
+ * const parsed = parsePluginId(id); // { contextPath: 'widget-plugin@1021.0.1', moduleName: 'WidgetPluginModule', rawContextPath: 'widget-plugin' }
5197
+ * @param id Plugin id in the format of `<contextPath>@<version>/<moduleName>`
5198
+ * @returns Object with context path, module name and raw context path (without version).
5199
+ */
5186
5200
  parsePluginId(id) {
5187
5201
  const [contextPath, moduleName] = id.split('/');
5188
- return { contextPath, moduleName };
5202
+ const [rawContextPath] = contextPath.split('@');
5203
+ return { rawContextPath, contextPath, moduleName };
5189
5204
  }
5190
5205
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PluginsService, deps: [{ token: i1.ApplicationService }, { token: AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5191
5206
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PluginsService }); }