@device-management-toolkit/ui-toolkit-angular 11.1.8 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/device-management-toolkit-ui-toolkit-angular-ider.mjs +231 -127
- package/fesm2022/device-management-toolkit-ui-toolkit-angular-ider.mjs.map +1 -1
- package/fesm2022/device-management-toolkit-ui-toolkit-angular-kvm.mjs +586 -371
- package/fesm2022/device-management-toolkit-ui-toolkit-angular-kvm.mjs.map +1 -1
- package/fesm2022/device-management-toolkit-ui-toolkit-angular-sol.mjs +297 -180
- package/fesm2022/device-management-toolkit-ui-toolkit-angular-sol.mjs.map +1 -1
- package/fesm2022/device-management-toolkit-ui-toolkit-angular.mjs +1104 -648
- package/fesm2022/device-management-toolkit-ui-toolkit-angular.mjs.map +1 -1
- package/package.json +4 -4
- package/types/device-management-toolkit-ui-toolkit-angular-ider.d.ts +69 -38
- package/types/device-management-toolkit-ui-toolkit-angular-kvm.d.ts +89 -54
- package/types/device-management-toolkit-ui-toolkit-angular-sol.d.ts +54 -33
- package/types/device-management-toolkit-ui-toolkit-angular.d.ts +204 -113
|
@@ -1,128 +1,232 @@
|
|
|
1
|
-
import * as i0 from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { Component, DestroyRef, effect, inject, input, output, signal } from "@angular/core";
|
|
3
|
+
import { AMTIDER, AMTRedirector, Protocol } from "@device-management-toolkit/ui-toolkit/core";
|
|
4
|
+
var IDERComponent = class IDERComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.destroyRef = inject(DestroyRef);
|
|
7
|
+
this.redirector = null;
|
|
8
|
+
this.ider = null;
|
|
9
|
+
this.data = null;
|
|
10
|
+
this._deviceState = signal(0, ...ngDevMode ? [{ debugName: "_deviceState" }] : /* istanbul ignore next */ []);
|
|
11
|
+
this.deviceState = this._deviceState.asReadonly();
|
|
12
|
+
this.deviceStatus = output();
|
|
13
|
+
this.iderData = output();
|
|
14
|
+
this.deviceConnection = input(false, ...ngDevMode ? [{ debugName: "deviceConnection" }] : /* istanbul ignore next */ []);
|
|
15
|
+
this.cdrom = input(null, ...ngDevMode ? [{ debugName: "cdrom" }] : /* istanbul ignore next */ []);
|
|
16
|
+
this.floppy = input(null, ...ngDevMode ? [{ debugName: "floppy" }] : /* istanbul ignore next */ []);
|
|
17
|
+
this.mpsServer = input("", ...ngDevMode ? [{ debugName: "mpsServer" }] : /* istanbul ignore next */ []);
|
|
18
|
+
this.authToken = input("", ...ngDevMode ? [{ debugName: "authToken" }] : /* istanbul ignore next */ []);
|
|
19
|
+
this.deviceId = input("", ...ngDevMode ? [{ debugName: "deviceId" }] : /* istanbul ignore next */ []);
|
|
20
|
+
this.onConnectionStateChange = (redirector, state) => {
|
|
21
|
+
this.deviceStatus.emit(state);
|
|
22
|
+
this._deviceState.set(state);
|
|
23
|
+
};
|
|
24
|
+
effect(() => {
|
|
25
|
+
if (this.deviceConnection()) {
|
|
26
|
+
if (this.redirector == null) this.init();
|
|
27
|
+
} else this.stopIder();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
init() {
|
|
31
|
+
this.instantiate();
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
this.startIder();
|
|
34
|
+
}, 4e3);
|
|
35
|
+
}
|
|
36
|
+
startIder() {
|
|
37
|
+
if (this.redirector != null) this.redirector.start(WebSocket);
|
|
38
|
+
}
|
|
39
|
+
instantiate() {
|
|
40
|
+
const config = {
|
|
41
|
+
mode: "ider",
|
|
42
|
+
protocol: Protocol.IDER,
|
|
43
|
+
fr: new FileReader(),
|
|
44
|
+
host: this.deviceId(),
|
|
45
|
+
port: 16994,
|
|
46
|
+
user: "",
|
|
47
|
+
pass: "",
|
|
48
|
+
tls: 0,
|
|
49
|
+
tls1only: 0,
|
|
50
|
+
authToken: this.authToken(),
|
|
51
|
+
server: this.mpsServer()
|
|
52
|
+
};
|
|
53
|
+
this.redirector = new AMTRedirector(config);
|
|
54
|
+
this.ider = new AMTIDER(this.redirector, this.cdrom(), this.floppy());
|
|
55
|
+
this.redirector.onNewState = this.ider.stateChange.bind(this.ider);
|
|
56
|
+
this.redirector.onStateChanged = this.onConnectionStateChange.bind(this);
|
|
57
|
+
this.redirector.onProcessData = this.ider.processData.bind(this.ider);
|
|
58
|
+
this.ider.sectorStats = this.iderSectorStats.bind(this);
|
|
59
|
+
}
|
|
60
|
+
iderSectorStats(mode, dev, total, start, len) {
|
|
61
|
+
if (this.ider == null) return;
|
|
62
|
+
if (mode === 1) {
|
|
63
|
+
if (dev === 0) this.ider.floppyRead += len * 512;
|
|
64
|
+
else this.ider.cdromRead += len * 2048;
|
|
65
|
+
} else if (dev === 0) this.ider.floppyWrite += len * 512;
|
|
66
|
+
else this.ider.cdromWrite += len * 2048;
|
|
67
|
+
this.iderData.emit({
|
|
68
|
+
floppyRead: this.ider.floppyRead,
|
|
69
|
+
cdromRead: this.ider.cdromRead,
|
|
70
|
+
floppyWrite: this.ider.floppyWrite,
|
|
71
|
+
cdromWrite: this.ider.cdromWrite
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
stopIder() {
|
|
75
|
+
if (this.redirector != null) {
|
|
76
|
+
this.redirector.stop();
|
|
77
|
+
this.cleanup();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
cleanup() {
|
|
81
|
+
this.redirector = null;
|
|
82
|
+
this.ider = null;
|
|
83
|
+
}
|
|
84
|
+
ngOnDestroy() {
|
|
85
|
+
if (this.ider != null) this.ider.stop();
|
|
86
|
+
}
|
|
87
|
+
static {
|
|
88
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
89
|
+
minVersion: "12.0.0",
|
|
90
|
+
version: "22.2.2",
|
|
91
|
+
ngImport: i0,
|
|
92
|
+
type: IDERComponent,
|
|
93
|
+
deps: [],
|
|
94
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
static {
|
|
98
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
99
|
+
minVersion: "17.1.0",
|
|
100
|
+
version: "22.2.2",
|
|
101
|
+
type: IDERComponent,
|
|
102
|
+
isStandalone: true,
|
|
103
|
+
selector: "amt-ider",
|
|
104
|
+
inputs: {
|
|
105
|
+
deviceConnection: {
|
|
106
|
+
classPropertyName: "deviceConnection",
|
|
107
|
+
publicName: "deviceConnection",
|
|
108
|
+
isSignal: true,
|
|
109
|
+
isRequired: false,
|
|
110
|
+
transformFunction: null
|
|
111
|
+
},
|
|
112
|
+
cdrom: {
|
|
113
|
+
classPropertyName: "cdrom",
|
|
114
|
+
publicName: "cdrom",
|
|
115
|
+
isSignal: true,
|
|
116
|
+
isRequired: false,
|
|
117
|
+
transformFunction: null
|
|
118
|
+
},
|
|
119
|
+
floppy: {
|
|
120
|
+
classPropertyName: "floppy",
|
|
121
|
+
publicName: "floppy",
|
|
122
|
+
isSignal: true,
|
|
123
|
+
isRequired: false,
|
|
124
|
+
transformFunction: null
|
|
125
|
+
},
|
|
126
|
+
mpsServer: {
|
|
127
|
+
classPropertyName: "mpsServer",
|
|
128
|
+
publicName: "mpsServer",
|
|
129
|
+
isSignal: true,
|
|
130
|
+
isRequired: false,
|
|
131
|
+
transformFunction: null
|
|
132
|
+
},
|
|
133
|
+
authToken: {
|
|
134
|
+
classPropertyName: "authToken",
|
|
135
|
+
publicName: "authToken",
|
|
136
|
+
isSignal: true,
|
|
137
|
+
isRequired: false,
|
|
138
|
+
transformFunction: null
|
|
139
|
+
},
|
|
140
|
+
deviceId: {
|
|
141
|
+
classPropertyName: "deviceId",
|
|
142
|
+
publicName: "deviceId",
|
|
143
|
+
isSignal: true,
|
|
144
|
+
isRequired: false,
|
|
145
|
+
transformFunction: null
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
outputs: {
|
|
149
|
+
deviceStatus: "deviceStatus",
|
|
150
|
+
iderData: "iderData"
|
|
151
|
+
},
|
|
152
|
+
ngImport: i0,
|
|
153
|
+
template: "",
|
|
154
|
+
isInline: true
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
159
|
+
minVersion: "12.0.0",
|
|
160
|
+
version: "22.2.2",
|
|
161
|
+
ngImport: i0,
|
|
162
|
+
type: IDERComponent,
|
|
163
|
+
decorators: [{
|
|
164
|
+
type: Component,
|
|
165
|
+
args: [{
|
|
166
|
+
selector: "amt-ider",
|
|
167
|
+
template: ""
|
|
168
|
+
}]
|
|
169
|
+
}],
|
|
170
|
+
ctorParameters: () => [],
|
|
171
|
+
propDecorators: {
|
|
172
|
+
deviceStatus: [{
|
|
173
|
+
type: i0.Output,
|
|
174
|
+
args: ["deviceStatus"]
|
|
175
|
+
}],
|
|
176
|
+
iderData: [{
|
|
177
|
+
type: i0.Output,
|
|
178
|
+
args: ["iderData"]
|
|
179
|
+
}],
|
|
180
|
+
deviceConnection: [{
|
|
181
|
+
type: i0.Input,
|
|
182
|
+
args: [{
|
|
183
|
+
isSignal: true,
|
|
184
|
+
alias: "deviceConnection",
|
|
185
|
+
required: false
|
|
186
|
+
}]
|
|
187
|
+
}],
|
|
188
|
+
cdrom: [{
|
|
189
|
+
type: i0.Input,
|
|
190
|
+
args: [{
|
|
191
|
+
isSignal: true,
|
|
192
|
+
alias: "cdrom",
|
|
193
|
+
required: false
|
|
194
|
+
}]
|
|
195
|
+
}],
|
|
196
|
+
floppy: [{
|
|
197
|
+
type: i0.Input,
|
|
198
|
+
args: [{
|
|
199
|
+
isSignal: true,
|
|
200
|
+
alias: "floppy",
|
|
201
|
+
required: false
|
|
202
|
+
}]
|
|
203
|
+
}],
|
|
204
|
+
mpsServer: [{
|
|
205
|
+
type: i0.Input,
|
|
206
|
+
args: [{
|
|
207
|
+
isSignal: true,
|
|
208
|
+
alias: "mpsServer",
|
|
209
|
+
required: false
|
|
210
|
+
}]
|
|
211
|
+
}],
|
|
212
|
+
authToken: [{
|
|
213
|
+
type: i0.Input,
|
|
214
|
+
args: [{
|
|
215
|
+
isSignal: true,
|
|
216
|
+
alias: "authToken",
|
|
217
|
+
required: false
|
|
218
|
+
}]
|
|
219
|
+
}],
|
|
220
|
+
deviceId: [{
|
|
221
|
+
type: i0.Input,
|
|
222
|
+
args: [{
|
|
223
|
+
isSignal: true,
|
|
224
|
+
alias: "deviceId",
|
|
225
|
+
required: false
|
|
226
|
+
}]
|
|
227
|
+
}]
|
|
228
|
+
}
|
|
229
|
+
});
|
|
127
230
|
export { IDERComponent };
|
|
128
|
-
|
|
231
|
+
|
|
232
|
+
//# sourceMappingURL=device-management-toolkit-ui-toolkit-angular-ider.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-management-toolkit-ui-toolkit-angular-ider.mjs","sources":["../../ider/src/ider.component.ts"
|
|
1
|
+
{"version":3,"file":"device-management-toolkit-ui-toolkit-angular-ider.mjs","names":[],"sources":["../../ider/src/ider.component.ts"],"sourcesContent":["import { Component, OnDestroy, input, output, inject, DestroyRef, effect, signal } from '@angular/core'\nimport { AMTRedirector, Protocol, AMTIDER, RedirectorConfig } from '@device-management-toolkit/ui-toolkit/core'\n\nexport interface IDERData {\n floppyRead: number\n floppyWrite: number\n cdromRead: number\n cdromWrite: number\n}\n\n@Component({\n selector: 'amt-ider',\n template: '',\n styles: []\n})\nexport class IDERComponent implements OnDestroy {\n private readonly destroyRef = inject(DestroyRef)\n\n redirector: AMTRedirector | null = null\n ider: AMTIDER | null = null\n data: IDERData | null = null\n private readonly _deviceState = signal(0)\n readonly deviceState = this._deviceState.asReadonly()\n\n readonly deviceStatus = output<number>()\n readonly iderData = output<IDERData>()\n\n readonly deviceConnection = input<boolean>(false)\n public readonly cdrom = input<File | null>(null)\n public readonly floppy = input<File | null>(null)\n public mpsServer = input('')\n public authToken = input('')\n public deviceId = input('')\n\n constructor() {\n // React to deviceConnection changes\n effect(() => {\n const connected = this.deviceConnection()\n if (connected) {\n if (this.redirector == null) {\n this.init()\n }\n } else {\n this.stopIder()\n }\n })\n }\n\n init(): void {\n this.instantiate()\n setTimeout(() => {\n this.startIder()\n }, 4000)\n }\n\n startIder(): void {\n if (this.redirector != null) {\n this.redirector.start(WebSocket)\n }\n }\n\n instantiate(): void {\n const config: RedirectorConfig = {\n mode: 'ider',\n protocol: Protocol.IDER,\n fr: new FileReader(),\n host: this.deviceId(),\n port: 16994,\n user: '',\n pass: '',\n tls: 0,\n tls1only: 0,\n authToken: this.authToken(),\n server: this.mpsServer()\n }\n this.redirector = new AMTRedirector(config)\n this.ider = new AMTIDER(this.redirector, this.cdrom(), this.floppy())\n this.redirector.onNewState = this.ider.stateChange.bind(this.ider)\n this.redirector.onStateChanged = this.onConnectionStateChange.bind(this)\n this.redirector.onProcessData = this.ider.processData.bind(this.ider)\n this.ider.sectorStats = this.iderSectorStats.bind(this)\n }\n\n iderSectorStats(mode: number, dev: number, total: number, start: number, len: number): void {\n if (this.ider == null) {\n return\n }\n if (mode === 1) {\n if (dev === 0) {\n // Floppy\n this.ider.floppyRead += len * 512\n } else {\n // CD-ROM\n this.ider.cdromRead += len * 2048\n }\n } else {\n if (dev === 0) {\n // Floppy\n this.ider.floppyWrite += len * 512\n } else {\n // CD-ROM\n this.ider.cdromWrite += len * 2048\n }\n }\n this.iderData.emit({\n floppyRead: this.ider.floppyRead,\n cdromRead: this.ider.cdromRead,\n floppyWrite: this.ider.floppyWrite,\n cdromWrite: this.ider.cdromWrite\n })\n }\n\n onConnectionStateChange = (redirector: any, state: number): any => {\n this.deviceStatus.emit(state)\n this._deviceState.set(state)\n }\n\n stopIder(): void {\n if (this.redirector != null) {\n this.redirector.stop()\n this.cleanup()\n }\n }\n\n cleanup(): void {\n this.redirector = null\n this.ider = null\n }\n\n ngOnDestroy(): void {\n if (this.ider != null) {\n this.ider.stop()\n }\n }\n}\n"],"mappings":"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"}
|