@memberjunction/ng-dashboards 2.106.0 → 2.107.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.
Files changed (37) hide show
  1. package/dist/Scheduling/components/scheduling-health.component.d.ts +30 -0
  2. package/dist/Scheduling/components/scheduling-health.component.d.ts.map +1 -0
  3. package/dist/Scheduling/components/scheduling-health.component.js +316 -0
  4. package/dist/Scheduling/components/scheduling-health.component.js.map +1 -0
  5. package/dist/Scheduling/components/scheduling-history.component.d.ts +48 -0
  6. package/dist/Scheduling/components/scheduling-history.component.d.ts.map +1 -0
  7. package/dist/Scheduling/components/scheduling-history.component.js +378 -0
  8. package/dist/Scheduling/components/scheduling-history.component.js.map +1 -0
  9. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +48 -0
  10. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -0
  11. package/dist/Scheduling/components/scheduling-jobs.component.js +372 -0
  12. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -0
  13. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +37 -0
  14. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +1 -0
  15. package/dist/Scheduling/components/scheduling-monitoring.component.js +489 -0
  16. package/dist/Scheduling/components/scheduling-monitoring.component.js.map +1 -0
  17. package/dist/Scheduling/components/scheduling-types.component.d.ts +22 -0
  18. package/dist/Scheduling/components/scheduling-types.component.d.ts.map +1 -0
  19. package/dist/Scheduling/components/scheduling-types.component.js +166 -0
  20. package/dist/Scheduling/components/scheduling-types.component.js.map +1 -0
  21. package/dist/Scheduling/scheduling-dashboard.component.d.ts +52 -0
  22. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -0
  23. package/dist/Scheduling/scheduling-dashboard.component.js +256 -0
  24. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -0
  25. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +102 -0
  26. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -0
  27. package/dist/Scheduling/services/scheduling-instrumentation.service.js +406 -0
  28. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -0
  29. package/dist/module.d.ts +25 -19
  30. package/dist/module.d.ts.map +1 -1
  31. package/dist/module.js +32 -6
  32. package/dist/module.js.map +1 -1
  33. package/dist/public-api.d.ts +1 -0
  34. package/dist/public-api.d.ts.map +1 -1
  35. package/dist/public-api.js +3 -0
  36. package/dist/public-api.js.map +1 -1
  37. package/package.json +9 -9
@@ -0,0 +1,489 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/scheduling-instrumentation.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@progress/kendo-angular-buttons";
8
+ const _forTrack0 = ($index, $item) => $item.id;
9
+ const _forTrack1 = ($index, $item) => $item.jobId;
10
+ function SchedulingMonitoringComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelementStart(0, "div", 7);
12
+ i0.ɵɵelement(1, "i", 8);
13
+ i0.ɵɵelementStart(2, "p");
14
+ i0.ɵɵtext(3, "Loading monitoring data...");
15
+ i0.ɵɵelementEnd()();
16
+ } }
17
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_70_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 33);
19
+ i0.ɵɵelement(1, "i", 37);
20
+ i0.ɵɵelementStart(2, "p");
21
+ i0.ɵɵtext(3, "No recent executions");
22
+ i0.ɵɵelementEnd()();
23
+ } }
24
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_71_For_15_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "tr")(1, "td")(2, "span", 38);
26
+ i0.ɵɵelement(3, "i", 39);
27
+ i0.ɵɵtext(4);
28
+ i0.ɵɵelementEnd()();
29
+ i0.ɵɵelementStart(5, "td");
30
+ i0.ɵɵtext(6);
31
+ i0.ɵɵelementEnd();
32
+ i0.ɵɵelementStart(7, "td");
33
+ i0.ɵɵtext(8);
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementStart(9, "td");
36
+ i0.ɵɵtext(10);
37
+ i0.ɵɵelementEnd();
38
+ i0.ɵɵelementStart(11, "td");
39
+ i0.ɵɵtext(12);
40
+ i0.ɵɵelementEnd()();
41
+ } if (rf & 2) {
42
+ const exec_r1 = ctx.$implicit;
43
+ const ctx_r1 = i0.ɵɵnextContext(3);
44
+ i0.ɵɵadvance(2);
45
+ i0.ɵɵproperty("ngClass", ctx_r1.getStatusClass(exec_r1.status));
46
+ i0.ɵɵadvance();
47
+ i0.ɵɵproperty("ngClass", ctx_r1.getStatusIcon(exec_r1.status));
48
+ i0.ɵɵadvance();
49
+ i0.ɵɵtextInterpolate1(" ", exec_r1.status, " ");
50
+ i0.ɵɵadvance(2);
51
+ i0.ɵɵtextInterpolate(exec_r1.jobName);
52
+ i0.ɵɵadvance(2);
53
+ i0.ɵɵtextInterpolate(exec_r1.jobType);
54
+ i0.ɵɵadvance(2);
55
+ i0.ɵɵtextInterpolate(ctx_r1.formatTimeAgo(exec_r1.startedAt));
56
+ i0.ɵɵadvance(2);
57
+ i0.ɵɵtextInterpolate(ctx_r1.formatDuration(exec_r1.duration));
58
+ } }
59
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_71_Template(rf, ctx) { if (rf & 1) {
60
+ i0.ɵɵelementStart(0, "table", 34)(1, "thead")(2, "tr")(3, "th");
61
+ i0.ɵɵtext(4, "Status");
62
+ i0.ɵɵelementEnd();
63
+ i0.ɵɵelementStart(5, "th");
64
+ i0.ɵɵtext(6, "Job Name");
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(7, "th");
67
+ i0.ɵɵtext(8, "Type");
68
+ i0.ɵɵelementEnd();
69
+ i0.ɵɵelementStart(9, "th");
70
+ i0.ɵɵtext(10, "Started");
71
+ i0.ɵɵelementEnd();
72
+ i0.ɵɵelementStart(11, "th");
73
+ i0.ɵɵtext(12, "Duration");
74
+ i0.ɵɵelementEnd()()();
75
+ i0.ɵɵelementStart(13, "tbody");
76
+ i0.ɵɵrepeaterCreate(14, SchedulingMonitoringComponent_Conditional_10_Conditional_71_For_15_Template, 13, 7, "tr", null, _forTrack0);
77
+ i0.ɵɵelementEnd()();
78
+ } if (rf & 2) {
79
+ const ctx_r1 = i0.ɵɵnextContext(2);
80
+ i0.ɵɵadvance(14);
81
+ i0.ɵɵrepeater(ctx_r1.liveExecutions.slice(0, 10));
82
+ } }
83
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_80_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "div", 33);
85
+ i0.ɵɵelement(1, "i", 37);
86
+ i0.ɵɵelementStart(2, "p");
87
+ i0.ɵɵtext(3, "No upcoming executions in next 24 hours");
88
+ i0.ɵɵelementEnd()();
89
+ } }
90
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_81_For_15_Template(rf, ctx) { if (rf & 1) {
91
+ i0.ɵɵelementStart(0, "tr")(1, "td");
92
+ i0.ɵɵtext(2);
93
+ i0.ɵɵelementEnd();
94
+ i0.ɵɵelementStart(3, "td");
95
+ i0.ɵɵtext(4);
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵelementStart(5, "td");
98
+ i0.ɵɵtext(6);
99
+ i0.ɵɵpipe(7, "date");
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementStart(8, "td")(9, "span", 40);
102
+ i0.ɵɵtext(10);
103
+ i0.ɵɵelementEnd()();
104
+ i0.ɵɵelementStart(11, "td")(12, "code");
105
+ i0.ɵɵtext(13);
106
+ i0.ɵɵelementEnd()()();
107
+ } if (rf & 2) {
108
+ const exec_r3 = ctx.$implicit;
109
+ const ctx_r1 = i0.ɵɵnextContext(3);
110
+ i0.ɵɵadvance(2);
111
+ i0.ɵɵtextInterpolate(exec_r3.jobName);
112
+ i0.ɵɵadvance(2);
113
+ i0.ɵɵtextInterpolate(exec_r3.jobType);
114
+ i0.ɵɵadvance(2);
115
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(7, 5, exec_r3.nextRunAt, "short"));
116
+ i0.ɵɵadvance(4);
117
+ i0.ɵɵtextInterpolate(ctx_r1.formatTimeUntil(exec_r3.nextRunAt));
118
+ i0.ɵɵadvance(3);
119
+ i0.ɵɵtextInterpolate(exec_r3.cronExpression);
120
+ } }
121
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_81_Template(rf, ctx) { if (rf & 1) {
122
+ i0.ɵɵelementStart(0, "table", 34)(1, "thead")(2, "tr")(3, "th");
123
+ i0.ɵɵtext(4, "Job Name");
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(5, "th");
126
+ i0.ɵɵtext(6, "Type");
127
+ i0.ɵɵelementEnd();
128
+ i0.ɵɵelementStart(7, "th");
129
+ i0.ɵɵtext(8, "Next Run");
130
+ i0.ɵɵelementEnd();
131
+ i0.ɵɵelementStart(9, "th");
132
+ i0.ɵɵtext(10, "Time Until");
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelementStart(11, "th");
135
+ i0.ɵɵtext(12, "Schedule");
136
+ i0.ɵɵelementEnd()()();
137
+ i0.ɵɵelementStart(13, "tbody");
138
+ i0.ɵɵrepeaterCreate(14, SchedulingMonitoringComponent_Conditional_10_Conditional_81_For_15_Template, 14, 8, "tr", null, _forTrack1);
139
+ i0.ɵɵelementEnd()();
140
+ } if (rf & 2) {
141
+ const ctx_r1 = i0.ɵɵnextContext(2);
142
+ i0.ɵɵadvance(14);
143
+ i0.ɵɵrepeater(ctx_r1.upcomingExecutions.slice(0, 10));
144
+ } }
145
+ function SchedulingMonitoringComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
146
+ i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "div", 11);
147
+ i0.ɵɵelement(3, "i", 12);
148
+ i0.ɵɵelementEnd();
149
+ i0.ɵɵelementStart(4, "div", 13)(5, "div", 14);
150
+ i0.ɵɵtext(6);
151
+ i0.ɵɵelementEnd();
152
+ i0.ɵɵelementStart(7, "div", 15);
153
+ i0.ɵɵtext(8, "Total Active Jobs");
154
+ i0.ɵɵelementEnd()()();
155
+ i0.ɵɵelementStart(9, "div", 16)(10, "div", 11);
156
+ i0.ɵɵelement(11, "i", 17);
157
+ i0.ɵɵelementEnd();
158
+ i0.ɵɵelementStart(12, "div", 13)(13, "div", 14);
159
+ i0.ɵɵtext(14);
160
+ i0.ɵɵelementEnd();
161
+ i0.ɵɵelementStart(15, "div", 15);
162
+ i0.ɵɵtext(16, "Due in Next Hour");
163
+ i0.ɵɵelementEnd()()();
164
+ i0.ɵɵelementStart(17, "div", 18)(18, "div", 11);
165
+ i0.ɵɵelement(19, "i", 19);
166
+ i0.ɵɵelementEnd();
167
+ i0.ɵɵelementStart(20, "div", 13)(21, "div", 14);
168
+ i0.ɵɵtext(22);
169
+ i0.ɵɵelementEnd();
170
+ i0.ɵɵelementStart(23, "div", 15);
171
+ i0.ɵɵtext(24, "Executions (24h)");
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelementStart(25, "div", 20);
174
+ i0.ɵɵtext(26);
175
+ i0.ɵɵelementEnd()()();
176
+ i0.ɵɵelementStart(27, "div", 21)(28, "div", 11);
177
+ i0.ɵɵelement(29, "i", 22);
178
+ i0.ɵɵelementEnd();
179
+ i0.ɵɵelementStart(30, "div", 13)(31, "div", 14);
180
+ i0.ɵɵtext(32);
181
+ i0.ɵɵelementEnd();
182
+ i0.ɵɵelementStart(33, "div", 15);
183
+ i0.ɵɵtext(34, "Currently Running");
184
+ i0.ɵɵelementEnd()()();
185
+ i0.ɵɵelementStart(35, "div", 16)(36, "div", 11);
186
+ i0.ɵɵelement(37, "i", 23);
187
+ i0.ɵɵelementEnd();
188
+ i0.ɵɵelementStart(38, "div", 13)(39, "div", 14);
189
+ i0.ɵɵtext(40);
190
+ i0.ɵɵelementEnd();
191
+ i0.ɵɵelementStart(41, "div", 15);
192
+ i0.ɵɵtext(42, "Locked Jobs");
193
+ i0.ɵɵelementEnd()()();
194
+ i0.ɵɵelementStart(43, "div", 10)(44, "div", 11);
195
+ i0.ɵɵelement(45, "i", 24);
196
+ i0.ɵɵelementEnd();
197
+ i0.ɵɵelementStart(46, "div", 13)(47, "div", 14);
198
+ i0.ɵɵtext(48);
199
+ i0.ɵɵelementEnd();
200
+ i0.ɵɵelementStart(49, "div", 15);
201
+ i0.ɵɵtext(50, "Cost (24h)");
202
+ i0.ɵɵelementEnd()()();
203
+ i0.ɵɵelementStart(51, "div", 25)(52, "div", 11);
204
+ i0.ɵɵelement(53, "i", 26);
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵelementStart(54, "div", 13)(55, "div", 14);
207
+ i0.ɵɵtext(56);
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵelementStart(57, "div", 15);
210
+ i0.ɵɵtext(58, "Failures (7d)");
211
+ i0.ɵɵelementEnd();
212
+ i0.ɵɵelementStart(59, "div", 20);
213
+ i0.ɵɵtext(60);
214
+ i0.ɵɵelementEnd()()()();
215
+ i0.ɵɵelementStart(61, "div", 27)(62, "div", 28)(63, "div", 29)(64, "h3");
216
+ i0.ɵɵelement(65, "i", 30);
217
+ i0.ɵɵtext(66, " Live Executions");
218
+ i0.ɵɵelementEnd();
219
+ i0.ɵɵelementStart(67, "span", 31);
220
+ i0.ɵɵtext(68);
221
+ i0.ɵɵelementEnd()();
222
+ i0.ɵɵelementStart(69, "div", 32);
223
+ i0.ɵɵtemplate(70, SchedulingMonitoringComponent_Conditional_10_Conditional_70_Template, 4, 0, "div", 33)(71, SchedulingMonitoringComponent_Conditional_10_Conditional_71_Template, 16, 0, "table", 34);
224
+ i0.ɵɵelementEnd()();
225
+ i0.ɵɵelementStart(72, "div", 35)(73, "div", 29)(74, "h3");
226
+ i0.ɵɵelement(75, "i", 36);
227
+ i0.ɵɵtext(76, " Upcoming Executions (Next 24h)");
228
+ i0.ɵɵelementEnd();
229
+ i0.ɵɵelementStart(77, "span", 31);
230
+ i0.ɵɵtext(78);
231
+ i0.ɵɵelementEnd()();
232
+ i0.ɵɵelementStart(79, "div", 32);
233
+ i0.ɵɵtemplate(80, SchedulingMonitoringComponent_Conditional_10_Conditional_80_Template, 4, 0, "div", 33)(81, SchedulingMonitoringComponent_Conditional_10_Conditional_81_Template, 16, 0, "table", 34);
234
+ i0.ɵɵelementEnd()()();
235
+ } if (rf & 2) {
236
+ const ctx_r1 = i0.ɵɵnextContext();
237
+ i0.ɵɵadvance(6);
238
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.totalActiveJobs);
239
+ i0.ɵɵadvance(8);
240
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.jobsDueInNextHour);
241
+ i0.ɵɵadvance(8);
242
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.recentExecutions24h);
243
+ i0.ɵɵadvance(4);
244
+ i0.ɵɵtextInterpolate1(" Success Rate: ", ctx_r1.formatPercentage(ctx_r1.kpis.successRate24h), " ");
245
+ i0.ɵɵadvance(6);
246
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.currentlyRunning);
247
+ i0.ɵɵadvance(8);
248
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.lockedJobs);
249
+ i0.ɵɵadvance(8);
250
+ i0.ɵɵtextInterpolate(ctx_r1.formatCost(ctx_r1.kpis.totalCost24h));
251
+ i0.ɵɵadvance(3);
252
+ i0.ɵɵclassProp("error", ctx_r1.kpis.failureRate7d > 0.1);
253
+ i0.ɵɵadvance(5);
254
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.totalFailures7d);
255
+ i0.ɵɵadvance(4);
256
+ i0.ɵɵtextInterpolate1(" Rate: ", ctx_r1.formatPercentage(ctx_r1.kpis.failureRate7d), " ");
257
+ i0.ɵɵadvance(8);
258
+ i0.ɵɵtextInterpolate(ctx_r1.liveExecutions.length);
259
+ i0.ɵɵadvance(2);
260
+ i0.ɵɵconditional(ctx_r1.liveExecutions.length === 0 ? 70 : 71);
261
+ i0.ɵɵadvance(8);
262
+ i0.ɵɵtextInterpolate(ctx_r1.upcomingExecutions.length);
263
+ i0.ɵɵadvance(2);
264
+ i0.ɵɵconditional(ctx_r1.upcomingExecutions.length === 0 ? 80 : 81);
265
+ } }
266
+ export class SchedulingMonitoringComponent {
267
+ schedulingService;
268
+ cdr;
269
+ initialState;
270
+ stateChange = new EventEmitter();
271
+ kpis = null;
272
+ liveExecutions = [];
273
+ upcomingExecutions = [];
274
+ isLoading = false;
275
+ autoRefreshInterval = 30000; // 30 seconds
276
+ autoRefreshEnabled = true;
277
+ destroy$ = new Subject();
278
+ refreshTimer;
279
+ constructor(schedulingService, cdr) {
280
+ this.schedulingService = schedulingService;
281
+ this.cdr = cdr;
282
+ }
283
+ ngOnInit() {
284
+ this.loadState();
285
+ this.loadData();
286
+ this.setupAutoRefresh();
287
+ }
288
+ ngOnDestroy() {
289
+ this.destroy$.next();
290
+ this.destroy$.complete();
291
+ if (this.refreshTimer) {
292
+ clearInterval(this.refreshTimer);
293
+ }
294
+ }
295
+ loadState() {
296
+ if (this.initialState) {
297
+ this.autoRefreshInterval = this.initialState.autoRefreshInterval || 30000;
298
+ this.autoRefreshEnabled = this.initialState.autoRefreshEnabled !== false;
299
+ }
300
+ }
301
+ loadData() {
302
+ this.isLoading = true;
303
+ this.schedulingService.kpis$
304
+ .pipe(takeUntil(this.destroy$))
305
+ .subscribe({
306
+ next: (kpis) => {
307
+ this.kpis = kpis;
308
+ this.isLoading = false;
309
+ this.cdr.markForCheck();
310
+ },
311
+ error: (error) => {
312
+ console.error('Error loading KPIs:', error);
313
+ this.isLoading = false;
314
+ this.cdr.markForCheck();
315
+ }
316
+ });
317
+ this.schedulingService.liveExecutions$
318
+ .pipe(takeUntil(this.destroy$))
319
+ .subscribe({
320
+ next: (executions) => {
321
+ this.liveExecutions = executions;
322
+ this.cdr.markForCheck();
323
+ },
324
+ error: (error) => {
325
+ console.error('Error loading live executions:', error);
326
+ this.cdr.markForCheck();
327
+ }
328
+ });
329
+ this.schedulingService.upcomingExecutions$
330
+ .pipe(takeUntil(this.destroy$))
331
+ .subscribe({
332
+ next: (executions) => {
333
+ this.upcomingExecutions = executions;
334
+ this.cdr.markForCheck();
335
+ },
336
+ error: (error) => {
337
+ console.error('Error loading upcoming executions:', error);
338
+ this.cdr.markForCheck();
339
+ }
340
+ });
341
+ }
342
+ setupAutoRefresh() {
343
+ if (this.autoRefreshEnabled) {
344
+ this.refreshTimer = setInterval(() => {
345
+ this.schedulingService.refresh();
346
+ }, this.autoRefreshInterval);
347
+ }
348
+ }
349
+ onRefresh() {
350
+ this.schedulingService.refresh();
351
+ }
352
+ toggleAutoRefresh() {
353
+ this.autoRefreshEnabled = !this.autoRefreshEnabled;
354
+ if (this.refreshTimer) {
355
+ clearInterval(this.refreshTimer);
356
+ }
357
+ if (this.autoRefreshEnabled) {
358
+ this.setupAutoRefresh();
359
+ }
360
+ this.emitStateChange();
361
+ }
362
+ setRefreshInterval(interval) {
363
+ this.autoRefreshInterval = interval;
364
+ if (this.refreshTimer) {
365
+ clearInterval(this.refreshTimer);
366
+ }
367
+ if (this.autoRefreshEnabled) {
368
+ this.setupAutoRefresh();
369
+ }
370
+ this.emitStateChange();
371
+ }
372
+ getStatusClass(status) {
373
+ switch (status) {
374
+ case 'Running': return 'status-running';
375
+ case 'Completed': return 'status-success';
376
+ case 'Failed': return 'status-error';
377
+ case 'Cancelled': return 'status-warning';
378
+ case 'Timeout': return 'status-warning';
379
+ default: return 'status-info';
380
+ }
381
+ }
382
+ getStatusIcon(status) {
383
+ switch (status) {
384
+ case 'Running': return 'fa-spinner fa-spin';
385
+ case 'Completed': return 'fa-check-circle';
386
+ case 'Failed': return 'fa-exclamation-circle';
387
+ case 'Cancelled': return 'fa-ban';
388
+ case 'Timeout': return 'fa-clock';
389
+ default: return 'fa-question-circle';
390
+ }
391
+ }
392
+ formatDuration(ms) {
393
+ if (!ms)
394
+ return 'N/A';
395
+ const seconds = Math.floor(ms / 1000);
396
+ if (seconds < 60)
397
+ return `${seconds}s`;
398
+ const minutes = Math.floor(seconds / 60);
399
+ if (minutes < 60)
400
+ return `${minutes}m ${seconds % 60}s`;
401
+ const hours = Math.floor(minutes / 60);
402
+ return `${hours}h ${minutes % 60}m`;
403
+ }
404
+ formatTimeAgo(date) {
405
+ const now = new Date();
406
+ const diffMs = now.getTime() - date.getTime();
407
+ const diffSeconds = Math.floor(diffMs / 1000);
408
+ const diffMinutes = Math.floor(diffSeconds / 60);
409
+ const diffHours = Math.floor(diffMinutes / 60);
410
+ if (diffSeconds < 60)
411
+ return `${diffSeconds}s ago`;
412
+ if (diffMinutes < 60)
413
+ return `${diffMinutes}m ago`;
414
+ if (diffHours < 24)
415
+ return `${diffHours}h ago`;
416
+ return date.toLocaleDateString();
417
+ }
418
+ formatTimeUntil(date) {
419
+ const now = new Date();
420
+ const diffMs = date.getTime() - now.getTime();
421
+ const diffSeconds = Math.floor(diffMs / 1000);
422
+ const diffMinutes = Math.floor(diffSeconds / 60);
423
+ const diffHours = Math.floor(diffMinutes / 60);
424
+ if (diffMs < 0)
425
+ return 'Overdue!';
426
+ if (diffSeconds < 60)
427
+ return `${diffSeconds}s`;
428
+ if (diffMinutes < 60)
429
+ return `${diffMinutes}m`;
430
+ if (diffHours < 24)
431
+ return `${diffHours}h ${diffMinutes % 60}m`;
432
+ return date.toLocaleDateString();
433
+ }
434
+ formatCost(cost) {
435
+ if (cost < 0.01)
436
+ return '$' + cost.toFixed(4);
437
+ if (cost < 1)
438
+ return '$' + cost.toFixed(3);
439
+ return '$' + cost.toFixed(2);
440
+ }
441
+ formatPercentage(value) {
442
+ return (value * 100).toFixed(1) + '%';
443
+ }
444
+ emitStateChange() {
445
+ const state = {
446
+ autoRefreshInterval: this.autoRefreshInterval,
447
+ autoRefreshEnabled: this.autoRefreshEnabled
448
+ };
449
+ this.stateChange.emit(state);
450
+ }
451
+ static ɵfac = function SchedulingMonitoringComponent_Factory(t) { return new (t || SchedulingMonitoringComponent)(i0.ɵɵdirectiveInject(i1.SchedulingInstrumentationService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
452
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchedulingMonitoringComponent, selectors: [["app-scheduling-monitoring"]], inputs: { initialState: "initialState" }, outputs: { stateChange: "stateChange" }, decls: 11, vars: 10, consts: [[1, "scheduling-monitoring"], [1, "monitoring-header"], [1, "header-actions"], ["kendoButton", "", 3, "click", "disabled"], [1, "fa-solid", "fa-refresh"], ["kendoButton", "", 3, "click"], [1, "fa-solid"], [1, "loading-overlay"], [1, "fa-solid", "fa-spinner", "fa-spin", "fa-3x"], [1, "kpi-grid"], [1, "kpi-card", "primary"], [1, "kpi-icon"], [1, "fa-solid", "fa-calendar-check"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-card", "warning"], [1, "fa-solid", "fa-clock"], [1, "kpi-card", "info"], [1, "fa-solid", "fa-chart-bar"], [1, "kpi-breakdown"], [1, "kpi-card", "success"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-lock"], [1, "fa-solid", "fa-dollar-sign"], [1, "kpi-card"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "content-panels"], [1, "panel", "live-executions"], [1, "panel-header"], [1, "fa-solid", "fa-bolt"], [1, "badge"], [1, "panel-content"], [1, "empty-state"], [1, "execution-table"], [1, "panel", "upcoming-executions"], [1, "fa-solid", "fa-calendar-alt"], [1, "fa-solid", "fa-inbox"], [1, "status-badge", 3, "ngClass"], [1, "fa-solid", 3, "ngClass"], [1, "time-until"]], template: function SchedulingMonitoringComponent_Template(rf, ctx) { if (rf & 1) {
453
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "button", 3);
454
+ i0.ɵɵlistener("click", function SchedulingMonitoringComponent_Template_button_click_3_listener() { return ctx.onRefresh(); });
455
+ i0.ɵɵelement(4, "i", 4);
456
+ i0.ɵɵtext(5, " Refresh ");
457
+ i0.ɵɵelementEnd();
458
+ i0.ɵɵelementStart(6, "button", 5);
459
+ i0.ɵɵlistener("click", function SchedulingMonitoringComponent_Template_button_click_6_listener() { return ctx.toggleAutoRefresh(); });
460
+ i0.ɵɵelement(7, "i", 6);
461
+ i0.ɵɵtext(8);
462
+ i0.ɵɵelementEnd()()();
463
+ i0.ɵɵtemplate(9, SchedulingMonitoringComponent_Conditional_9_Template, 4, 0, "div", 7)(10, SchedulingMonitoringComponent_Conditional_10_Template, 82, 15);
464
+ i0.ɵɵelementEnd();
465
+ } if (rf & 2) {
466
+ i0.ɵɵadvance(3);
467
+ i0.ɵɵproperty("disabled", ctx.isLoading);
468
+ i0.ɵɵadvance();
469
+ i0.ɵɵclassProp("fa-spin", ctx.isLoading);
470
+ i0.ɵɵadvance(3);
471
+ i0.ɵɵclassProp("fa-pause", ctx.autoRefreshEnabled)("fa-play", !ctx.autoRefreshEnabled);
472
+ i0.ɵɵadvance();
473
+ i0.ɵɵtextInterpolate1(" Auto-Refresh: ", ctx.autoRefreshEnabled ? "ON" : "OFF", " ");
474
+ i0.ɵɵadvance();
475
+ i0.ɵɵconditional(ctx.isLoading && !ctx.kpis ? 9 : -1);
476
+ i0.ɵɵadvance();
477
+ i0.ɵɵconditional(ctx.kpis ? 10 : -1);
478
+ } }, dependencies: [i2.NgClass, i3.ButtonComponent, i2.DatePipe], styles: [".scheduling-monitoring[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.monitoring-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .header-actions {\n display: flex;\n gap: 10px;\n }\n}\n\n.loading-overlay[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px;\n color: #6c757d;\n\n i {\n color: #0078d4;\n margin-bottom: 20px;\n }\n}\n\n.kpi-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n padding: 20px;\n display: flex;\n gap: 16px;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: transform 0.2s;\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0,0,0,0.15);\n }\n\n &.primary {\n border-left: 4px solid #0078d4;\n .kpi-icon { color: #0078d4; }\n }\n\n &.success {\n border-left: 4px solid #107c10;\n .kpi-icon { color: #107c10; }\n }\n\n &.warning {\n border-left: 4px solid #ff8c00;\n .kpi-icon { color: #ff8c00; }\n }\n\n &.error {\n border-left: 4px solid #d13438;\n .kpi-icon { color: #d13438; }\n }\n\n &.info {\n border-left: 4px solid #5c2d91;\n .kpi-icon { color: #5c2d91; }\n }\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n font-size: 32px;\n}\n\n.kpi-content[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 4px;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6c757d;\n font-weight: 500;\n}\n\n.kpi-breakdown[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6c757d;\n margin-top: 4px;\n}\n\n.content-panels[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n.panel[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n display: flex;\n flex-direction: column;\n min-height: 300px;\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #dee2e6;\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n\n i {\n color: #0078d4;\n }\n }\n\n .badge {\n background: #0078d4;\n color: white;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n }\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 20px;\n}\n\n.execution-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n\n thead {\n background: #f8f9fa;\n position: sticky;\n top: 0;\n z-index: 1;\n\n th {\n padding: 12px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n border-bottom: 2px solid #dee2e6;\n }\n }\n\n tbody {\n tr {\n border-bottom: 1px solid #dee2e6;\n transition: background 0.2s;\n\n &:hover {\n background: #f8f9fa;\n }\n\n td {\n padding: 12px;\n font-size: 13px;\n\n code {\n background: #f8f9fa;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 12px;\n font-family: 'Courier New', monospace;\n }\n }\n }\n }\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n\n &.status-running {\n background: #cfe2ff;\n color: #0d6efd;\n }\n\n &.status-success {\n background: #d1e7dd;\n color: #0f5132;\n }\n\n &.status-error {\n background: #f8d7da;\n color: #842029;\n }\n\n &.status-warning {\n background: #fff3cd;\n color: #664d03;\n }\n\n &.status-info {\n background: #cff4fc;\n color: #055160;\n }\n}\n\n.time-until[_ngcontent-%COMP%] {\n font-weight: 600;\n color: #0078d4;\n}\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: #6c757d;\n\n i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.3;\n }\n\n p {\n margin: 0;\n font-size: 14px;\n }\n}"] });
479
+ }
480
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SchedulingMonitoringComponent, [{
481
+ type: Component,
482
+ args: [{ selector: 'app-scheduling-monitoring', template: "<div class=\"scheduling-monitoring\">\n <div class=\"monitoring-header\">\n <div class=\"header-actions\">\n <button kendoButton (click)=\"onRefresh()\" [disabled]=\"isLoading\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n <button kendoButton (click)=\"toggleAutoRefresh()\">\n <i class=\"fa-solid\" [class.fa-pause]=\"autoRefreshEnabled\" [class.fa-play]=\"!autoRefreshEnabled\"></i>\n Auto-Refresh: {{ autoRefreshEnabled ? 'ON' : 'OFF' }}\n </button>\n </div>\n </div>\n\n @if (isLoading && !kpis) {\n <div class=\"loading-overlay\">\n <i class=\"fa-solid fa-spinner fa-spin fa-3x\"></i>\n <p>Loading monitoring data...</p>\n </div>\n }\n\n @if (kpis) {\n <div class=\"kpi-grid\">\n <div class=\"kpi-card primary\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-calendar-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.totalActiveJobs }}</div>\n <div class=\"kpi-label\">Total Active Jobs</div>\n </div>\n </div>\n\n <div class=\"kpi-card warning\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-clock\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.jobsDueInNextHour }}</div>\n <div class=\"kpi-label\">Due in Next Hour</div>\n </div>\n </div>\n\n <div class=\"kpi-card info\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-chart-bar\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.recentExecutions24h }}</div>\n <div class=\"kpi-label\">Executions (24h)</div>\n <div class=\"kpi-breakdown\">\n Success Rate: {{ formatPercentage(kpis.successRate24h) }}\n </div>\n </div>\n </div>\n\n <div class=\"kpi-card success\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.currentlyRunning }}</div>\n <div class=\"kpi-label\">Currently Running</div>\n </div>\n </div>\n\n <div class=\"kpi-card warning\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-lock\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.lockedJobs }}</div>\n <div class=\"kpi-label\">Locked Jobs</div>\n </div>\n </div>\n\n <div class=\"kpi-card primary\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-dollar-sign\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ formatCost(kpis.totalCost24h) }}</div>\n <div class=\"kpi-label\">Cost (24h)</div>\n </div>\n </div>\n\n <div class=\"kpi-card\" [class.error]=\"kpis.failureRate7d > 0.1\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.totalFailures7d }}</div>\n <div class=\"kpi-label\">Failures (7d)</div>\n <div class=\"kpi-breakdown\">\n Rate: {{ formatPercentage(kpis.failureRate7d) }}\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"content-panels\">\n <div class=\"panel live-executions\">\n <div class=\"panel-header\">\n <h3><i class=\"fa-solid fa-bolt\"></i> Live Executions</h3>\n <span class=\"badge\">{{ liveExecutions.length }}</span>\n </div>\n <div class=\"panel-content\">\n @if (liveExecutions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No recent executions</p>\n </div>\n } @else {\n <table class=\"execution-table\">\n <thead>\n <tr>\n <th>Status</th>\n <th>Job Name</th>\n <th>Type</th>\n <th>Started</th>\n <th>Duration</th>\n </tr>\n </thead>\n <tbody>\n @for (exec of liveExecutions.slice(0, 10); track exec.id) {\n <tr>\n <td>\n <span class=\"status-badge\" [ngClass]=\"getStatusClass(exec.status)\">\n <i class=\"fa-solid\" [ngClass]=\"getStatusIcon(exec.status)\"></i>\n {{ exec.status }}\n </span>\n </td>\n <td>{{ exec.jobName }}</td>\n <td>{{ exec.jobType }}</td>\n <td>{{ formatTimeAgo(exec.startedAt) }}</td>\n <td>{{ formatDuration(exec.duration) }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n </div>\n\n <div class=\"panel upcoming-executions\">\n <div class=\"panel-header\">\n <h3><i class=\"fa-solid fa-calendar-alt\"></i> Upcoming Executions (Next 24h)</h3>\n <span class=\"badge\">{{ upcomingExecutions.length }}</span>\n </div>\n <div class=\"panel-content\">\n @if (upcomingExecutions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No upcoming executions in next 24 hours</p>\n </div>\n } @else {\n <table class=\"execution-table\">\n <thead>\n <tr>\n <th>Job Name</th>\n <th>Type</th>\n <th>Next Run</th>\n <th>Time Until</th>\n <th>Schedule</th>\n </tr>\n </thead>\n <tbody>\n @for (exec of upcomingExecutions.slice(0, 10); track exec.jobId) {\n <tr>\n <td>{{ exec.jobName }}</td>\n <td>{{ exec.jobType }}</td>\n <td>{{ exec.nextRunAt | date: 'short' }}</td>\n <td>\n <span class=\"time-until\">{{ formatTimeUntil(exec.nextRunAt) }}</span>\n </td>\n <td>\n <code>{{ exec.cronExpression }}</code>\n </td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".scheduling-monitoring {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.monitoring-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .header-actions {\n display: flex;\n gap: 10px;\n }\n}\n\n.loading-overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px;\n color: #6c757d;\n\n i {\n color: #0078d4;\n margin-bottom: 20px;\n }\n}\n\n.kpi-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.kpi-card {\n background: white;\n border-radius: 8px;\n padding: 20px;\n display: flex;\n gap: 16px;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: transform 0.2s;\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0,0,0,0.15);\n }\n\n &.primary {\n border-left: 4px solid #0078d4;\n .kpi-icon { color: #0078d4; }\n }\n\n &.success {\n border-left: 4px solid #107c10;\n .kpi-icon { color: #107c10; }\n }\n\n &.warning {\n border-left: 4px solid #ff8c00;\n .kpi-icon { color: #ff8c00; }\n }\n\n &.error {\n border-left: 4px solid #d13438;\n .kpi-icon { color: #d13438; }\n }\n\n &.info {\n border-left: 4px solid #5c2d91;\n .kpi-icon { color: #5c2d91; }\n }\n}\n\n.kpi-icon {\n font-size: 32px;\n}\n\n.kpi-content {\n flex: 1;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 4px;\n}\n\n.kpi-label {\n font-size: 13px;\n color: #6c757d;\n font-weight: 500;\n}\n\n.kpi-breakdown {\n font-size: 11px;\n color: #6c757d;\n margin-top: 4px;\n}\n\n.content-panels {\n display: flex;\n flex-direction: column;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n.panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n display: flex;\n flex-direction: column;\n min-height: 300px;\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #dee2e6;\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n\n i {\n color: #0078d4;\n }\n }\n\n .badge {\n background: #0078d4;\n color: white;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n }\n}\n\n.panel-content {\n flex: 1;\n overflow: auto;\n padding: 20px;\n}\n\n.execution-table {\n width: 100%;\n border-collapse: collapse;\n\n thead {\n background: #f8f9fa;\n position: sticky;\n top: 0;\n z-index: 1;\n\n th {\n padding: 12px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n border-bottom: 2px solid #dee2e6;\n }\n }\n\n tbody {\n tr {\n border-bottom: 1px solid #dee2e6;\n transition: background 0.2s;\n\n &:hover {\n background: #f8f9fa;\n }\n\n td {\n padding: 12px;\n font-size: 13px;\n\n code {\n background: #f8f9fa;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 12px;\n font-family: 'Courier New', monospace;\n }\n }\n }\n }\n}\n\n.status-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n\n &.status-running {\n background: #cfe2ff;\n color: #0d6efd;\n }\n\n &.status-success {\n background: #d1e7dd;\n color: #0f5132;\n }\n\n &.status-error {\n background: #f8d7da;\n color: #842029;\n }\n\n &.status-warning {\n background: #fff3cd;\n color: #664d03;\n }\n\n &.status-info {\n background: #cff4fc;\n color: #055160;\n }\n}\n\n.time-until {\n font-weight: 600;\n color: #0078d4;\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: #6c757d;\n\n i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.3;\n }\n\n p {\n margin: 0;\n font-size: 14px;\n }\n}\n"] }]
483
+ }], () => [{ type: i1.SchedulingInstrumentationService }, { type: i0.ChangeDetectorRef }], { initialState: [{
484
+ type: Input
485
+ }], stateChange: [{
486
+ type: Output
487
+ }] }); })();
488
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SchedulingMonitoringComponent, { className: "SchedulingMonitoringComponent", filePath: "src/Scheduling/components/scheduling-monitoring.component.ts", lineNumber: 11 }); })();
489
+ //# sourceMappingURL=scheduling-monitoring.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling-monitoring.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-monitoring.component.ts","../../../src/Scheduling/components/scheduling-monitoring.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef } from '@angular/core';
2
+ import { SchedulingInstrumentationService, JobTypeStatistics } from '../services/scheduling-instrumentation.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SchedulingTypesComponent implements OnInit, OnDestroy {
5
+ private schedulingService;
6
+ private cdr;
7
+ initialState: any;
8
+ stateChange: EventEmitter<any>;
9
+ jobTypes: JobTypeStatistics[];
10
+ isLoading: boolean;
11
+ private destroy$;
12
+ constructor(schedulingService: SchedulingInstrumentationService, cdr: ChangeDetectorRef);
13
+ ngOnInit(): void;
14
+ ngOnDestroy(): void;
15
+ private loadData;
16
+ onRefresh(): void;
17
+ formatPercentage(value: number): string;
18
+ getTypeIcon(typeName: string): string;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<SchedulingTypesComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SchedulingTypesComponent, "app-scheduling-types", never, { "initialState": { "alias": "initialState"; "required": false; }; }, { "stateChange": "stateChange"; }, never, never, false, never>;
21
+ }
22
+ //# sourceMappingURL=scheduling-types.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling-types.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-types.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAiB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG7G,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;;AAErH,qBAKa,wBAAyB,YAAW,MAAM,EAAE,SAAS;IAU9D,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAVJ,YAAY,EAAE,GAAG,CAAC;IACjB,WAAW,oBAA2B;IAEzC,QAAQ,EAAE,iBAAiB,EAAE,CAAM;IACnC,SAAS,UAAS;IAEzB,OAAO,CAAC,QAAQ,CAAuB;gBAG7B,iBAAiB,EAAE,gCAAgC,EACnD,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,QAAQ;IAmBT,SAAS,IAAI,IAAI;IAIjB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;yCAlDjC,wBAAwB;2CAAxB,wBAAwB;CA2DpC"}