@smartbit4all/ng-client 3.1.26 → 3.1.27
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/esm2020/lib/session/projects.mjs +7 -9
- package/esm2020/lib/session/smart-session.module.mjs +6 -22
- package/esm2020/lib/smart-form/api/api/api.mjs +1 -1
- package/esm2020/lib/smart-form/api/api/default.service.mjs +1 -1
- package/esm2020/lib/smart-form/api/api.module.mjs +1 -1
- package/esm2020/lib/smart-form/api/configuration.mjs +1 -1
- package/esm2020/lib/smart-form/api/encoder.mjs +1 -1
- package/esm2020/lib/smart-form/api/index.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/models.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/propertyMapping.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/param.mjs +1 -1
- package/esm2020/lib/smart-form/api/variables.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2020/lib/view-context/api/api/api.mjs +1 -1
- package/esm2020/lib/view-context/api/api/view.service.mjs +1 -1
- package/esm2020/lib/view-context/api/api.module.mjs +1 -1
- package/esm2020/lib/view-context/api/configuration.mjs +1 -1
- package/esm2020/lib/view-context/api/encoder.mjs +1 -1
- package/esm2020/lib/view-context/api/index.mjs +1 -1
- package/esm2020/lib/view-context/api/model/closeResult.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentModel.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentModelChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChangeKind.mjs +1 -1
- package/esm2020/lib/view-context/api/model/downloadedFile.mjs +1 -1
- package/esm2020/lib/view-context/api/model/imageResource.mjs +1 -1
- package/esm2020/lib/view-context/api/model/link.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageOption.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageOptionType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageResult.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/models.mjs +1 -1
- package/esm2020/lib/view-context/api/model/openPendingData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonIconPos.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionFeedbackType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionRequest.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/valueSet.mjs +1 -1
- package/esm2020/lib/view-context/api/model/view.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewApiError.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContext.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextUpdate.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewState.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewType.mjs +1 -1
- package/esm2020/lib/view-context/api/param.mjs +1 -1
- package/esm2020/lib/view-context/api/variables.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api/api.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api/value.service.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api.module.mjs +1 -1
- package/esm2020/lib/view-context/value-api/configuration.mjs +1 -1
- package/esm2020/lib/view-context/value-api/encoder.mjs +1 -1
- package/esm2020/lib/view-context/value-api/index.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/genericValue.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/models.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/value.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetData.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
- package/esm2020/lib/view-context/value-api/param.mjs +1 -1
- package/esm2020/lib/view-context/value-api/variables.mjs +1 -1
- package/fesm2015/smartbit4all-ng-client.mjs +11 -381
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +11 -379
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/projects.d.ts +6 -8
- package/lib/session/smart-session.module.d.ts +7 -10
- package/package.json +1 -1
- package/smartbit4all-ng-client-3.1.27.tgz +0 -0
- package/src/lib/smart-form/api/README.md +226 -226
- package/src/lib/smart-grid/api/grid-api/README.md +226 -226
- package/src/lib/view-context/api/README.md +226 -226
- package/src/lib/view-context/value-api/README.md +226 -226
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.mjs +0 -90
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs +0 -43
- package/esm2020/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.mjs +0 -40
- package/esm2020/lib/session/dev-tool/smart-dev-tool.interceptor.mjs +0 -52
- package/esm2020/lib/session/dev-tool/smart-dev-tool.service.mjs +0 -165
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.d.ts +0 -28
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.d.ts +0 -18
- package/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.d.ts +0 -15
- package/lib/session/dev-tool/smart-dev-tool.interceptor.d.ts +0 -18
- package/lib/session/dev-tool/smart-dev-tool.service.d.ts +0 -57
- package/smartbit4all-ng-client-3.1.26.tgz +0 -0
package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { SmartdialogService } from '../../../smart-dialog/projects';
|
|
3
|
-
import { SmartDevToolDialogComponent } from './smart-dev-tool-dialog.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "@angular/router";
|
|
7
|
-
import * as i3 from "../smart-dev-tool.service";
|
|
8
|
-
export class SmartDevToolDialogService extends SmartdialogService {
|
|
9
|
-
constructor(dialog, router, service) {
|
|
10
|
-
super(dialog, router);
|
|
11
|
-
this.service = service;
|
|
12
|
-
this.update = this.service.descriptorChanged;
|
|
13
|
-
}
|
|
14
|
-
handleAfterClosed(result) { }
|
|
15
|
-
openDialog() {
|
|
16
|
-
const dialogData = {
|
|
17
|
-
content: {
|
|
18
|
-
title: '',
|
|
19
|
-
},
|
|
20
|
-
size: {},
|
|
21
|
-
customComponent: SmartDevToolDialogComponent,
|
|
22
|
-
};
|
|
23
|
-
this.createDialog(dialogData, SmartDevToolDialogComponent);
|
|
24
|
-
}
|
|
25
|
-
getData() {
|
|
26
|
-
return this.service.descriptor;
|
|
27
|
-
}
|
|
28
|
-
getPureString() {
|
|
29
|
-
return this.service.getPureString();
|
|
30
|
-
}
|
|
31
|
-
clear() {
|
|
32
|
-
this.service.clear();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
SmartDevToolDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, deps: [{ token: i1.MatDialog }, { token: i2.Router }, { token: i3.SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
SmartDevToolDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, providedIn: 'root' });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{
|
|
40
|
-
providedIn: 'root',
|
|
41
|
-
}]
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.Router }, { type: i3.SmartDevToolService }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGV2LXRvb2wtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL2Rldi10b29sL3NtYXJ0LWRldi10b29sLWRpYWxvZy9zbWFydC1kZXYtdG9vbC1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBbUIsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVyRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFLaEYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUFrQjtJQUcvRCxZQUFZLE1BQWlCLEVBQUUsTUFBYyxFQUFTLE9BQTRCO1FBQ2hGLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFEOEIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFFaEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFUSxpQkFBaUIsQ0FBQyxNQUFXLElBQVMsQ0FBQztJQUV2QyxVQUFVO1FBQ2pCLE1BQU0sVUFBVSxHQUFvQjtZQUNsQyxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLEVBQUU7YUFDVjtZQUNELElBQUksRUFBRSxFQUFFO1lBQ1IsZUFBZSxFQUFFLDJCQUEyQjtTQUM3QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O3NIQS9CVSx5QkFBeUI7MEhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnREaWFsb2dEYXRhLCBTbWFydGRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydERldlRvb2xEZXNjcmlwdG9yLCBTbWFydERldlRvb2xTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZGV2LXRvb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0RGV2VG9vbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZGV2LXRvb2wtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnREZXZUb29sRGlhbG9nU2VydmljZSBleHRlbmRzIFNtYXJ0ZGlhbG9nU2VydmljZSB7XHJcbiAgdXBkYXRlOiBTdWJqZWN0PHZvaWQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihkaWFsb2c6IE1hdERpYWxvZywgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBzZXJ2aWNlOiBTbWFydERldlRvb2xTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihkaWFsb2csIHJvdXRlcik7XHJcbiAgICB0aGlzLnVwZGF0ZSA9IHRoaXMuc2VydmljZS5kZXNjcmlwdG9yQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGhhbmRsZUFmdGVyQ2xvc2VkKHJlc3VsdDogYW55KTogdm9pZCB7fVxyXG5cclxuICBvdmVycmlkZSBvcGVuRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGlhbG9nRGF0YTogU21hcnREaWFsb2dEYXRhID0ge1xyXG4gICAgICBjb250ZW50OiB7XHJcbiAgICAgICAgdGl0bGU6ICcnLFxyXG4gICAgICB9LFxyXG4gICAgICBzaXplOiB7fSxcclxuICAgICAgY3VzdG9tQ29tcG9uZW50OiBTbWFydERldlRvb2xEaWFsb2dDb21wb25lbnQsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jcmVhdGVEaWFsb2coZGlhbG9nRGF0YSwgU21hcnREZXZUb29sRGlhbG9nQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIGdldERhdGEoKTogU21hcnREZXZUb29sRGVzY3JpcHRvciB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmRlc2NyaXB0b3IhO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHVyZVN0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRQdXJlU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5jbGVhcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../smart-dev-tool-dialog/smart-dev-tool-dialog.service";
|
|
5
|
-
import * as i2 from "@angular/material/button";
|
|
6
|
-
import * as i3 from "../../../smart-icon/smart-icon/smart-icon.component";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
export class SmartDevToolFloatingButtonComponent {
|
|
9
|
-
constructor(service) {
|
|
10
|
-
this.service = service;
|
|
11
|
-
this._destroy$ = new Subject();
|
|
12
|
-
this.adminKeyName = 'useDevTool';
|
|
13
|
-
this.isShown = false;
|
|
14
|
-
this.errorsCount = '';
|
|
15
|
-
this.service.service.newErrorsCountChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
|
|
16
|
-
this.errorsCount = `${this.service.service.newErrorsCount > 0 ? this.service.service.newErrorsCount : ''}`;
|
|
17
|
-
});
|
|
18
|
-
window.addEventListener('storage', (event) => {
|
|
19
|
-
if (event.storageArea === localStorage) {
|
|
20
|
-
if (Object.keys(localStorage).includes(this.adminKeyName)) {
|
|
21
|
-
this.isShown = localStorage.getItem(this.adminKeyName) === 'true';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
this.isShown = localStorage.getItem(this.adminKeyName) === 'true';
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this._destroy$.next();
|
|
29
|
-
}
|
|
30
|
-
openDevToolDialog() {
|
|
31
|
-
this.service.openDialog();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
SmartDevToolFloatingButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolFloatingButtonComponent, deps: [{ token: i1.SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
SmartDevToolFloatingButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartDevToolFloatingButtonComponent, selector: "smart-session-dev-tool", ngImport: i0, template: "<button\r\n *ngIf=\"isShown\"\r\n mat-fab\r\n [color]=\"errorsCount.length ? 'warn' : 'accent'\"\r\n class=\"floatingButton\"\r\n extended\r\n title=\"devTool\"\r\n (click)=\"openDevToolDialog()\"\r\n>\r\n <smart-icon color=\"white\" icon=\"developer_mode\"></smart-icon>\r\n {{ errorsCount }}\r\n</button>\r\n", styles: [".floatingButton{position:fixed;right:2rem;bottom:2rem}.mat-icon.mat-white{color:#fff}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolFloatingButtonComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: 'smart-session-dev-tool', template: "<button\r\n *ngIf=\"isShown\"\r\n mat-fab\r\n [color]=\"errorsCount.length ? 'warn' : 'accent'\"\r\n class=\"floatingButton\"\r\n extended\r\n title=\"devTool\"\r\n (click)=\"openDevToolDialog()\"\r\n>\r\n <smart-icon color=\"white\" icon=\"developer_mode\"></smart-icon>\r\n {{ errorsCount }}\r\n</button>\r\n", styles: [".floatingButton{position:fixed;right:2rem;bottom:2rem}.mat-icon.mat-white{color:#fff}\n"] }]
|
|
39
|
-
}], ctorParameters: function () { return [{ type: i1.SmartDevToolDialogService }]; } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGV2LXRvb2wtZmxvYXRpbmctYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vZGV2LXRvb2wvc21hcnQtZGV2LXRvb2wtZmxvYXRpbmctYnV0dG9uL3NtYXJ0LWRldi10b29sLWZsb2F0aW5nLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL2Rldi10b29sL3NtYXJ0LWRldi10b29sLWZsb2F0aW5nLWJ1dHRvbi9zbWFydC1kZXYtdG9vbC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUTFDLE1BQU0sT0FBTyxtQ0FBbUM7SUFROUMsWUFBb0IsT0FBa0M7UUFBbEMsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFQOUMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hGLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUNsRixFQUFFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssWUFBWSxFQUFFO2dCQUN0QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtvQkFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxNQUFNLENBQUM7aUJBQ25FO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssTUFBTSxDQUFDO0lBQ3BFLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDOztnSUEvQlUsbUNBQW1DO29IQUFuQyxtQ0FBbUMsOERDVGhELG1WQVlBOzJGREhhLG1DQUFtQztrQkFML0MsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnREZXZUb29sRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWRldi10b29sLWRpYWxvZy9zbWFydC1kZXYtdG9vbC1kaWFsb2cuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LXNlc3Npb24tZGV2LXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1kZXYtdG9vbC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWRldi10b29sLWZsb2F0aW5nLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydERldlRvb2xGbG9hdGluZ0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBhZG1pbktleU5hbWU6IHN0cmluZyA9ICd1c2VEZXZUb29sJztcclxuICBpc1Nob3duOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGVycm9yc0NvdW50OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBTbWFydERldlRvb2xEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc2VydmljZS5uZXdFcnJvcnNDb3VudENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmVycm9yc0NvdW50ID0gYCR7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNlcnZpY2UubmV3RXJyb3JzQ291bnQgPiAwID8gdGhpcy5zZXJ2aWNlLnNlcnZpY2UubmV3RXJyb3JzQ291bnQgOiAnJ1xyXG4gICAgICB9YDtcclxuICAgIH0pO1xyXG5cclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudC5zdG9yYWdlQXJlYSA9PT0gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGxvY2FsU3RvcmFnZSkuaW5jbHVkZXModGhpcy5hZG1pbktleU5hbWUpKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2hvd24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmFkbWluS2V5TmFtZSkgPT09ICd0cnVlJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaXNTaG93biA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuYWRtaW5LZXlOYW1lKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9wZW5EZXZUb29sRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLm9wZW5EaWFsb2coKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gICAgKm5nSWY9XCJpc1Nob3duXCJcclxuICAgIG1hdC1mYWJcclxuICAgIFtjb2xvcl09XCJlcnJvcnNDb3VudC5sZW5ndGggPyAnd2FybicgOiAnYWNjZW50J1wiXHJcbiAgICBjbGFzcz1cImZsb2F0aW5nQnV0dG9uXCJcclxuICAgIGV4dGVuZGVkXHJcbiAgICB0aXRsZT1cImRldlRvb2xcIlxyXG4gICAgKGNsaWNrKT1cIm9wZW5EZXZUb29sRGlhbG9nKClcIlxyXG4+XHJcbiAgICA8c21hcnQtaWNvbiBjb2xvcj1cIndoaXRlXCIgaWNvbj1cImRldmVsb3Blcl9tb2RlXCI+PC9zbWFydC1pY29uPlxyXG4gICAge3sgZXJyb3JzQ291bnQgfX1cclxuPC9idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { HttpEventType, } from "@angular/common/http";
|
|
2
|
-
import { Injectable } from "@angular/core";
|
|
3
|
-
import { catchError, map, throwError } from "rxjs";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./smart-dev-tool.service";
|
|
6
|
-
export class SmartDevToolInterceptor {
|
|
7
|
-
constructor(service) {
|
|
8
|
-
this.service = service;
|
|
9
|
-
}
|
|
10
|
-
intercept(request, next) {
|
|
11
|
-
if (!this.service.isActive) {
|
|
12
|
-
return next.handle(request);
|
|
13
|
-
}
|
|
14
|
-
let requestDate = new Date();
|
|
15
|
-
return next.handle(request).pipe(map((event) => {
|
|
16
|
-
if (event.type === HttpEventType.Response) {
|
|
17
|
-
let responseDate = new Date();
|
|
18
|
-
this.service.writeResponse(request, event, requestDate, responseDate);
|
|
19
|
-
}
|
|
20
|
-
return event;
|
|
21
|
-
}));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
SmartDevToolInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor, deps: [{ token: i1.SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
-
SmartDevToolInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor, decorators: [{
|
|
27
|
-
type: Injectable
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i1.SmartDevToolService }]; } });
|
|
29
|
-
export class SmartDevToolErrorInterceptor {
|
|
30
|
-
constructor(service) {
|
|
31
|
-
this.service = service;
|
|
32
|
-
}
|
|
33
|
-
intercept(request, next) {
|
|
34
|
-
if (!this.service.isActive) {
|
|
35
|
-
return next.handle(request);
|
|
36
|
-
}
|
|
37
|
-
let requestDate = new Date();
|
|
38
|
-
return next.handle(request).pipe(catchError((error) => {
|
|
39
|
-
if (error.status !== 200) {
|
|
40
|
-
let responseDate = new Date();
|
|
41
|
-
this.service.writeResponse(request, error, requestDate, responseDate);
|
|
42
|
-
}
|
|
43
|
-
return throwError(error);
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
SmartDevToolErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor, deps: [{ token: i1.SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
-
SmartDevToolErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor });
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor, decorators: [{
|
|
50
|
-
type: Injectable
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i1.SmartDevToolService }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGV2LXRvb2wuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL2Rldi10b29sL3NtYXJ0LWRldi10b29sLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxhQUFhLEdBSWhCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUkvRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUcsQ0FBQztJQUVwRCxTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUU7WUFDMUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZDLElBQUksWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQ3pFO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O29IQWxCUSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOztBQXNCWCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUcsQ0FBQztJQUVwRCxTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM1QixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDekU7WUFFRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7eUhBbEJRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXHJcbiAgICBIdHRwRXZlbnQsXHJcbiAgICBIdHRwRXZlbnRUeXBlLFxyXG4gICAgSHR0cEhhbmRsZXIsXHJcbiAgICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgICBIdHRwUmVxdWVzdCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNtYXJ0RGV2VG9vbFNlcnZpY2UgfSBmcm9tIFwiLi9zbWFydC1kZXYtdG9vbC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydERldlRvb2xJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFNtYXJ0RGV2VG9vbFNlcnZpY2UpIHt9XHJcblxyXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuaXNBY3RpdmUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcmVxdWVzdERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VEYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uud3JpdGVSZXNwb25zZShyZXF1ZXN0LCBldmVudCwgcmVxdWVzdERhdGUsIHJlc3BvbnNlRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU21hcnREZXZUb29sRXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFNtYXJ0RGV2VG9vbFNlcnZpY2UpIHt9XHJcblxyXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuaXNBY3RpdmUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcmVxdWVzdERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgIT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS53cml0ZVJlc3BvbnNlKHJlcXVlc3QsIGVycm9yLCByZXF1ZXN0RGF0ZSwgcmVzcG9uc2VEYXRlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
import { Injectable, Pipe } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { SmartSubject } from '../../smart-subject/projects';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../cookie-service/smart-cookie.service";
|
|
7
|
-
export class SmartDevToolService {
|
|
8
|
-
constructor(cookieService) {
|
|
9
|
-
this.cookieService = cookieService;
|
|
10
|
-
this.smartDevToolName = 'smartDevTool';
|
|
11
|
-
this.isSmartDevToolActiveName = 'smartDevToolActive';
|
|
12
|
-
this.isActive = false;
|
|
13
|
-
this.smartDevToolHoursName = 'smartDevToolHours';
|
|
14
|
-
this.smartDevToolMaxName = 'smartDevToolMaxCalls';
|
|
15
|
-
this.hoursToSave = 1;
|
|
16
|
-
this.maxNumOfSavedCalls = 50;
|
|
17
|
-
this._destroy$ = new Subject();
|
|
18
|
-
this.descriptorChanged = new SmartSubject(this._destroy$);
|
|
19
|
-
this.newErrorsCount = 0;
|
|
20
|
-
this.newErrorsCountChanged = new SmartSubject(this._destroy$);
|
|
21
|
-
this.setUpLocalStorage();
|
|
22
|
-
let apiCallsFromLocalStorage = localStorage.getItem(this.smartDevToolName);
|
|
23
|
-
if (apiCallsFromLocalStorage) {
|
|
24
|
-
this.descriptor = JSON.parse(apiCallsFromLocalStorage);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.descriptor = { apiCalls: [] };
|
|
28
|
-
this.save();
|
|
29
|
-
}
|
|
30
|
-
window.addEventListener('storage', (event) => {
|
|
31
|
-
if (event.storageArea === localStorage) {
|
|
32
|
-
this.isActive = localStorage.getItem(this.isSmartDevToolActiveName) === 'true';
|
|
33
|
-
let hoursToSaveString = localStorage.getItem(this.smartDevToolHoursName);
|
|
34
|
-
if (hoursToSaveString) {
|
|
35
|
-
this.hoursToSave = Number.parseInt(hoursToSaveString);
|
|
36
|
-
}
|
|
37
|
-
let maxNumOfSavedCalls = localStorage.getItem(this.smartDevToolMaxName);
|
|
38
|
-
if (maxNumOfSavedCalls) {
|
|
39
|
-
this.maxNumOfSavedCalls = Number.parseInt(maxNumOfSavedCalls);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
ngOnDestroy() {
|
|
45
|
-
this._destroy$.next();
|
|
46
|
-
this._destroy$.complete();
|
|
47
|
-
}
|
|
48
|
-
setUpLocalStorage() {
|
|
49
|
-
let keysOfLocalStorage = Object.keys(localStorage);
|
|
50
|
-
if (!keysOfLocalStorage.includes(this.isSmartDevToolActiveName)) {
|
|
51
|
-
localStorage.setItem(this.isSmartDevToolActiveName, 'true');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
writeResponse(request, response, requestDate, responseDate) {
|
|
55
|
-
this.sanitizeByLength();
|
|
56
|
-
this.sanitizeByTime();
|
|
57
|
-
let requestHeader = this.createObject(request.headers.keys(), request.headers, false);
|
|
58
|
-
let responseHeader = this.createObject(response.headers.keys(), response.headers, false);
|
|
59
|
-
let _localStorage = this.createObject(Object.keys(localStorage).filter((key) => key !== this.smartDevToolName), localStorage, true);
|
|
60
|
-
let _sessionStorage = this.createObject(Object.keys(sessionStorage), sessionStorage, true);
|
|
61
|
-
let _cookies = this.cookieService.getAll();
|
|
62
|
-
this.descriptor.apiCalls = [
|
|
63
|
-
{
|
|
64
|
-
url: response.url,
|
|
65
|
-
requestBody: request.body,
|
|
66
|
-
requestHeader,
|
|
67
|
-
requestDate,
|
|
68
|
-
requestMethod: request.method,
|
|
69
|
-
responseBody: response.body ?? null,
|
|
70
|
-
responseHeader,
|
|
71
|
-
responseStatus: response.status,
|
|
72
|
-
responseStatusText: response.statusText,
|
|
73
|
-
responseDate,
|
|
74
|
-
localStorage: _localStorage,
|
|
75
|
-
sessionStorage: _sessionStorage,
|
|
76
|
-
cookies: _cookies,
|
|
77
|
-
},
|
|
78
|
-
...this.descriptor.apiCalls,
|
|
79
|
-
];
|
|
80
|
-
if (response.status !== 200) {
|
|
81
|
-
this.newErrorsCount++;
|
|
82
|
-
this.newErrorsCountChanged.next();
|
|
83
|
-
}
|
|
84
|
-
this.save();
|
|
85
|
-
}
|
|
86
|
-
clearErrors() {
|
|
87
|
-
this.newErrorsCount = 0;
|
|
88
|
-
this.newErrorsCountChanged.next();
|
|
89
|
-
}
|
|
90
|
-
createObject(keys, mapWithValues, useGetItem) {
|
|
91
|
-
let newObject = {};
|
|
92
|
-
keys.forEach((key) => {
|
|
93
|
-
if (useGetItem) {
|
|
94
|
-
newObject[key] = mapWithValues.getItem(key);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
newObject[key] = mapWithValues.get(key);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
return newObject;
|
|
101
|
-
}
|
|
102
|
-
sanitizeByTime() {
|
|
103
|
-
let now = new Date();
|
|
104
|
-
this.descriptor.apiCalls = this.descriptor.apiCalls.filter((apiCall) => {
|
|
105
|
-
let hoursBetween;
|
|
106
|
-
if (typeof apiCall.requestDate === 'string') {
|
|
107
|
-
hoursBetween = Math.floor(Math.abs(now.getMilliseconds() - new Date(apiCall.requestDate).getMilliseconds()) / 36e5);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
hoursBetween = Math.floor(Math.abs(now.getMilliseconds() - apiCall.requestDate.getMilliseconds()) / 36e5);
|
|
111
|
-
}
|
|
112
|
-
return hoursBetween < this.hoursToSave;
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
sanitizeByLength() {
|
|
116
|
-
if (this.descriptor?.apiCalls && this.descriptor.apiCalls.length > this.maxNumOfSavedCalls) {
|
|
117
|
-
let length = this.descriptor.apiCalls.length;
|
|
118
|
-
this.descriptor.apiCalls.splice(this.maxNumOfSavedCalls - 1, length - this.maxNumOfSavedCalls);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
save() {
|
|
122
|
-
try {
|
|
123
|
-
localStorage.setItem(this.smartDevToolName, JSON.stringify(this.descriptor));
|
|
124
|
-
this.descriptorChanged.next();
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
// localStorage.setItem() throws a "QuotaExceededError" DOMException exception if the new value
|
|
128
|
-
// couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site,
|
|
129
|
-
// or if the quota has been exceeded.)
|
|
130
|
-
this.sanitizeByLength();
|
|
131
|
-
this.save();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
clear() {
|
|
135
|
-
this.descriptor = {
|
|
136
|
-
apiCalls: [],
|
|
137
|
-
};
|
|
138
|
-
this.save();
|
|
139
|
-
}
|
|
140
|
-
getPureString() {
|
|
141
|
-
return localStorage.getItem(this.smartDevToolName);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
SmartDevToolService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, deps: [{ token: i1.SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
145
|
-
SmartDevToolService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, providedIn: 'root' });
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, decorators: [{
|
|
147
|
-
type: Injectable,
|
|
148
|
-
args: [{
|
|
149
|
-
providedIn: 'root',
|
|
150
|
-
}]
|
|
151
|
-
}], ctorParameters: function () { return [{ type: i1.SmartCookieService }]; } });
|
|
152
|
-
export class SmartDevToolDatePipe extends DatePipe {
|
|
153
|
-
transform(value, format = 'yyyy.MM.dd. H:mm:ss') {
|
|
154
|
-
return super.transform(value, format);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
SmartDevToolDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
|
|
158
|
-
SmartDevToolDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, name: "smartDevToolDatePipe" });
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, decorators: [{
|
|
160
|
-
type: Pipe,
|
|
161
|
-
args: [{
|
|
162
|
-
name: 'smartDevToolDatePipe',
|
|
163
|
-
}]
|
|
164
|
-
}] });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGV2LXRvb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vZGV2LXRvb2wvc21hcnQtZGV2LXRvb2wuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBYSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLG1CQUFtQjtJQWlCOUIsWUFBb0IsYUFBaUM7UUFBakMsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBZHJELHFCQUFnQixHQUFXLGNBQWMsQ0FBQztRQUMxQyw2QkFBd0IsR0FBVyxvQkFBb0IsQ0FBQztRQUN4RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLDBCQUFxQixHQUFXLG1CQUFtQixDQUFDO1FBQ3BELHdCQUFtQixHQUFXLHNCQUFzQixDQUFDO1FBQ3JELGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsc0JBQWlCLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwRSxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQiwwQkFBcUIsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBR3RFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLElBQUksd0JBQXdCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FB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b250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNtYXJ0Q29va2llU2VydmljZSB9IGZyb20gJy4uL2Nvb2tpZS1zZXJ2aWNlL3NtYXJ0LWNvb2tpZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnREZXZUb29sU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZGVzY3JpcHRvcj86IFNtYXJ0RGV2VG9vbERlc2NyaXB0b3I7XHJcblxyXG4gIHNtYXJ0RGV2VG9vbE5hbWU6IHN0cmluZyA9ICdzbWFydERldlRvb2wnO1xyXG4gIGlzU21hcnREZXZUb29sQWN0aXZlTmFtZTogc3RyaW5nID0gJ3NtYXJ0RGV2VG9vbEFjdGl2ZSc7XHJcbiAgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzbWFydERldlRvb2xIb3Vyc05hbWU6IHN0cmluZyA9ICdzbWFydERldlRvb2xIb3Vycyc7XHJcbiAgc21hcnREZXZUb29sTWF4TmFtZTogc3RyaW5nID0gJ3NtYXJ0RGV2VG9vbE1heENhbGxzJztcclxuICBob3Vyc1RvU2F2ZTogbnVtYmVyID0gMTtcclxuICBtYXhOdW1PZlNhdmVkQ2FsbHM6IG51bWJlciA9IDUwO1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZGVzY3JpcHRvckNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuXHJcbiAgbmV3RXJyb3JzQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgbmV3RXJyb3JzQ291bnRDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogU21hcnRDb29raWVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNldFVwTG9jYWxTdG9yYWdlKCk7XHJcblxyXG4gICAgbGV0IGFwaUNhbGxzRnJvbUxvY2FsU3RvcmFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc21hcnREZXZUb29sTmFtZSk7XHJcbiAgICBpZiAoYXBpQ2FsbHNGcm9tTG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvciA9IEpTT04ucGFyc2UoYXBpQ2FsbHNGcm9tTG9jYWxTdG9yYWdlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvciA9IHsgYXBpQ2FsbHM6IFtdIH07XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudC5zdG9yYWdlQXJlYSA9PT0gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuaXNTbWFydERldlRvb2xBY3RpdmVOYW1lKSA9PT0gJ3RydWUnO1xyXG4gICAgICAgIGxldCBob3Vyc1RvU2F2ZVN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc21hcnREZXZUb29sSG91cnNOYW1lKTtcclxuICAgICAgICBpZiAoaG91cnNUb1NhdmVTdHJpbmcpIHtcclxuICAgICAgICAgIHRoaXMuaG91cnNUb1NhdmUgPSBOdW1iZXIucGFyc2VJbnQoaG91cnNUb1NhdmVTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbWF4TnVtT2ZTYXZlZENhbGxzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zbWFydERldlRvb2xNYXhOYW1lKTtcclxuICAgICAgICBpZiAobWF4TnVtT2ZTYXZlZENhbGxzKSB7XHJcbiAgICAgICAgICB0aGlzLm1heE51bU9mU2F2ZWRDYWxscyA9IE51bWJlci5wYXJzZUludChtYXhOdW1PZlNhdmVkQ2FsbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVwTG9jYWxTdG9yYWdlKCk6IHZvaWQge1xyXG4gICAgbGV0IGtleXNPZkxvY2FsU3RvcmFnZSA9IE9iamVjdC5rZXlzKGxvY2FsU3RvcmFnZSk7XHJcbiAgICBpZiAoIWtleXNPZkxvY2FsU3RvcmFnZS5pbmNsdWRlcyh0aGlzLmlzU21hcnREZXZUb29sQWN0aXZlTmFtZSkpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5pc1NtYXJ0RGV2VG9vbEFjdGl2ZU5hbWUsICd0cnVlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVJlc3BvbnNlKFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PiB8IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgcmVxdWVzdERhdGU6IERhdGUsXHJcbiAgICByZXNwb25zZURhdGU6IERhdGVcclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMuc2FuaXRpemVCeUxlbmd0aCgpO1xyXG4gICAgdGhpcy5zYW5pdGl6ZUJ5VGltZSgpO1xyXG5cclxuICAgIGxldCByZXF1ZXN0SGVhZGVyOiBhbnkgPSB0aGlzLmNyZWF0ZU9iamVjdChyZXF1ZXN0LmhlYWRlcnMua2V5cygpLCByZXF1ZXN0LmhlYWRlcnMsIGZhbHNlKTtcclxuICAgIGxldCByZXNwb25zZUhlYWRlcjogYW55ID0gdGhpcy5jcmVhdGVPYmplY3QocmVzcG9uc2UuaGVhZGVycy5rZXlzKCksIHJlc3BvbnNlLmhlYWRlcnMsIGZhbHNlKTtcclxuXHJcbiAgICBsZXQgX2xvY2FsU3RvcmFnZTogYW55ID0gdGhpcy5jcmVhdGVPYmplY3QoXHJcbiAgICAgIE9iamVjdC5rZXlzKGxvY2FsU3RvcmFnZSkuZmlsdGVyKChrZXk6IHN0cmluZykgPT4ga2V5ICE9PSB0aGlzLnNtYXJ0RGV2VG9vbE5hbWUpLFxyXG4gICAgICBsb2NhbFN0b3JhZ2UsXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgICBsZXQgX3Nlc3Npb25TdG9yYWdlOiBhbnkgPSB0aGlzLmNyZWF0ZU9iamVjdChPYmplY3Qua2V5cyhzZXNzaW9uU3RvcmFnZSksIHNlc3Npb25TdG9yYWdlLCB0cnVlKTtcclxuICAgIGxldCBfY29va2llczogYW55ID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldEFsbCgpO1xyXG5cclxuICAgIHRoaXMuZGVzY3JpcHRvciEuYXBpQ2FsbHMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICB1cmw6IHJlc3BvbnNlLnVybCxcclxuICAgICAgICByZXF1ZXN0Qm9keTogcmVxdWVzdC5ib2R5LFxyXG4gICAgICAgIHJlcXVlc3RIZWFkZXIsXHJcbiAgICAgICAgcmVxdWVzdERhdGUsXHJcbiAgICAgICAgcmVxdWVzdE1ldGhvZDogcmVxdWVzdC5tZXRob2QsXHJcbiAgICAgICAgcmVzcG9uc2VCb2R5OiAocmVzcG9uc2UgYXMgSHR0cFJlc3BvbnNlPGFueT4pLmJvZHkgPz8gbnVsbCxcclxuICAgICAgICByZXNwb25zZUhlYWRlcixcclxuICAgICAgICByZXNwb25zZVN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxyXG4gICAgICAgIHJlc3BvbnNlU3RhdHVzVGV4dDogcmVzcG9uc2Uuc3RhdHVzVGV4dCxcclxuICAgICAgICByZXNwb25zZURhdGUsXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlOiBfbG9jYWxTdG9yYWdlLFxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlOiBfc2Vzc2lvblN0b3JhZ2UsXHJcbiAgICAgICAgY29va2llczogX2Nvb2tpZXMsXHJcbiAgICAgIH0sXHJcbiAgICAgIC4uLnRoaXMuZGVzY3JpcHRvciEuYXBpQ2FsbHMsXHJcbiAgICBdO1xyXG5cclxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xyXG4gICAgICB0aGlzLm5ld0Vycm9yc0NvdW50Kys7XHJcbiAgICAgIHRoaXMubmV3RXJyb3JzQ291bnRDaGFuZ2VkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNhdmUoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyRXJyb3JzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5uZXdFcnJvcnNDb3VudCA9IDA7XHJcbiAgICB0aGlzLm5ld0Vycm9yc0NvdW50Q2hhbmdlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVPYmplY3Qoa2V5czogc3RyaW5nW10sIG1hcFdpdGhWYWx1ZXM6IGFueSwgdXNlR2V0SXRlbTogYm9vbGVhbik6IGFueSB7XHJcbiAgICBsZXQgbmV3T2JqZWN0OiBhbnkgPSB7fTtcclxuICAgIGtleXMuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKHVzZUdldEl0ZW0pIHtcclxuICAgICAgICBuZXdPYmplY3Rba2V5XSA9IG1hcFdpdGhWYWx1ZXMuZ2V0SXRlbShrZXkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld09iamVjdFtrZXldID0gbWFwV2l0aFZhbHVlcy5nZXQoa2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3T2JqZWN0O1xyXG4gIH1cclxuXHJcbiAgc2FuaXRpemVCeVRpbWUoKTogdm9pZCB7XHJcbiAgICBsZXQgbm93OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRvciEuYXBpQ2FsbHMgPSB0aGlzLmRlc2NyaXB0b3IhLmFwaUNhbGxzLmZpbHRlcihcclxuICAgICAgKGFwaUNhbGw6IFNtYXJ0RGV2VG9vbEFwaUNhbGxEZXNjcmlwdG9yKSA9PiB7XHJcbiAgICAgICAgbGV0IGhvdXJzQmV0d2VlbjogbnVtYmVyO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYXBpQ2FsbC5yZXF1ZXN0RGF0ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgIGhvdXJzQmV0d2VlbiA9IE1hdGguZmxvb3IoXHJcbiAgICAgICAgICAgIE1hdGguYWJzKG5vdy5nZXRNaWxsaXNlY29uZHMoKSAtIG5ldyBEYXRlKGFwaUNhbGwucmVxdWVzdERhdGUpLmdldE1pbGxpc2Vjb25kcygpKSAvIDM2ZTVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGhvdXJzQmV0d2VlbiA9IE1hdGguZmxvb3IoXHJcbiAgICAgICAgICAgIE1hdGguYWJzKG5vdy5nZXRNaWxsaXNlY29uZHMoKSAtIGFwaUNhbGwucmVxdWVzdERhdGUuZ2V0TWlsbGlzZWNvbmRzKCkpIC8gMzZlNVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBob3Vyc0JldHdlZW4gPCB0aGlzLmhvdXJzVG9TYXZlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2FuaXRpemVCeUxlbmd0aCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3I/LmFwaUNhbGxzICYmIHRoaXMuZGVzY3JpcHRvci5hcGlDYWxscy5sZW5ndGggPiB0aGlzLm1heE51bU9mU2F2ZWRDYWxscykge1xyXG4gICAgICBsZXQgbGVuZ3RoID0gdGhpcy5kZXNjcmlwdG9yLmFwaUNhbGxzLmxlbmd0aDtcclxuICAgICAgdGhpcy5kZXNjcmlwdG9yLmFwaUNhbGxzLnNwbGljZShcclxuICAgICAgICB0aGlzLm1heE51bU9mU2F2ZWRDYWxscyAtIDEsXHJcbiAgICAgICAgbGVuZ3RoIC0gdGhpcy5tYXhOdW1PZlNhdmVkQ2FsbHNcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnNtYXJ0RGV2VG9vbE5hbWUsIEpTT04uc3RyaW5naWZ5KHRoaXMuZGVzY3JpcHRvcikpO1xyXG4gICAgICB0aGlzLmRlc2NyaXB0b3JDaGFuZ2VkLm5leHQoKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgLy8gbG9jYWxTdG9yYWdlLnNldEl0ZW0oKSB0aHJvd3MgYSBcIlF1b3RhRXhjZWVkZWRFcnJvclwiIERPTUV4Y2VwdGlvbiBleGNlcHRpb24gaWYgdGhlIG5ldyB2YWx1ZVxyXG4gICAgICAvLyBjb3VsZG4ndCBiZSBzZXQuIChTZXR0aW5nIGNvdWxkIGZhaWwgaWYsIGUuZy4sIHRoZSB1c2VyIGhhcyBkaXNhYmxlZCBzdG9yYWdlIGZvciB0aGUgc2l0ZSxcclxuICAgICAgLy8gb3IgaWYgdGhlIHF1b3RhIGhhcyBiZWVuIGV4Y2VlZGVkLilcclxuICAgICAgdGhpcy5zYW5pdGl6ZUJ5TGVuZ3RoKCk7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc2NyaXB0b3IgPSB7XHJcbiAgICAgIGFwaUNhbGxzOiBbXSxcclxuICAgIH07XHJcbiAgICB0aGlzLnNhdmUoKTtcclxuICB9XHJcblxyXG4gIGdldFB1cmVTdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnNtYXJ0RGV2VG9vbE5hbWUpITtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnREZXZUb29sRGVzY3JpcHRvciB7XHJcbiAgYXBpQ2FsbHM6IFNtYXJ0RGV2VG9vbEFwaUNhbGxEZXNjcmlwdG9yW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnREZXZUb29sQXBpQ2FsbERlc2NyaXB0b3Ige1xyXG4gIHVybDogc3RyaW5nIHwgbnVsbDtcclxuICByZXNwb25zZUJvZHk6IGFueTtcclxuICByZXNwb25zZUhlYWRlcjogYW55O1xyXG4gIHJlc3BvbnNlU3RhdHVzOiBudW1iZXI7XHJcbiAgcmVzcG9uc2VTdGF0dXNUZXh0OiBzdHJpbmc7XHJcbiAgcmVzcG9uc2VEYXRlOiBEYXRlO1xyXG4gIHJlcXVlc3RIZWFkZXI6IGFueTtcclxuICByZXF1ZXN0Qm9keTogYW55O1xyXG4gIHJlcXVlc3REYXRlOiBEYXRlO1xyXG4gIHJlcXVlc3RNZXRob2Q6IHN0cmluZztcclxuICBsb2NhbFN0b3JhZ2U6IGFueTtcclxuICBzZXNzaW9uU3RvcmFnZTogYW55O1xyXG4gIGNvb2tpZXM6IGFueTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzbWFydERldlRvb2xEYXRlUGlwZScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydERldlRvb2xEYXRlUGlwZSBleHRlbmRzIERhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGZvcm1hdDogc3RyaW5nID0gJ3l5eXkuTU0uZGQuIEg6bW06c3MnKTogYW55IHtcclxuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { OnDestroy } from '@angular/core';
|
|
2
|
-
import { SmartDevToolDescriptor } from '../smart-dev-tool.service';
|
|
3
|
-
import { SmartDevToolDialogService } from './smart-dev-tool-dialog.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SmartDevToolDialogComponent implements OnDestroy {
|
|
6
|
-
private service;
|
|
7
|
-
private _destroy$;
|
|
8
|
-
descriptor?: SmartDevToolDescriptor;
|
|
9
|
-
constructor(service: SmartDevToolDialogService);
|
|
10
|
-
ngOnDestroy(): void;
|
|
11
|
-
clear(): void;
|
|
12
|
-
getBody(inp: any): any;
|
|
13
|
-
syntaxHighlight(json: any): any;
|
|
14
|
-
copy(): void;
|
|
15
|
-
close(): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolDialogComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SmartDevToolDialogComponent, "app-smart-dev-tool-dialog", never, {}, {}, never, never>;
|
|
18
|
-
}
|
|
19
|
-
interface ICopyToClipboard {
|
|
20
|
-
/** HTML reference identifier ```<div id="foo"></div>``` */
|
|
21
|
-
target?: string;
|
|
22
|
-
/** String value */
|
|
23
|
-
value?: string;
|
|
24
|
-
/** (Optional) message to display in snackbar on success */
|
|
25
|
-
message?: string;
|
|
26
|
-
}
|
|
27
|
-
export declare const copyToClipboard: ({ target, message, value }: ICopyToClipboard) => Promise<void>;
|
|
28
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { SmartdialogService } from '../../../smart-dialog/projects';
|
|
5
|
-
import { SmartDevToolDescriptor, SmartDevToolService } from '../smart-dev-tool.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class SmartDevToolDialogService extends SmartdialogService {
|
|
8
|
-
service: SmartDevToolService;
|
|
9
|
-
update: Subject<void>;
|
|
10
|
-
constructor(dialog: MatDialog, router: Router, service: SmartDevToolService);
|
|
11
|
-
handleAfterClosed(result: any): void;
|
|
12
|
-
openDialog(): void;
|
|
13
|
-
getData(): SmartDevToolDescriptor;
|
|
14
|
-
getPureString(): string;
|
|
15
|
-
clear(): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolDialogService, never>;
|
|
17
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SmartDevToolDialogService>;
|
|
18
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { OnDestroy } from '@angular/core';
|
|
2
|
-
import { SmartDevToolDialogService } from '../smart-dev-tool-dialog/smart-dev-tool-dialog.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class SmartDevToolFloatingButtonComponent implements OnDestroy {
|
|
5
|
-
private service;
|
|
6
|
-
private _destroy$;
|
|
7
|
-
adminKeyName: string;
|
|
8
|
-
isShown: boolean;
|
|
9
|
-
errorsCount: string;
|
|
10
|
-
constructor(service: SmartDevToolDialogService);
|
|
11
|
-
ngOnDestroy(): void;
|
|
12
|
-
openDevToolDialog(): void;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolFloatingButtonComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SmartDevToolFloatingButtonComponent, "smart-session-dev-tool", never, {}, {}, never, never>;
|
|
15
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "@angular/common/http";
|
|
2
|
-
import { Observable } from "rxjs";
|
|
3
|
-
import { SmartDevToolService } from "./smart-dev-tool.service";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SmartDevToolInterceptor implements HttpInterceptor {
|
|
6
|
-
private service;
|
|
7
|
-
constructor(service: SmartDevToolService);
|
|
8
|
-
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolInterceptor, never>;
|
|
10
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SmartDevToolInterceptor>;
|
|
11
|
-
}
|
|
12
|
-
export declare class SmartDevToolErrorInterceptor implements HttpInterceptor {
|
|
13
|
-
private service;
|
|
14
|
-
constructor(service: SmartDevToolService);
|
|
15
|
-
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolErrorInterceptor, never>;
|
|
17
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SmartDevToolErrorInterceptor>;
|
|
18
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
import { HttpErrorResponse, HttpRequest, HttpResponse } from '@angular/common/http';
|
|
3
|
-
import { OnDestroy, PipeTransform } from '@angular/core';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { SmartCookieService } from '../cookie-service/smart-cookie.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class SmartDevToolService implements OnDestroy {
|
|
8
|
-
private cookieService;
|
|
9
|
-
descriptor?: SmartDevToolDescriptor;
|
|
10
|
-
smartDevToolName: string;
|
|
11
|
-
isSmartDevToolActiveName: string;
|
|
12
|
-
isActive: boolean;
|
|
13
|
-
smartDevToolHoursName: string;
|
|
14
|
-
smartDevToolMaxName: string;
|
|
15
|
-
hoursToSave: number;
|
|
16
|
-
maxNumOfSavedCalls: number;
|
|
17
|
-
private _destroy$;
|
|
18
|
-
descriptorChanged: Subject<void>;
|
|
19
|
-
newErrorsCount: number;
|
|
20
|
-
newErrorsCountChanged: Subject<void>;
|
|
21
|
-
constructor(cookieService: SmartCookieService);
|
|
22
|
-
ngOnDestroy(): void;
|
|
23
|
-
private setUpLocalStorage;
|
|
24
|
-
writeResponse(request: HttpRequest<any>, response: HttpResponse<any> | HttpErrorResponse, requestDate: Date, responseDate: Date): void;
|
|
25
|
-
clearErrors(): void;
|
|
26
|
-
createObject(keys: string[], mapWithValues: any, useGetItem: boolean): any;
|
|
27
|
-
sanitizeByTime(): void;
|
|
28
|
-
sanitizeByLength(): void;
|
|
29
|
-
save(): void;
|
|
30
|
-
clear(): void;
|
|
31
|
-
getPureString(): string;
|
|
32
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolService, never>;
|
|
33
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SmartDevToolService>;
|
|
34
|
-
}
|
|
35
|
-
export interface SmartDevToolDescriptor {
|
|
36
|
-
apiCalls: SmartDevToolApiCallDescriptor[];
|
|
37
|
-
}
|
|
38
|
-
export interface SmartDevToolApiCallDescriptor {
|
|
39
|
-
url: string | null;
|
|
40
|
-
responseBody: any;
|
|
41
|
-
responseHeader: any;
|
|
42
|
-
responseStatus: number;
|
|
43
|
-
responseStatusText: string;
|
|
44
|
-
responseDate: Date;
|
|
45
|
-
requestHeader: any;
|
|
46
|
-
requestBody: any;
|
|
47
|
-
requestDate: Date;
|
|
48
|
-
requestMethod: string;
|
|
49
|
-
localStorage: any;
|
|
50
|
-
sessionStorage: any;
|
|
51
|
-
cookies: any;
|
|
52
|
-
}
|
|
53
|
-
export declare class SmartDevToolDatePipe extends DatePipe implements PipeTransform {
|
|
54
|
-
transform(value: any, format?: string): any;
|
|
55
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SmartDevToolDatePipe, never>;
|
|
56
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<SmartDevToolDatePipe, "smartDevToolDatePipe">;
|
|
57
|
-
}
|
|
Binary file
|