@dflat-core/web 1.7.2082 → 1.7.2084
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.
|
@@ -4127,6 +4127,14 @@ var ConfirmOptions;
|
|
|
4127
4127
|
})(ConfirmOptions || (ConfirmOptions = {}));
|
|
4128
4128
|
var LogService = class LogService {
|
|
4129
4129
|
constructor() {}
|
|
4130
|
+
toLocalDateTime(value) {
|
|
4131
|
+
const match = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})\.(\d{3})$/.exec((value ?? "").trim());
|
|
4132
|
+
if (!match) return value;
|
|
4133
|
+
const [, y, mo, d, h, mi, s, ms] = match.map(Number);
|
|
4134
|
+
const date = new Date(Date.UTC(y, mo - 1, d, h, mi, s, ms));
|
|
4135
|
+
const pad = (n, size = 2) => n.toString().padStart(size, "0");
|
|
4136
|
+
return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}.${pad(date.getMilliseconds(), 3)}`;
|
|
4137
|
+
}
|
|
4130
4138
|
splitData(item, logs, logComponent = null) {
|
|
4131
4139
|
let logSplit = [
|
|
4132
4140
|
" ",
|
|
@@ -4139,7 +4147,7 @@ var LogService = class LogService {
|
|
|
4139
4147
|
class: ""
|
|
4140
4148
|
};
|
|
4141
4149
|
if (item.indexOf(" INFO ") > -1 || item.indexOf(" DATA ") > -1 || item.indexOf(" ERROR ") > -1 || item.indexOf(" WARNING ") > -1) {
|
|
4142
|
-
logSplit[0] = item.split(" ")[0];
|
|
4150
|
+
logSplit[0] = this.toLocalDateTime(item.split(" ")[0]);
|
|
4143
4151
|
logSplit[1] = item.split(" ")[1];
|
|
4144
4152
|
logSplit[2] = item.split(" ")[2];
|
|
4145
4153
|
if (item.indexOf("[") > -1) logSplit[3] = item.split(" ")[3];
|
|
@@ -9336,6 +9344,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
9336
9344
|
var LogsComponent = class LogsComponent {
|
|
9337
9345
|
constructor(app) {
|
|
9338
9346
|
this.app = app;
|
|
9347
|
+
this.renderedScrollHeight = 0;
|
|
9339
9348
|
this.onDownloadLogs = new EventEmitter();
|
|
9340
9349
|
this.onDisplayLogs = new EventEmitter();
|
|
9341
9350
|
this.hasLogs = false;
|
|
@@ -9361,6 +9370,12 @@ var LogsComponent = class LogsComponent {
|
|
|
9361
9370
|
clearLogs() {
|
|
9362
9371
|
this.logs.splice(0, this.logs.length);
|
|
9363
9372
|
}
|
|
9373
|
+
ngAfterViewChecked() {
|
|
9374
|
+
const scrollHeight = this.logContainer?.nativeElement?.scrollHeight ?? 0;
|
|
9375
|
+
if (scrollHeight === this.renderedScrollHeight) return;
|
|
9376
|
+
this.renderedScrollHeight = scrollHeight;
|
|
9377
|
+
this.scrollToBottom();
|
|
9378
|
+
}
|
|
9364
9379
|
scrollToBottom() {
|
|
9365
9380
|
try {
|
|
9366
9381
|
this.logContainer.nativeElement.scrollTop = this.logContainer.nativeElement.scrollHeight + 10;
|
|
@@ -9420,7 +9435,7 @@ var LogsComponent = class LogsComponent {
|
|
|
9420
9435
|
}],
|
|
9421
9436
|
ngImport: i0,
|
|
9422
9437
|
template: "\r\n\r\n<alg-actions [proxy]=\"this\" [actions]=\"this.actions\" [showFilterButton]=\"false\" [showSearchButton]=\"false\" [showSearchBar]=\"true\">\r\n </alg-actions>\r\n<div class=\"logs-textarea\" #logContainer>\r\n \r\n\r\n <ng-container *ngIf=\"logs.length == 0\">\r\n <span class=\"log-info\">En attente des logs...</span>\r\n </ng-container>\r\n\r\n <ng-container>\r\n <table>\r\n <tr *ngFor=\"let log of this.getlogs();\" [ngClass]=\"log.class\">\r\n <td class = \"td1\">{{log.content[0]}}</td>\r\n <td class = \"td2\">{{log.content[1]}}</td>\r\n <td *ngIf=\"log.content[2].indexOf('[') > -1\"\r\n style=\"cursor:pointer;\"\r\n (click)=\"cliquerSurCase(log.content[2])\" \r\n class = \"td3 td3over\">{{log.content[2]}}\r\n </td>\r\n <td *ngIf=\"log.content[2].indexOf('[') === -1\"\r\n style=\"cursor:text;\"\r\n (click)=\"cliquerSurCase(log.content[2])\" \r\n class = \"td3\">{{log.content[2]}}\r\n </td>\r\n <td class = \"td4\">{{log.content[3]}}</td>\r\n <td class = \"td5\">{{log.content[4]}}</td>\r\n </tr>\r\n </table>\r\n </ng-container>\r\n </div>\r\n",
|
|
9423
|
-
styles: [".hw100{height:100%;width:100%;display:flex}.hw100.flex-col{flex-direction:column}.hw100.flex-row{flex-direction:row}.logs{margin:10px 10px 10px 20px}.log-error{color:#c63}.log-data{color:#81c27d}.log-warning{color:#d7ba7d}.log-info{color:#efefef}.logs-textarea{background-color:#1e1e1e;color:#fff;
|
|
9438
|
+
styles: [".hw100{height:100%;width:100%;display:flex}.hw100.flex-col{flex-direction:column}.hw100.flex-row{flex-direction:row}.logs{margin:10px 10px 10px 20px}.log-error{color:#c63}.log-data{color:#81c27d}.log-warning{color:#d7ba7d}.log-info{color:#efefef}:host{display:flex;flex-direction:column;height:100%}.logs-textarea{background-color:#1e1e1e;color:#fff;overflow:auto;padding:5px;flex:1 1 auto;min-height:0;font-family:Consolas,Courier New,monospace;font-size:12px}tr{table-layout:auto}.td1{padding-right:5px;min-width:158px;vertical-align:top}.td2,.td3{padding-left:5px;vertical-align:top}.td4{white-space:pre-wrap;padding-left:5px;vertical-align:top}.td5{display:true}.td3over:hover{text-decoration:underline}.search{-webkit-text-size-adjust:100%;text-size-adjust:100%;visibility:visible!important;box-sizing:border-box;font-family:inherit;margin:5px;display:block;width:100%;font-weight:400;line-height:1.5;color:#444;background-color:#fff;background-clip:padding-box;border-width:1px;border-style:solid;border-color:#cbc8d0;border-image:initial;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;font-size:10pt;padding:10px 6px;height:26px;min-height:26px;border-radius:5px;width:295px}\n"],
|
|
9424
9439
|
dependencies: [
|
|
9425
9440
|
{
|
|
9426
9441
|
kind: "directive",
|
|
@@ -9490,7 +9505,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
9490
9505
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
9491
9506
|
standalone: false,
|
|
9492
9507
|
template: "\r\n\r\n<alg-actions [proxy]=\"this\" [actions]=\"this.actions\" [showFilterButton]=\"false\" [showSearchButton]=\"false\" [showSearchBar]=\"true\">\r\n </alg-actions>\r\n<div class=\"logs-textarea\" #logContainer>\r\n \r\n\r\n <ng-container *ngIf=\"logs.length == 0\">\r\n <span class=\"log-info\">En attente des logs...</span>\r\n </ng-container>\r\n\r\n <ng-container>\r\n <table>\r\n <tr *ngFor=\"let log of this.getlogs();\" [ngClass]=\"log.class\">\r\n <td class = \"td1\">{{log.content[0]}}</td>\r\n <td class = \"td2\">{{log.content[1]}}</td>\r\n <td *ngIf=\"log.content[2].indexOf('[') > -1\"\r\n style=\"cursor:pointer;\"\r\n (click)=\"cliquerSurCase(log.content[2])\" \r\n class = \"td3 td3over\">{{log.content[2]}}\r\n </td>\r\n <td *ngIf=\"log.content[2].indexOf('[') === -1\"\r\n style=\"cursor:text;\"\r\n (click)=\"cliquerSurCase(log.content[2])\" \r\n class = \"td3\">{{log.content[2]}}\r\n </td>\r\n <td class = \"td4\">{{log.content[3]}}</td>\r\n <td class = \"td5\">{{log.content[4]}}</td>\r\n </tr>\r\n </table>\r\n </ng-container>\r\n </div>\r\n",
|
|
9493
|
-
styles: [".hw100{height:100%;width:100%;display:flex}.hw100.flex-col{flex-direction:column}.hw100.flex-row{flex-direction:row}.logs{margin:10px 10px 10px 20px}.log-error{color:#c63}.log-data{color:#81c27d}.log-warning{color:#d7ba7d}.log-info{color:#efefef}.logs-textarea{background-color:#1e1e1e;color:#fff;
|
|
9508
|
+
styles: [".hw100{height:100%;width:100%;display:flex}.hw100.flex-col{flex-direction:column}.hw100.flex-row{flex-direction:row}.logs{margin:10px 10px 10px 20px}.log-error{color:#c63}.log-data{color:#81c27d}.log-warning{color:#d7ba7d}.log-info{color:#efefef}:host{display:flex;flex-direction:column;height:100%}.logs-textarea{background-color:#1e1e1e;color:#fff;overflow:auto;padding:5px;flex:1 1 auto;min-height:0;font-family:Consolas,Courier New,monospace;font-size:12px}tr{table-layout:auto}.td1{padding-right:5px;min-width:158px;vertical-align:top}.td2,.td3{padding-left:5px;vertical-align:top}.td4{white-space:pre-wrap;padding-left:5px;vertical-align:top}.td5{display:true}.td3over:hover{text-decoration:underline}.search{-webkit-text-size-adjust:100%;text-size-adjust:100%;visibility:visible!important;box-sizing:border-box;font-family:inherit;margin:5px;display:block;width:100%;font-weight:400;line-height:1.5;color:#444;background-color:#fff;background-clip:padding-box;border-width:1px;border-style:solid;border-color:#cbc8d0;border-image:initial;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;font-size:10pt;padding:10px 6px;height:26px;min-height:26px;border-radius:5px;width:295px}\n"]
|
|
9494
9509
|
}]
|
|
9495
9510
|
}],
|
|
9496
9511
|
ctorParameters: () => [{ type: ApplicationService }],
|
|
@@ -15547,7 +15562,7 @@ var ExtendedActionComponent = class ExtendedActionComponent {
|
|
|
15547
15562
|
}],
|
|
15548
15563
|
ngImport: i0,
|
|
15549
15564
|
template: "<div class=\"extended-action-container\">\r\n <ng-container *ngIf=\"!this.displayLogTab;\">\r\n <div class=\"form-container\">\r\n <form [formGroup]=\"this.wrapper.form\" id=\"filterForm\">\r\n <div *ngFor=\"let field of this.Fields\">\r\n <alg-field \r\n [field]=\"field\" \r\n [form]=\"this.wrapper.form\"\r\n (propertyChanged)=\"onPropertyChanged($event)\"\r\n > \r\n </alg-field>\r\n </div>\r\n </form>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"this.displayLogTab;\">\r\n <div class=\"log-container\" [class.visible]=\"this.displayLogTab\">\r\n <msw-logs #logsComponent [logs]=\"logs\" (onDownloadLogs)=\"downloadLogs()\"\r\n (onDisplayLogs)=\"displayLogs()\">\r\n </msw-logs>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
15550
|
-
styles: [".extended-action-container{height:600px}.extended-action-container .form-container{padding:20px}.extended-action-container .log-container{height:
|
|
15565
|
+
styles: [".extended-action-container{height:600px;max-height:70vh}.extended-action-container .form-container{padding:20px}.extended-action-container .log-container{height:100%;display:flex;flex-direction:column;visibility:collapse}.extended-action-container .log-container.visible{visibility:visible}.extended-action-container .log-container msw-logs{flex:1 1 auto;min-height:0}\n"],
|
|
15551
15566
|
dependencies: [
|
|
15552
15567
|
{
|
|
15553
15568
|
kind: "directive",
|
|
@@ -15629,7 +15644,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
15629
15644
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
15630
15645
|
standalone: false,
|
|
15631
15646
|
template: "<div class=\"extended-action-container\">\r\n <ng-container *ngIf=\"!this.displayLogTab;\">\r\n <div class=\"form-container\">\r\n <form [formGroup]=\"this.wrapper.form\" id=\"filterForm\">\r\n <div *ngFor=\"let field of this.Fields\">\r\n <alg-field \r\n [field]=\"field\" \r\n [form]=\"this.wrapper.form\"\r\n (propertyChanged)=\"onPropertyChanged($event)\"\r\n > \r\n </alg-field>\r\n </div>\r\n </form>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"this.displayLogTab;\">\r\n <div class=\"log-container\" [class.visible]=\"this.displayLogTab\">\r\n <msw-logs #logsComponent [logs]=\"logs\" (onDownloadLogs)=\"downloadLogs()\"\r\n (onDisplayLogs)=\"displayLogs()\">\r\n </msw-logs>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
15632
|
-
styles: [".extended-action-container{height:600px}.extended-action-container .form-container{padding:20px}.extended-action-container .log-container{height:
|
|
15647
|
+
styles: [".extended-action-container{height:600px;max-height:70vh}.extended-action-container .form-container{padding:20px}.extended-action-container .log-container{height:100%;display:flex;flex-direction:column;visibility:collapse}.extended-action-container .log-container.visible{visibility:visible}.extended-action-container .log-container msw-logs{flex:1 1 auto;min-height:0}\n"]
|
|
15633
15648
|
}]
|
|
15634
15649
|
}],
|
|
15635
15650
|
ctorParameters: () => [{ type: PropertyChangeBus }, { type: ValidationService }],
|