@wavemaker/app-ng-runtime 12.0.0-next.1417143 → 12.0.0-next.1417150
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.
- app-ng-runtime/components/chart/bundles/index.umd.js +1 -1
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +2 -2
- app-ng-runtime/components/chart/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -0
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +4 -0
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +4 -1
- app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +4 -0
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +11 -8
- app-ng-runtime/core/esm2022/services/custom-icons-loader.service.mjs +9 -10
- app-ng-runtime/core/esm2022/utils/utils.mjs +4 -1
- app-ng-runtime/core/fesm2022/index.mjs +11 -8
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/utils/utils.d.ts +1 -0
- app-ng-runtime/mobile/runtime/bundles/index.umd.js +1 -1
- app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +3 -3
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs +2 -2
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/dynamic/app/app.module.d.ts +0 -2
- app-ng-runtime/runtime/dynamic/app/xsrfconfig.module.d.ts +9 -0
- app-ng-runtime/runtime/dynamic/bundles/index.umd.js +47 -13
- app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +6 -15
- app-ng-runtime/runtime/dynamic/esm2022/app/xsrfconfig.module.mjs +49 -0
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +51 -15
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/security/bundles/index.umd.js +5 -0
- app-ng-runtime/security/esm2022/security.service.mjs +6 -1
- app-ng-runtime/security/fesm2022/index.mjs +5 -0
- app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
|
@@ -274,3 +274,4 @@ export declare const getAppSetting: (key: any, defaultValue: any) => any;
|
|
|
274
274
|
export declare const setListClass: (scope: any) => void;
|
|
275
275
|
export declare const findParent: (lView: any, viewParentApp?: any) => any;
|
|
276
276
|
export declare const findViewParent: (lView: any) => any;
|
|
277
|
+
export declare const getFontConfig: () => any;
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
intercept(request, next) {
|
|
228
228
|
new rxjs.Subject();
|
|
229
229
|
const token = localStorage.getItem(variables.CONSTANTS.XSRF_COOKIE_NAME);
|
|
230
|
-
const xsrfHeaderName =
|
|
230
|
+
const xsrfHeaderName = window._WM_APP_PROPERTIES['securityInfo'] ? window._WM_APP_PROPERTIES['securityInfo']?.csrfHeaderName : null;
|
|
231
231
|
if (token
|
|
232
232
|
&& xsrfHeaderName
|
|
233
233
|
&& this.app.deployedUrl
|
|
@@ -3,7 +3,7 @@ import { File } from '@awesome-cordova-plugins/file/ngx';
|
|
|
3
3
|
import { from } from 'rxjs';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { mergeMap } from 'rxjs/operators';
|
|
6
|
-
import { App, executePromiseChain,
|
|
6
|
+
import { App, executePromiseChain, hasCordova, removeExtraSlashes, } from '@wm/core';
|
|
7
7
|
import { DeviceFileDownloadService, DeviceService, NetworkService } from '@wm/mobile/core';
|
|
8
8
|
import { SecurityService } from '@wm/security';
|
|
9
9
|
import { CONSTANTS } from '@wm/variables';
|
|
@@ -27,7 +27,7 @@ export class MobileHttpInterceptor {
|
|
|
27
27
|
intercept(request, next) {
|
|
28
28
|
const subject = new Subject();
|
|
29
29
|
const token = localStorage.getItem(CONSTANTS.XSRF_COOKIE_NAME);
|
|
30
|
-
const xsrfHeaderName =
|
|
30
|
+
const xsrfHeaderName = window._WM_APP_PROPERTIES['securityInfo'] ? window._WM_APP_PROPERTIES['securityInfo']?.csrfHeaderName : null;
|
|
31
31
|
if (token
|
|
32
32
|
&& xsrfHeaderName
|
|
33
33
|
&& this.app.deployedUrl
|
|
@@ -144,4 +144,4 @@ class SecurityInterceptor {
|
|
|
144
144
|
});
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9iaWxlL3J1bnRpbWUvc3JjL3NlcnZpY2VzL2h0dHAtaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFDSCxHQUFHLEVBQ0gsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixVQUFVLEVBQ1Ysa0JBQWtCLEdBQ3JCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFTekMsTUFBTSxPQUFPLHFCQUFxQjtJQUk5QixZQUEyQixHQUFRLEVBQ2hCLElBQVUsRUFDVix5QkFBb0QsRUFDNUMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDdEMsZUFBZ0M7UUFMeEIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUdSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5qRCx3QkFBbUIsR0FBeUIsRUFBRSxDQUFDO1FBUW5ELElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sY0FBYyxHQUFHLHNCQUFzQixFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDakUsSUFBSSxLQUFLO2VBQ0YsY0FBYztlQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVztlQUNwQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7bUJBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRXZELDBDQUEwQztZQUMxQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztRQUVoQyxnREFBZ0Q7UUFDaEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFO2FBQzFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sZUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBMkI7UUFDM0MsSUFBSSxVQUFVO2VBQ1AsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7ZUFDakYsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztzRkFuRFEscUJBQXFCO3VFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCOztpRkFBckIscUJBQXFCO2NBRGpDLFVBQVU7O0FBdURYLE1BQU0sc0JBQXNCO2FBRVQsZ0NBQTJCLEdBQUc7UUFDekMsSUFBSSxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDakMsSUFBSSxNQUFNLENBQUMseUJBQXlCLENBQUM7UUFDckMsSUFBSSxNQUFNLENBQUMsMEJBQTBCLENBQUM7S0FDekMsQ0FBQztJQUVGLFlBQW9CLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO0lBQUcsQ0FBQztJQUV6QixTQUFTLENBQUMsT0FBeUI7UUFDdEMsSUFBSSxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBQzlCLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDdEIscUNBQXFDO1FBQ3JDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2VBQ25CLHNCQUFzQixDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9FLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDckMsQ0FBQztRQUNELEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLEdBQUcsS0FBSyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEIsZUFBZSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLEdBQUcsRUFBRSxHQUFHO2FBQ1gsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1QyxDQUFDOztBQUlMLE1BQU0sbUJBQW1CO2FBR04scUJBQWdCLEdBQUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQUFBL0IsQ0FBZ0M7YUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQUFBL0MsQ0FBZ0Q7SUFHakYsWUFBb0IsR0FBUSxFQUFVLElBQVUsRUFBVSxlQUFnQztRQUF0RSxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUxsRixnQkFBVyxHQUFHLEtBQUssQ0FBQztJQUtpRSxDQUFDO0lBRXZGLFNBQVMsQ0FBQyxPQUF5QjtRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7bUJBQ3RELG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDVCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzt3QkFDbEQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNwQyxDQUFDO3lCQUFNLENBQUM7d0JBQ0osSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQ0FDbEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDOzRCQUNyQixDQUFDO2lDQUFNLENBQUM7Z0NBQ0osTUFBTSxDQUFDLFNBQVMsUUFBUSxrQ0FBa0MsQ0FBQyxDQUFDO2dDQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQzs0QkFDbEQsQ0FBQzt3QkFDTCxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztvQkFDOUMsQ0FBQztvQkFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ssSUFBSTtRQUNSLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsa0JBQWtCLEVBQ3JFLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDN0UsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpbGUgfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvZmlsZS9uZ3gnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgQXBwLFxuICAgIGV4ZWN1dGVQcm9taXNlQ2hhaW4sXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBoYXNDb3Jkb3ZhLFxuICAgIHJlbW92ZUV4dHJhU2xhc2hlcyxcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlRmlsZURvd25sb2FkU2VydmljZSwgRGV2aWNlU2VydmljZSwgTmV0d29ya1NlcnZpY2UgfSBmcm9tICdAd20vbW9iaWxlL2NvcmUnO1xuaW1wb3J0IHsgU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnQHdtL3NlY3VyaXR5JztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHtmb3JFYWNoLCBzcGxpdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0IGNvcmRvdmE7XG5cbmludGVyZmFjZSBSZXF1ZXN0SW50ZXJjZXB0b3Ige1xuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogUHJvbWlzZTxIdHRwUmVxdWVzdDxhbnk+Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vYmlsZUh0dHBJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBwcml2YXRlIHJlcXVlc3RJbnRlcmNlcHRvcnM6IFJlcXVlc3RJbnRlcmNlcHRvcltdID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlRmlsZURvd25sb2FkU2VydmljZTogRGV2aWNlRmlsZURvd25sb2FkU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGhhc0NvcmRvdmEoKSkge1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnB1c2gobmV3IFNlY3VyaXR5SW50ZXJjZXB0b3IoYXBwLCBmaWxlLCBzZWN1cml0eVNlcnZpY2UpKTtcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5wdXNoKG5ldyBTZXJ2aWNlQ2FsbEludGVyY2VwdG9yKGFwcCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PEh0dHBFdmVudDxhbnk+PigpO1xuICAgICAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKENPTlNUQU5UUy5YU1JGX0NPT0tJRV9OQU1FKTtcbiAgICAgICAgY29uc3QgeHNyZkhlYWRlck5hbWUgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkueHNyZl9oZWFkZXJfbmFtZTtcbiAgICAgICAgaWYgKHRva2VuXG4gICAgICAgICAgICAmJiB4c3JmSGVhZGVyTmFtZVxuICAgICAgICAgICAgJiYgdGhpcy5hcHAuZGVwbG95ZWRVcmxcbiAgICAgICAgICAgICYmIChyZXF1ZXN0LnVybC5pbmRleE9mKCc6Ly8nKSA8IDBcbiAgICAgICAgICAgICAgICB8fCByZXF1ZXN0LnVybC5zdGFydHNXaXRoKHRoaXMuYXBwLmRlcGxveWVkVXJsKSkpIHtcblxuICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIHJlcXVlc3QgdG8gYWRkIHRoZSBuZXcgaGVhZGVyXG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoeHNyZkhlYWRlck5hbWUsIHRva2VuKSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRhID0ge3JlcXVlc3Q6IHJlcXVlc3R9O1xuXG4gICAgICAgIC8vIGludm9rZSB0aGUgcmVxdWVzdCBvbmx5IHdoZW4gZGV2aWNlIGlzIHJlYWR5LlxuICAgICAgICBjb25zdCBvYnMgPSBmcm9tKHRoaXMuZGV2aWNlU2VydmljZS53aGVuUmVhZHkoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gZXhlY3V0ZVByb21pc2VDaGFpbih0aGlzLmdldEludGVyY2VwdG9ycygpLCBbZGF0YV0pKSk7XG4gICAgICAgIHJldHVybiBvYnMucGlwZShtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoZGF0YS5yZXF1ZXN0KTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW50ZXJjZXB0b3JzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLm1hcChpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoZGF0YSkgPT4gaS5pbnRlcmNlcHQoZGF0YS5yZXF1ZXN0KS50aGVuKHJlcSA9PiBkYXRhLnJlcXVlc3QgPSByZXEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSHR0cEVycm9yKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55Pikge1xuICAgICAgICBpZiAoaGFzQ29yZG92YVxuICAgICAgICAgICAgJiYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2Uuc3RhdHVzIHx8IHJlc3BvbnNlLnN0YXR1cyA8IDAgfHwgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpXG4gICAgICAgICAgICAmJiAodGhpcy5uZXR3b3JrU2VydmljZS5pc0Nvbm5lY3RlZCgpKSkge1xuICAgICAgICAgICAgdGhpcy5uZXR3b3JrU2VydmljZS5pc0F2YWlsYWJsZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuY2xhc3MgU2VydmljZUNhbGxJbnRlcmNlcHRvciBpbXBsZW1lbnRzIFJlcXVlc3RJbnRlcmNlcHRvciB7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBSRU1PVEVfU0VSVklDRV9VUkxfUEFUVEVSTlMgPSBbXG4gICAgICAgIG5ldyBSZWdFeHAoJ14oKC4vKXwvKT9zZXJ2aWNlcy8nKSxcbiAgICAgICAgbmV3IFJlZ0V4cCgnal9zcHJpbmdfc2VjdXJpdHlfY2hlY2snKSxcbiAgICAgICAgbmV3IFJlZ0V4cCgnal9zcHJpbmdfc2VjdXJpdHlfbG9nb3V0JylcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCkge31cblxuICAgIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IFByb21pc2U8SHR0cFJlcXVlc3Q8YW55Pj4ge1xuICAgICAgICBsZXQgbW9kaWZpZWRSZXF1ZXN0ID0gcmVxdWVzdDtcbiAgICAgICAgbGV0IHVybCA9IHJlcXVlc3QudXJsO1xuICAgICAgICAvLyBpZiBuZWNlc3NhcnksIHByZXBlbmQgZGVwbG95ZWQgdXJsXG4gICAgICAgIGlmICh1cmwuaW5kZXhPZignOi8vJykgPCAwXG4gICAgICAgICAgICAmJiBTZXJ2aWNlQ2FsbEludGVyY2VwdG9yLlJFTU9URV9TRVJWSUNFX1VSTF9QQVRURVJOUy5maW5kKHIgPT4gci50ZXN0KHVybCkpKSB7XG4gICAgICAgICAgICB1cmwgPSB0aGlzLmFwcC5kZXBsb3llZFVybCArIHVybDtcbiAgICAgICAgfVxuICAgICAgICB1cmwgPSByZW1vdmVFeHRyYVNsYXNoZXModXJsKTtcbiAgICAgICAgaWYgKHVybCAhPT0gcmVxdWVzdC51cmwpIHtcbiAgICAgICAgICAgIG1vZGlmaWVkUmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHVybDogdXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1vZGlmaWVkUmVxdWVzdCk7XG4gICAgfVxuXG59XG5cbmNsYXNzIFNlY3VyaXR5SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBSZXF1ZXN0SW50ZXJjZXB0b3Ige1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3RhdGljIFBBR0VfVVJMX1BBVFRFUk4gPSBuZXcgUmVnRXhwKCdwYWdlLm1pbi5qc29uJCcpO1xuICAgIHByaXZhdGUgc3RhdGljIFBSRUZBQl9VUkxfUEFUVEVSTiA9IG5ldyBSZWdFeHAoJ15hcHAvcHJlZmFicy8uKi9wYWdlLm1pbi5qc29uJCcpO1xuICAgIHByaXZhdGUgcHVibGljUGFnZXM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcDogQXBwLCBwcml2YXRlIGZpbGU6IEZpbGUsIHByaXZhdGUgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBQcm9taXNlPEh0dHBSZXF1ZXN0PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPEh0dHBSZXF1ZXN0PGFueT4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghU2VjdXJpdHlJbnRlcmNlcHRvci5QUkVGQUJfVVJMX1BBVFRFUk4udGVzdChyZXF1ZXN0LnVybClcbiAgICAgICAgICAgICAgICAmJiBTZWN1cml0eUludGVyY2VwdG9yLlBBR0VfVVJMX1BBVFRFUk4udGVzdChyZXF1ZXN0LnVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5pdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybFNwbGl0cyA9IHNwbGl0KHJlcXVlc3QudXJsLCAnLycpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlTmFtZSA9IHVybFNwbGl0c1t1cmxTcGxpdHMubGVuZ3RoIC0gMl07XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5wdWJsaWNQYWdlcyB8fCB0aGlzLnB1YmxpY1BhZ2VzW3BhZ2VOYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXF1ZXN0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VjdXJpdHlTZXJ2aWNlLmdldENvbmZpZyhjb25maWcgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29uZmlnLnNlY3VyaXR5RW5hYmxlZCB8fCBjb25maWcuYXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcXVlc3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChgUGFnZSAnJHtwYWdlTmFtZX0nIGlzIG5vdCBhY2Nlc3NpYmxlIHRvIHRoZSB1c2VyLmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcC5ub3RpZnkoJ2h0dHA0MDEnLCB7IHBhZ2U6IHBhZ2VOYW1lfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4gcmVqZWN0KGBTZWN1cml0eSBjYWxsIGZhaWxlZC5gKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXF1ZXN0KTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShyZXF1ZXN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9hZHMgcHVibGljIHBhZ2VzIGZyb20gJ21ldGFkYXRhL2FwcC9wdWJsaWMtcGFnZXMuaW5mbycgYW5kIG92ZXJyaWRlcyBjYW5BY2Nlc3MgbWV0aG9kIFNlY3VyaXR5U2VydmljZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdCgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBmb2xkZXJQYXRoID0gY29yZG92YS5maWxlLmFwcGxpY2F0aW9uRGlyZWN0b3J5ICsgJ3d3dy9tZXRhZGF0YS9hcHAnLFxuICAgICAgICAgICAgZmlsZU5hbWUgPSAncHVibGljLXBhZ2VzLmpzb24nO1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnJlYWRBc1RleHQoZm9sZGVyUGF0aCwgZmlsZU5hbWUpLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1YmxpY1BhZ2VzID0ge307XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yRWFjaChKU09OLnBhcnNlKHRleHQpLCBwYWdlTmFtZSA9PiB0aGlzLnB1YmxpY1BhZ2VzW3BhZ2VOYW1lXSA9IHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9iaWxlL3J1bnRpbWUvc3JjL3NlcnZpY2VzL2h0dHAtaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFDSCxHQUFHLEVBQ0gsbUJBQW1CLEVBRW5CLFVBQVUsRUFDVixrQkFBa0IsR0FDckIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7OztBQVN6QyxNQUFNLE9BQU8scUJBQXFCO0lBSTlCLFlBQTJCLEdBQVEsRUFDaEIsSUFBVSxFQUNWLHlCQUFvRCxFQUM1QyxhQUE0QixFQUM1QixjQUE4QixFQUN0QyxlQUFnQztRQUx4QixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBR1Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTmpELHdCQUFtQixHQUF5QixFQUFFLENBQUM7UUFRbkQsSUFBSSxVQUFVLEVBQUUs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N0UsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpbGUgfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvZmlsZS9uZ3gnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgQXBwLFxuICAgIGV4ZWN1dGVQcm9taXNlQ2hhaW4sXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBoYXNDb3Jkb3ZhLFxuICAgIHJlbW92ZUV4dHJhU2xhc2hlcyxcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlRmlsZURvd25sb2FkU2VydmljZSwgRGV2aWNlU2VydmljZSwgTmV0d29ya1NlcnZpY2UgfSBmcm9tICdAd20vbW9iaWxlL2NvcmUnO1xuaW1wb3J0IHsgU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnQHdtL3NlY3VyaXR5JztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHtmb3JFYWNoLCBzcGxpdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0IGNvcmRvdmE7XG5cbmludGVyZmFjZSBSZXF1ZXN0SW50ZXJjZXB0b3Ige1xuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogUHJvbWlzZTxIdHRwUmVxdWVzdDxhbnk+Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vYmlsZUh0dHBJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBwcml2YXRlIHJlcXVlc3RJbnRlcmNlcHRvcnM6IFJlcXVlc3RJbnRlcmNlcHRvcltdID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlRmlsZURvd25sb2FkU2VydmljZTogRGV2aWNlRmlsZURvd25sb2FkU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGhhc0NvcmRvdmEoKSkge1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnB1c2gobmV3IFNlY3VyaXR5SW50ZXJjZXB0b3IoYXBwLCBmaWxlLCBzZWN1cml0eVNlcnZpY2UpKTtcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5wdXNoKG5ldyBTZXJ2aWNlQ2FsbEludGVyY2VwdG9yKGFwcCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PEh0dHBFdmVudDxhbnk+PigpO1xuICAgICAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKENPTlNUQU5UUy5YU1JGX0NPT0tJRV9OQU1FKTtcbiAgICAgICAgY29uc3QgeHNyZkhlYWRlck5hbWUgPSAod2luZG93IGFzIGFueSkuX1dNX0FQUF9QUk9QRVJUSUVTWydzZWN1cml0eUluZm8nXSA/ICh3aW5kb3cgYXMgYW55KS5fV01fQVBQX1BST1BFUlRJRVNbJ3NlY3VyaXR5SW5mbyddPy5jc3JmSGVhZGVyTmFtZSA6IG51bGxcbiAgICAgICAgaWYgKHRva2VuXG4gICAgICAgICAgICAmJiB4c3JmSGVhZGVyTmFtZVxuICAgICAgICAgICAgJiYgdGhpcy5hcHAuZGVwbG95ZWRVcmxcbiAgICAgICAgICAgICYmIChyZXF1ZXN0LnVybC5pbmRleE9mKCc6Ly8nKSA8IDBcbiAgICAgICAgICAgICAgICB8fCByZXF1ZXN0LnVybC5zdGFydHNXaXRoKHRoaXMuYXBwLmRlcGxveWVkVXJsKSkpIHtcblxuICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIHJlcXVlc3QgdG8gYWRkIHRoZSBuZXcgaGVhZGVyXG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoeHNyZkhlYWRlck5hbWUsIHRva2VuKSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRhID0ge3JlcXVlc3Q6IHJlcXVlc3R9O1xuXG4gICAgICAgIC8vIGludm9rZSB0aGUgcmVxdWVzdCBvbmx5IHdoZW4gZGV2aWNlIGlzIHJlYWR5LlxuICAgICAgICBjb25zdCBvYnMgPSBmcm9tKHRoaXMuZGV2aWNlU2VydmljZS53aGVuUmVhZHkoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gZXhlY3V0ZVByb21pc2VDaGFpbih0aGlzLmdldEludGVyY2VwdG9ycygpLCBbZGF0YV0pKSk7XG4gICAgICAgIHJldHVybiBvYnMucGlwZShtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoZGF0YS5yZXF1ZXN0KTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW50ZXJjZXB0b3JzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLm1hcChpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoZGF0YSkgPT4gaS5pbnRlcmNlcHQoZGF0YS5yZXF1ZXN0KS50aGVuKHJlcSA9PiBkYXRhLnJlcXVlc3QgPSByZXEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSHR0cEVycm9yKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55Pikge1xuICAgICAgICBpZiAoaGFzQ29yZG92YVxuICAgICAgICAgICAgJiYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2Uuc3RhdHVzIHx8IHJlc3BvbnNlLnN0YXR1cyA8IDAgfHwgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpXG4gICAgICAgICAgICAmJiAodGhpcy5uZXR3b3JrU2VydmljZS5pc0Nvbm5lY3RlZCgpKSkge1xuICAgICAgICAgICAgdGhpcy5uZXR3b3JrU2VydmljZS5pc0F2YWlsYWJsZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuY2xhc3MgU2VydmljZUNhbGxJbnRlcmNlcHRvciBpbXBsZW1lbnRzIFJlcXVlc3RJbnRlcmNlcHRvciB7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBSRU1PVEVfU0VSVklDRV9VUkxfUEFUVEVSTlMgPSBbXG4gICAgICAgIG5ldyBSZWdFeHAoJ14oKC4vKXwvKT9zZXJ2aWNlcy8nKSxcbiAgICAgICAgbmV3IFJlZ0V4cCgnal9zcHJpbmdfc2VjdXJpdHlfY2hlY2snKSxcbiAgICAgICAgbmV3IFJlZ0V4cCgnal9zcHJpbmdfc2VjdXJpdHlfbG9nb3V0JylcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCkge31cblxuICAgIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IFByb21pc2U8SHR0cFJlcXVlc3Q8YW55Pj4ge1xuICAgICAgICBsZXQgbW9kaWZpZWRSZXF1ZXN0ID0gcmVxdWVzdDtcbiAgICAgICAgbGV0IHVybCA9IHJlcXVlc3QudXJsO1xuICAgICAgICAvLyBpZiBuZWNlc3NhcnksIHByZXBlbmQgZGVwbG95ZWQgdXJsXG4gICAgICAgIGlmICh1cmwuaW5kZXhPZignOi8vJykgPCAwXG4gICAgICAgICAgICAmJiBTZXJ2aWNlQ2FsbEludGVyY2VwdG9yLlJFTU9URV9TRVJWSUNFX1VSTF9QQVRURVJOUy5maW5kKHIgPT4gci50ZXN0KHVybCkpKSB7XG4gICAgICAgICAgICB1cmwgPSB0aGlzLmFwcC5kZXBsb3llZFVybCArIHVybDtcbiAgICAgICAgfVxuICAgICAgICB1cmwgPSByZW1vdmVFeHRyYVNsYXNoZXModXJsKTtcbiAgICAgICAgaWYgKHVybCAhPT0gcmVxdWVzdC51cmwpIHtcbiAgICAgICAgICAgIG1vZGlmaWVkUmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHVybDogdXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1vZGlmaWVkUmVxdWVzdCk7XG4gICAgfVxuXG59XG5cbmNsYXNzIFNlY3VyaXR5SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBSZXF1ZXN0SW50ZXJjZXB0b3Ige1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3RhdGljIFBBR0VfVVJMX1BBVFRFUk4gPSBuZXcgUmVnRXhwKCdwYWdlLm1pbi5qc29uJCcpO1xuICAgIHByaXZhdGUgc3RhdGljIFBSRUZBQl9VUkxfUEFUVEVSTiA9IG5ldyBSZWdFeHAoJ15hcHAvcHJlZmFicy8uKi9wYWdlLm1pbi5qc29uJCcpO1xuICAgIHByaXZhdGUgcHVibGljUGFnZXM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcDogQXBwLCBwcml2YXRlIGZpbGU6IEZpbGUsIHByaXZhdGUgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBQcm9taXNlPEh0dHBSZXF1ZXN0PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPEh0dHBSZXF1ZXN0PGFueT4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghU2VjdXJpdHlJbnRlcmNlcHRvci5QUkVGQUJfVVJMX1BBVFRFUk4udGVzdChyZXF1ZXN0LnVybClcbiAgICAgICAgICAgICAgICAmJiBTZWN1cml0eUludGVyY2VwdG9yLlBBR0VfVVJMX1BBVFRFUk4udGVzdChyZXF1ZXN0LnVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5pdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybFNwbGl0cyA9IHNwbGl0KHJlcXVlc3QudXJsLCAnLycpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlTmFtZSA9IHVybFNwbGl0c1t1cmxTcGxpdHMubGVuZ3RoIC0gMl07XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5wdWJsaWNQYWdlcyB8fCB0aGlzLnB1YmxpY1BhZ2VzW3BhZ2VOYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXF1ZXN0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VjdXJpdHlTZXJ2aWNlLmdldENvbmZpZyhjb25maWcgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29uZmlnLnNlY3VyaXR5RW5hYmxlZCB8fCBjb25maWcuYXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcXVlc3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChgUGFnZSAnJHtwYWdlTmFtZX0nIGlzIG5vdCBhY2Nlc3NpYmxlIHRvIHRoZSB1c2VyLmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcC5ub3RpZnkoJ2h0dHA0MDEnLCB7IHBhZ2U6IHBhZ2VOYW1lfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4gcmVqZWN0KGBTZWN1cml0eSBjYWxsIGZhaWxlZC5gKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXF1ZXN0KTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShyZXF1ZXN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9hZHMgcHVibGljIHBhZ2VzIGZyb20gJ21ldGFkYXRhL2FwcC9wdWJsaWMtcGFnZXMuaW5mbycgYW5kIG92ZXJyaWRlcyBjYW5BY2Nlc3MgbWV0aG9kIFNlY3VyaXR5U2VydmljZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdCgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBmb2xkZXJQYXRoID0gY29yZG92YS5maWxlLmFwcGxpY2F0aW9uRGlyZWN0b3J5ICsgJ3d3dy9tZXRhZGF0YS9hcHAnLFxuICAgICAgICAgICAgZmlsZU5hbWUgPSAncHVibGljLXBhZ2VzLmpzb24nO1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnJlYWRBc1RleHQoZm9sZGVyUGF0aCwgZmlsZU5hbWUpLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1YmxpY1BhZ2VzID0ge307XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yRWFjaChKU09OLnBhcnNlKHRleHQpLCBwYWdlTmFtZSA9PiB0aGlzLnB1YmxpY1BhZ2VzW3BhZ2VOYW1lXSA9IHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -17,7 +17,7 @@ import { Vibration } from '@awesome-cordova-plugins/vibration/ngx';
|
|
|
17
17
|
import { LocationAccuracy } from '@awesome-cordova-plugins/location-accuracy/ngx';
|
|
18
18
|
import { Diagnostic } from '@awesome-cordova-plugins/diagnostic/ngx';
|
|
19
19
|
import * as i1$1 from '@wm/core';
|
|
20
|
-
import { isIos, hasCordova,
|
|
20
|
+
import { isIos, hasCordova, executePromiseChain, removeExtraSlashes, loadStyleSheet, insertAfter, removeNode, loadScript } from '@wm/core';
|
|
21
21
|
import { forEach, split, keys } from 'lodash-es';
|
|
22
22
|
import { FileExtensionFromMimePipe } from '@wm/components/base';
|
|
23
23
|
import * as i3 from '@wm/mobile/core';
|
|
@@ -240,7 +240,7 @@ class MobileHttpInterceptor {
|
|
|
240
240
|
intercept(request, next) {
|
|
241
241
|
const subject = new Subject();
|
|
242
242
|
const token = localStorage.getItem(CONSTANTS.XSRF_COOKIE_NAME);
|
|
243
|
-
const xsrfHeaderName =
|
|
243
|
+
const xsrfHeaderName = window._WM_APP_PROPERTIES['securityInfo'] ? window._WM_APP_PROPERTIES['securityInfo']?.csrfHeaderName : null;
|
|
244
244
|
if (token
|
|
245
245
|
&& xsrfHeaderName
|
|
246
246
|
&& this.app.deployedUrl
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../projects/mobile/runtime/src/services/cookie.service.ts","../../../../projects/mobile/runtime/src/components/app-ext.component.ts","../../../../projects/mobile/runtime/src/services/http-interceptor.service.ts","../../../../projects/mobile/runtime/src/services/webprocess.service.ts","../../../../projects/mobile/runtime/src/mobile-runtime.module.ts","../../../../projects/mobile/runtime/src/index.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { IDeviceStartUpService } from '@wm/mobile/core';\nimport { isIos } from '@wm/core';\nimport {forEach} from \"lodash-es\";\n\nconst STORAGE_KEY = 'wavemaker.persistedcookies';\n\ninterface CookieInfo {\n hostname: string;\n name: string;\n value: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CookieService implements IDeviceStartUpService {\n static readonly SERVICE_NAME = 'CookieService';\n private cookieInfo = {};\n\n public serviceName = 'CookeService';\n\n public persistCookie(hostname: string, cookieName: string, cookieValue?: string): Promise<void> {\n return new Promise<string>((resolve, reject) => {\n if (cookieValue) {\n resolve(cookieValue);\n } else {\n this.getCookie(hostname, cookieName)\n .then(data => resolve(data.cookieValue), reject);\n }\n }).then(value => {\n this.cookieInfo[hostname + '-' + cookieName] = {\n hostname: hostname.replace(/:[0-9]+/, ''),\n name: cookieName,\n value: this.rotateLTR(value)\n };\n localStorage.setItem(STORAGE_KEY, JSON.stringify(this.cookieInfo));\n });\n }\n\n public getCookie(hostname: string, cookieName: string): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n const cookieString = window['cordova'].plugin.http.getCookieString(hostname);\n if (cookieString) {\n const at = cookieString.indexOf(cookieName);\n if (at >= 0) {\n const start = at + cookieName.length + 1;\n const end = cookieString.indexOf(';', start);\n const cookieValue = cookieString.substring(start, end >= 0 ? end : undefined);\n resolve({\n cookieValue: cookieValue\n });\n return;\n }\n }\n reject();\n } else {\n window['cookieEmperor'].getCookie(hostname, cookieName, resolve, reject);\n }\n });\n }\n\n public setCookie(hostname: string, cookieName: string, cookieValue: string): Promise<any> {\n return new Promise<void>((resolve, reject) => {\n if (isIos()) {\n const cookieString = cookieName + '=' + cookieValue;\n window['cordova'].plugin.http.setCookie(hostname, cookieString);\n resolve();\n } else {\n window['cookieEmperor'].setCookie(hostname, cookieName, cookieValue, resolve, reject);\n }\n });\n }\n\n public clearAll(): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n window['cordova'].plugin.http.clearCookies();\n resolve('');\n } else {\n window['cookieEmperor'].clearAll(resolve, reject);\n }\n });\n }\n\n /**\n * Loads persisted cookies from local storage and adds them to the browser.\n * @returns {*}\n */\n public start(): Promise<any> {\n const cookieInfoStr = localStorage.getItem(STORAGE_KEY),\n promises = [];\n if (cookieInfoStr) {\n const cookieInfo = JSON.parse(cookieInfoStr) as Map<string, CookieInfo>;\n forEach(cookieInfo, c => {\n // @ts-ignore\n if (c.name && c.value) {\n // @ts-ignore\n promises.push(this.getCookie(c.hostname, c.name).catch(() => {\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window['cookieEmperor'].setCookie(c.hostname, c.name, this.rotateRTL(c.value), resolve, reject);\n });\n }));\n }\n });\n }\n return Promise.all(promises);\n }\n\n public getServiceName() {\n return CookieService.SERVICE_NAME;\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in left to right direction.\n * @param str\n * @returns {string}\n */\n private rotateLTR(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(i + shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in right to left direction..\n * @param str\n * @returns {string}\n */\n private rotateRTL(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(arr.length + i - shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n}\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\n\nimport { hasCordova } from '@wm/core';\nimport { FileBrowserComponent, FileSelectorService, ProcessManagerComponent, ProcessManagementService } from '@wm/mobile/components/basic';\n\n@Component({\n selector: '[wmAppExt]',\n template: `<ng-container> \n <div wmNetworkInfoToaster></div>\n <div wmAppUpdate></div>\n <div wmMobileFileBrowser></div>\n <div wmProcessManager></div>\n </ng-container>`\n})\nexport class AppExtComponent implements AfterViewInit {\n\n @ViewChild(FileBrowserComponent) fileBrowserComponent: FileBrowserComponent;\n\n @ViewChild(ProcessManagerComponent) processManagerComponent: ProcessManagerComponent;\n\n constructor(\n private elRef: ElementRef,\n private fileSelectorService: FileSelectorService,\n private processManagementService: ProcessManagementService\n ) {}\n\n ngAfterViewInit() {\n const mobileElements = $(this.elRef.nativeElement).find('>[wmNetworkInfoToaster], >[wmAppUpdate], >[wmMobileFileBrowser]');\n const $body = $('body');\n if (hasCordova()) {\n mobileElements.appendTo($body);\n this.fileSelectorService.setFileBrowser(this.fileBrowserComponent);\n } else {\n mobileElements.remove();\n }\n $(this.elRef.nativeElement).find('>[wmProgressManager]').appendTo($body);\n this.processManagementService.setUIComponent(this.processManagerComponent);\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { from } from 'rxjs';\nimport { Observable, Subject } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\n\nimport {\n App,\n executePromiseChain,\n getWmProjectProperties,\n hasCordova,\n removeExtraSlashes,\n} from '@wm/core';\nimport { DeviceFileDownloadService, DeviceService, NetworkService } from '@wm/mobile/core';\nimport { SecurityService } from '@wm/security';\nimport { CONSTANTS } from '@wm/variables';\nimport {forEach, split} from \"lodash-es\";\n\ndeclare const cordova;\n\ninterface RequestInterceptor {\n intercept(request: HttpRequest<any>): Promise<HttpRequest<any>>;\n}\n\n@Injectable()\nexport class MobileHttpInterceptor implements HttpInterceptor {\n\n private requestInterceptors: RequestInterceptor[] = [];\n\n public constructor(private app: App,\n file: File,\n deviceFileDownloadService: DeviceFileDownloadService,\n private deviceService: DeviceService,\n private networkService: NetworkService,\n securityService: SecurityService) {\n if (hasCordova()) {\n this.requestInterceptors.push(new SecurityInterceptor(app, file, securityService));\n this.requestInterceptors.push(new ServiceCallInterceptor(app));\n }\n }\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const subject = new Subject<HttpEvent<any>>();\n const token = localStorage.getItem(CONSTANTS.XSRF_COOKIE_NAME);\n const xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\n if (token\n && xsrfHeaderName\n && this.app.deployedUrl\n && (request.url.indexOf('://') < 0\n || request.url.startsWith(this.app.deployedUrl))) {\n\n // Clone the request to add the new header\n request = request.clone({ headers: request.headers.set(xsrfHeaderName, token) });\n }\n const data = {request: request};\n\n // invoke the request only when device is ready.\n const obs = from(this.deviceService.whenReady()\n .then(() => executePromiseChain(this.getInterceptors(), [data])));\n return obs.pipe(mergeMap(() => {\n return next.handle(data.request);\n }));\n }\n\n private getInterceptors() {\n return this.requestInterceptors.map(i => {\n return (data) => i.intercept(data.request).then(req => data.request = req);\n });\n }\n\n private onHttpError(response: HttpResponse<any>) {\n if (hasCordova\n && (!response || !response.status || response.status < 0 || response.status === 404)\n && (this.networkService.isConnected())) {\n this.networkService.isAvailable(true);\n }\n }\n}\n\nclass ServiceCallInterceptor implements RequestInterceptor {\n\n private static REMOTE_SERVICE_URL_PATTERNS = [\n new RegExp('^((./)|/)?services/'),\n new RegExp('j_spring_security_check'),\n new RegExp('j_spring_security_logout')\n ];\n\n constructor(private app: App) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n let modifiedRequest = request;\n let url = request.url;\n // if necessary, prepend deployed url\n if (url.indexOf('://') < 0\n && ServiceCallInterceptor.REMOTE_SERVICE_URL_PATTERNS.find(r => r.test(url))) {\n url = this.app.deployedUrl + url;\n }\n url = removeExtraSlashes(url);\n if (url !== request.url) {\n modifiedRequest = request.clone({\n url: url\n });\n }\n return Promise.resolve(modifiedRequest);\n }\n\n}\n\nclass SecurityInterceptor implements RequestInterceptor {\n\n private initialized = false;\n private static PAGE_URL_PATTERN = new RegExp('page.min.json$');\n private static PREFAB_URL_PATTERN = new RegExp('^app/prefabs/.*/page.min.json$');\n private publicPages;\n\n constructor(private app: App, private file: File, private securityService: SecurityService) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n return new Promise<HttpRequest<any>>((resolve, reject) => {\n if (!SecurityInterceptor.PREFAB_URL_PATTERN.test(request.url)\n && SecurityInterceptor.PAGE_URL_PATTERN.test(request.url)) {\n return Promise.resolve().then(() => {\n if (!this.initialized) {\n return this.init();\n }\n }).then(() => {\n const urlSplits = split(request.url, '/');\n const pageName = urlSplits[urlSplits.length - 2];\n if (!this.publicPages || this.publicPages[pageName]) {\n return Promise.resolve(request);\n } else {\n this.securityService.getConfig(config => {\n if (!config.securityEnabled || config.authenticated) {\n resolve(request);\n } else {\n reject(`Page '${pageName}' is not accessible to the user.`);\n this.app.notify('http401', { page: pageName});\n }\n }, () => reject(`Security call failed.`));\n }\n return Promise.resolve(request);\n }).then(resolve, reject);\n }\n return resolve(request);\n });\n }\n\n /**\n * loads public pages from 'metadata/app/public-pages.info' and overrides canAccess method SecurityService\n */\n private init(): Promise<any> {\n const folderPath = cordova.file.applicationDirectory + 'www/metadata/app',\n fileName = 'public-pages.json';\n return this.file.readAsText(folderPath, fileName).then(text => {\n if (!this.initialized) {\n this.publicPages = {};\n this.initialized = true;\n forEach(JSON.parse(text), pageName => this.publicPages[pageName] = true);\n }\n }).catch(() => {\n this.initialized = true;\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { App, AbstractHttpService } from '@wm/core';\nimport { ExtAppMessageService } from '@wm/mobile/core';\n\ndeclare const cordova;\n\n@Injectable()\nexport class WebProcessService {\n\n constructor(\n private app: App,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService\n ) {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false): Promise<any> {\n return this.httpService.get(`/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`)\n .then((processInfo) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(processInfo);\n } else {\n return this.executeWithInAppBrowser(processInfo, process);\n }\n }).then(output => {\n return this.httpService.get('/services/webprocess/decode?encodedProcessdata=' + output);\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return new Promise((resolve) => {\n const oauthAdress = '^services/webprocess/LOGIN';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['process_output']);\n deregister();\n });\n window.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_system');\n });\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string): Promise<any> {\n return new Promise((resolve, reject) => {\n const ref = cordova.InAppBrowser.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_blank', 'location=yes,clearcache=yes');\n let isSuccess = false;\n ref.addEventListener('loadstop', () => {\n ref.executeScript({ code: this.getScriptToInject(process)}, output => {\n if (output && output[0]) {\n isSuccess = true;\n ref.close();\n resolve(output[0]);\n }\n });\n });\n ref.addEventListener('exit', () => {\n if (!isSuccess) {\n reject('Login process is stopped');\n }\n });\n });\n }\n\n private getScriptToInject(process: string): string {\n return `\n (function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })();\n `;\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AppVersion } from '@awesome-cordova-plugins/app-version/ngx';\nimport { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner/ngx';\nimport { Calendar } from '@awesome-cordova-plugins/calendar/ngx';\nimport { Camera } from '@awesome-cordova-plugins/camera/ngx';\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\nimport { MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx';\nimport { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';\nimport { Network } from '@awesome-cordova-plugins/network/ngx';\nimport { SQLite } from '@awesome-cordova-plugins/sqlite/ngx';\nimport { Vibration } from '@awesome-cordova-plugins/vibration/ngx';\nimport { LocationAccuracy } from '@awesome-cordova-plugins/location-accuracy/ngx';\nimport { Diagnostic } from '@awesome-cordova-plugins/diagnostic/ngx';\n\nimport { CookieService } from './services/cookie.service';\n\nimport {\n App,\n AbstractHttpService,\n hasCordova,\n insertAfter,\n isIpad,\n isIphone,\n isIpod,\n isObject,\n loadScript,\n loadStyleSheet,\n noop,\n removeNode,\n getWmProjectProperties\n} from '@wm/core';\nimport { FileExtensionFromMimePipe } from '@wm/components/base';\nimport { DeviceFileOpenerService, DeviceService, ExtAppMessageService, MobileCoreModule, NetworkService } from '@wm/mobile/core';\nimport {OfflineModule, PushService, PushServiceImpl} from '@wm/mobile/offline';\nimport { SecurityService } from '@wm/security';\nimport { VariablesModule } from '@wm/mobile/variables';\nimport { $rootScope, CONSTANTS } from '@wm/variables';\nimport { BasicModule } from '@wm/mobile/components/basic';\n\nimport { AppExtComponent } from './components/app-ext.component';\nimport { MobileHttpInterceptor } from './services/http-interceptor.service';\nimport { WebProcessService } from './services/webprocess.service';\nimport {SearchModule} from \"@wm/mobile/components/basic/search\";\nimport {SegmentedControlModule} from \"@wm/mobile/components/containers/segmented-control\";\nimport {MediaListModule} from \"@wm/mobile/components/data/media-list\";\nimport {BarcodeScannerModule} from \"@wm/mobile/components/device/barcode-scanner\";\nimport {CameraModule} from \"@wm/mobile/components/device/camera\";\nimport {FileUploadModule} from \"@wm/mobile/components/input/file-upload\";\nimport {PageModule} from \"@wm/mobile/components/page\";\nimport {LeftPanelModule} from \"@wm/mobile/components/page/left-panel\";\nimport {MobileNavbarModule} from \"@wm/mobile/components/page/mobile-navbar\";\nimport {TabBarModule} from \"@wm/mobile/components/page/tab-bar\";\nimport {keys} from \"lodash-es\";\n\ndeclare const $;\ndeclare const navigator, cordova;\n\nexport const MAX_WAIT_TIME_4_OAUTH_MESSAGE = 60000;\n\nconst MINIMUM_TAB_WIDTH = 768;\nconst KEYBOARD_CLASS = 'keyboard';\n\nconst cordovaServices = [\n AppVersion,\n BarcodeScanner,\n Calendar,\n Camera,\n File,\n FileOpener,\n Device,\n Geolocation,\n MediaCapture,\n Network,\n SQLite,\n Vibration,\n LocationAccuracy,\n Diagnostic\n];\n\nexport const MOBILE_COMPONENT_MODULES = [\n BasicModule,\n MobileCoreModule,\n OfflineModule,\n VariablesModule,\n SearchModule,\n SegmentedControlModule,\n MediaListModule,\n BarcodeScannerModule,\n CameraModule,\n FileUploadModule,\n PageModule,\n LeftPanelModule,\n MobileNavbarModule,\n TabBarModule\n];\n\n@NgModule({\n declarations: [\n AppExtComponent\n ],\n exports: [\n AppExtComponent,\n ...MOBILE_COMPONENT_MODULES\n ],\n imports: [\n MobileCoreModule,\n VariablesModule,\n BasicModule,\n ...MOBILE_COMPONENT_MODULES\n ],\n bootstrap: []\n})\nexport class MobileRuntimeModule {\n\n static forRoot(): ModuleWithProviders<MobileRuntimeModule> {\n /* add all providers that are required for mobile here. This is to simplify placeholder.*/\n return {\n ngModule: MobileRuntimeModule,\n providers: [\n WebProcessService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MobileHttpInterceptor,\n multi: true\n },\n ...cordovaServices,\n FileExtensionFromMimePipe,\n {provide: PushService, useClass: PushServiceImpl}\n ]\n };\n }\n\n private static initialized = false;\n // Startup services have to be added only once in the app life-cycle.\n private static initializeRuntime(runtimeModule: MobileRuntimeModule,\n app: App,\n deviceFileOpenerService: DeviceFileOpenerService,\n deviceService: DeviceService) {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n app.deployedUrl = runtimeModule.getDeployedUrl();\n if (hasCordova()) {\n const unsubscribe = app.subscribe('pageReady', (page) => {\n navigator.splashscreen.hide();\n unsubscribe();\n });\n app.subscribe('userLoggedIn', () => {\n cordova && cordova.wavemaker.syncCookies();\n });\n runtimeModule.handleKeyBoardClass();\n app.subscribe('device-file-download', (data) => {\n deviceFileOpenerService.openRemoteFile(data.url, data.extension, data.name, data.headers).then(data.successCb, data.errorCb);\n });\n const __zone_symbol__FileReader = window['__zone_symbol__FileReader'];\n if (__zone_symbol__FileReader && __zone_symbol__FileReader.READ_CHUNK_SIZE) {\n // cordova File Reader is required. Otherwise, file operations are failing.\n window['FileReader'] = __zone_symbol__FileReader;\n }\n window.open = window['cordova']['InAppBrowser']['open'];\n runtimeModule.addAuthInBrowser();\n }\n deviceService.start();\n deviceService.whenReady().then(() => {\n if (hasCordova()) {\n runtimeModule._$appEl.addClass('cordova');\n runtimeModule.exposeOAuthService();\n // Fix for issue: ios device is not considering the background style, eventhough value is set in config.xml.\n if (window['StatusBar']) {\n window['StatusBar'].overlaysWebView(false);\n }\n }\n });\n }\n\n private _$appEl;\n\n constructor(\n private app: App,\n private cookieService: CookieService,\n private deviceFileOpenerService: DeviceFileOpenerService,\n private deviceService: DeviceService,\n private securityService: SecurityService,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService,\n private networkService: NetworkService,\n private webProcessService: WebProcessService\n ) {\n this._$appEl = $('.wm-app').first();\n if (this._$appEl.width() >= MINIMUM_TAB_WIDTH) {\n app.isTabletApplicationType = true;\n this._$appEl.addClass('wm-tablet-app');\n } else {\n this._$appEl.addClass('wm-mobile-app');\n }\n // applying os theme on getting os details\n app.subscribe('on-viewport-details', os => {\n this.applyOSTheme(os);\n });\n MobileRuntimeModule.initializeRuntime(this, this.app, this.deviceFileOpenerService, this.deviceService);\n }\n\n private exposeOAuthService() {\n window['OAuthInMobile'] = (providerId) => {\n return new Promise<string>((resolve, reject) => {\n const oauthAdress = '^services/oauth/' + providerId + '$';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['access_token']);\n deregister();\n clearTimeout(timerId);\n });\n const timerId = setTimeout(function () {\n deregister();\n reject(`Time out for oauth message after ${MAX_WAIT_TIME_4_OAUTH_MESSAGE % 1000} seconds`);\n }, MAX_WAIT_TIME_4_OAUTH_MESSAGE);\n });\n };\n const handleOpenURL = window['handleOpenURL'];\n handleOpenURL.isReady = true;\n handleOpenURL(handleOpenURL.lastURL);\n }\n\n public applyOSTheme(os) {\n let oldStyleSheet: any = $('link[theme=\"wmtheme\"][href ^=\"themes\"][href $=\"/style.css\"]').first();\n if (oldStyleSheet.length) {\n const themeUrl = oldStyleSheet.attr('href').replace(new RegExp('/[a-z]*/style.css$'), `/${os.toLowerCase()}/style.css`),\n newStyleSheet = loadStyleSheet(themeUrl, {name: 'theme', value: 'wmtheme'});\n oldStyleSheet = oldStyleSheet.length > 0 && oldStyleSheet[0];\n if (newStyleSheet && oldStyleSheet) {\n insertAfter(newStyleSheet, oldStyleSheet);\n removeNode(oldStyleSheet);\n }\n }\n\n // In angular development, styleSheet will point to .js files\n // In angular production, styleSheet will point to 'wm-android-styles.css' or 'wm-ios-styles.css'\n const removeTheme = os.toLowerCase() === 'android' ? 'wm-ios-styles' : 'wm-android-styles';\n let isDevBuild;\n const useTheme = 'wm-' + os.toLowerCase() + '-styles';\n let unusedStyleSheet: any = $('link[href *=' + removeTheme + ']').first();\n if (!unusedStyleSheet.length) {\n isDevBuild = true;\n unusedStyleSheet = $('script[src *=' + removeTheme + ']').first();\n }\n if (unusedStyleSheet.length) {\n let newStyleSheet;\n if (isDevBuild) {\n newStyleSheet = unusedStyleSheet.clone();\n newStyleSheet = newStyleSheet[0];\n newStyleSheet.src = newStyleSheet.src.replace(removeTheme, useTheme);\n loadScript(newStyleSheet.src, false);\n unusedStyleSheet = unusedStyleSheet[0];\n insertAfter(newStyleSheet, unusedStyleSheet);\n removeNode(unusedStyleSheet);\n } else {\n newStyleSheet = $('link[href *=' + useTheme + ']').first();\n newStyleSheet = newStyleSheet[0];\n loadStyleSheet(newStyleSheet.href, {name: 'theme', value: 'wmtheme'});\n removeNode(unusedStyleSheet[0]);\n }\n }\n }\n\n private handleKeyBoardClass() {\n const initialScreenSize = window.innerHeight;\n // keyboard class is added when keyboard is open.\n window.addEventListener('resize', () => {\n if (window.innerHeight < initialScreenSize) {\n this._$appEl.addClass(KEYBOARD_CLASS);\n } else {\n this._$appEl.removeClass(KEYBOARD_CLASS);\n }\n });\n }\n\n private getDeployedUrl(): string {\n let deployedUrl = $rootScope.project.deployedUrl;\n if (hasCordova()) {\n const baseUrl = $('meta[name=\"liveSync.deployedUrl\"]').attr('value');\n const config = this.deviceService.getConfig();\n if (baseUrl) {\n deployedUrl = baseUrl;\n } else {\n deployedUrl = this.deviceService.getBaseUrl();\n }\n this.app.customUrlScheme = config.customUrlScheme;\n }\n if (deployedUrl !== 'NONE' && !deployedUrl.endsWith('/')) {\n deployedUrl = deployedUrl + '/';\n }\n $rootScope.project.deployedUrl = deployedUrl;\n return deployedUrl;\n }\n\n private addAuthInBrowser() {\n let isAuthenticating = false;\n this.securityService.authInBrowser = (): Promise<any> => {\n if (!this.networkService.isConnected()) {\n return Promise.reject('In offline, app cannot contact the server.');\n }\n if (isAuthenticating) {\n return Promise.reject('Authentication is in process.');\n }\n isAuthenticating = true;\n return this.webProcessService.execute('LOGIN', '/', true)\n .then(output => {\n output = JSON.parse(output && output.replace(/"/g, \"\\\"\"));\n if (output[CONSTANTS.XSRF_COOKIE_NAME]) {\n localStorage.setItem(CONSTANTS.XSRF_COOKIE_NAME, output[CONSTANTS.XSRF_COOKIE_NAME]);\n }\n isAuthenticating = false;\n return this.cookieService.clearAll()\n .then(() => {\n const promises = keys(output).map(k => {\n return this.cookieService.setCookie(this.app.deployedUrl, k, output[k]);\n });\n return Promise.all(promises);\n });\n })\n .then(() => this.app.notify('userLoggedIn', {}))\n .catch((e) => {\n isAuthenticating = false;\n return Promise.reject(e);\n });\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i2.CookieService","i5.WebProcessService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../projects/mobile/runtime/src/services/cookie.service.ts","../../../../projects/mobile/runtime/src/components/app-ext.component.ts","../../../../projects/mobile/runtime/src/services/http-interceptor.service.ts","../../../../projects/mobile/runtime/src/services/webprocess.service.ts","../../../../projects/mobile/runtime/src/mobile-runtime.module.ts","../../../../projects/mobile/runtime/src/index.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { IDeviceStartUpService } from '@wm/mobile/core';\nimport { isIos } from '@wm/core';\nimport {forEach} from \"lodash-es\";\n\nconst STORAGE_KEY = 'wavemaker.persistedcookies';\n\ninterface CookieInfo {\n hostname: string;\n name: string;\n value: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CookieService implements IDeviceStartUpService {\n static readonly SERVICE_NAME = 'CookieService';\n private cookieInfo = {};\n\n public serviceName = 'CookeService';\n\n public persistCookie(hostname: string, cookieName: string, cookieValue?: string): Promise<void> {\n return new Promise<string>((resolve, reject) => {\n if (cookieValue) {\n resolve(cookieValue);\n } else {\n this.getCookie(hostname, cookieName)\n .then(data => resolve(data.cookieValue), reject);\n }\n }).then(value => {\n this.cookieInfo[hostname + '-' + cookieName] = {\n hostname: hostname.replace(/:[0-9]+/, ''),\n name: cookieName,\n value: this.rotateLTR(value)\n };\n localStorage.setItem(STORAGE_KEY, JSON.stringify(this.cookieInfo));\n });\n }\n\n public getCookie(hostname: string, cookieName: string): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n const cookieString = window['cordova'].plugin.http.getCookieString(hostname);\n if (cookieString) {\n const at = cookieString.indexOf(cookieName);\n if (at >= 0) {\n const start = at + cookieName.length + 1;\n const end = cookieString.indexOf(';', start);\n const cookieValue = cookieString.substring(start, end >= 0 ? end : undefined);\n resolve({\n cookieValue: cookieValue\n });\n return;\n }\n }\n reject();\n } else {\n window['cookieEmperor'].getCookie(hostname, cookieName, resolve, reject);\n }\n });\n }\n\n public setCookie(hostname: string, cookieName: string, cookieValue: string): Promise<any> {\n return new Promise<void>((resolve, reject) => {\n if (isIos()) {\n const cookieString = cookieName + '=' + cookieValue;\n window['cordova'].plugin.http.setCookie(hostname, cookieString);\n resolve();\n } else {\n window['cookieEmperor'].setCookie(hostname, cookieName, cookieValue, resolve, reject);\n }\n });\n }\n\n public clearAll(): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n window['cordova'].plugin.http.clearCookies();\n resolve('');\n } else {\n window['cookieEmperor'].clearAll(resolve, reject);\n }\n });\n }\n\n /**\n * Loads persisted cookies from local storage and adds them to the browser.\n * @returns {*}\n */\n public start(): Promise<any> {\n const cookieInfoStr = localStorage.getItem(STORAGE_KEY),\n promises = [];\n if (cookieInfoStr) {\n const cookieInfo = JSON.parse(cookieInfoStr) as Map<string, CookieInfo>;\n forEach(cookieInfo, c => {\n // @ts-ignore\n if (c.name && c.value) {\n // @ts-ignore\n promises.push(this.getCookie(c.hostname, c.name).catch(() => {\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window['cookieEmperor'].setCookie(c.hostname, c.name, this.rotateRTL(c.value), resolve, reject);\n });\n }));\n }\n });\n }\n return Promise.all(promises);\n }\n\n public getServiceName() {\n return CookieService.SERVICE_NAME;\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in left to right direction.\n * @param str\n * @returns {string}\n */\n private rotateLTR(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(i + shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in right to left direction..\n * @param str\n * @returns {string}\n */\n private rotateRTL(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(arr.length + i - shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n}\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\n\nimport { hasCordova } from '@wm/core';\nimport { FileBrowserComponent, FileSelectorService, ProcessManagerComponent, ProcessManagementService } from '@wm/mobile/components/basic';\n\n@Component({\n selector: '[wmAppExt]',\n template: `<ng-container> \n <div wmNetworkInfoToaster></div>\n <div wmAppUpdate></div>\n <div wmMobileFileBrowser></div>\n <div wmProcessManager></div>\n </ng-container>`\n})\nexport class AppExtComponent implements AfterViewInit {\n\n @ViewChild(FileBrowserComponent) fileBrowserComponent: FileBrowserComponent;\n\n @ViewChild(ProcessManagerComponent) processManagerComponent: ProcessManagerComponent;\n\n constructor(\n private elRef: ElementRef,\n private fileSelectorService: FileSelectorService,\n private processManagementService: ProcessManagementService\n ) {}\n\n ngAfterViewInit() {\n const mobileElements = $(this.elRef.nativeElement).find('>[wmNetworkInfoToaster], >[wmAppUpdate], >[wmMobileFileBrowser]');\n const $body = $('body');\n if (hasCordova()) {\n mobileElements.appendTo($body);\n this.fileSelectorService.setFileBrowser(this.fileBrowserComponent);\n } else {\n mobileElements.remove();\n }\n $(this.elRef.nativeElement).find('>[wmProgressManager]').appendTo($body);\n this.processManagementService.setUIComponent(this.processManagerComponent);\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { from } from 'rxjs';\nimport { Observable, Subject } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\n\nimport {\n App,\n executePromiseChain,\n getWmProjectProperties,\n hasCordova,\n removeExtraSlashes,\n} from '@wm/core';\nimport { DeviceFileDownloadService, DeviceService, NetworkService } from '@wm/mobile/core';\nimport { SecurityService } from '@wm/security';\nimport { CONSTANTS } from '@wm/variables';\nimport {forEach, split} from \"lodash-es\";\n\ndeclare const cordova;\n\ninterface RequestInterceptor {\n intercept(request: HttpRequest<any>): Promise<HttpRequest<any>>;\n}\n\n@Injectable()\nexport class MobileHttpInterceptor implements HttpInterceptor {\n\n private requestInterceptors: RequestInterceptor[] = [];\n\n public constructor(private app: App,\n file: File,\n deviceFileDownloadService: DeviceFileDownloadService,\n private deviceService: DeviceService,\n private networkService: NetworkService,\n securityService: SecurityService) {\n if (hasCordova()) {\n this.requestInterceptors.push(new SecurityInterceptor(app, file, securityService));\n this.requestInterceptors.push(new ServiceCallInterceptor(app));\n }\n }\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const subject = new Subject<HttpEvent<any>>();\n const token = localStorage.getItem(CONSTANTS.XSRF_COOKIE_NAME);\n const xsrfHeaderName = (window as any)._WM_APP_PROPERTIES['securityInfo'] ? (window as any)._WM_APP_PROPERTIES['securityInfo']?.csrfHeaderName : null\n if (token\n && xsrfHeaderName\n && this.app.deployedUrl\n && (request.url.indexOf('://') < 0\n || request.url.startsWith(this.app.deployedUrl))) {\n\n // Clone the request to add the new header\n request = request.clone({ headers: request.headers.set(xsrfHeaderName, token) });\n }\n const data = {request: request};\n\n // invoke the request only when device is ready.\n const obs = from(this.deviceService.whenReady()\n .then(() => executePromiseChain(this.getInterceptors(), [data])));\n return obs.pipe(mergeMap(() => {\n return next.handle(data.request);\n }));\n }\n\n private getInterceptors() {\n return this.requestInterceptors.map(i => {\n return (data) => i.intercept(data.request).then(req => data.request = req);\n });\n }\n\n private onHttpError(response: HttpResponse<any>) {\n if (hasCordova\n && (!response || !response.status || response.status < 0 || response.status === 404)\n && (this.networkService.isConnected())) {\n this.networkService.isAvailable(true);\n }\n }\n}\n\nclass ServiceCallInterceptor implements RequestInterceptor {\n\n private static REMOTE_SERVICE_URL_PATTERNS = [\n new RegExp('^((./)|/)?services/'),\n new RegExp('j_spring_security_check'),\n new RegExp('j_spring_security_logout')\n ];\n\n constructor(private app: App) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n let modifiedRequest = request;\n let url = request.url;\n // if necessary, prepend deployed url\n if (url.indexOf('://') < 0\n && ServiceCallInterceptor.REMOTE_SERVICE_URL_PATTERNS.find(r => r.test(url))) {\n url = this.app.deployedUrl + url;\n }\n url = removeExtraSlashes(url);\n if (url !== request.url) {\n modifiedRequest = request.clone({\n url: url\n });\n }\n return Promise.resolve(modifiedRequest);\n }\n\n}\n\nclass SecurityInterceptor implements RequestInterceptor {\n\n private initialized = false;\n private static PAGE_URL_PATTERN = new RegExp('page.min.json$');\n private static PREFAB_URL_PATTERN = new RegExp('^app/prefabs/.*/page.min.json$');\n private publicPages;\n\n constructor(private app: App, private file: File, private securityService: SecurityService) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n return new Promise<HttpRequest<any>>((resolve, reject) => {\n if (!SecurityInterceptor.PREFAB_URL_PATTERN.test(request.url)\n && SecurityInterceptor.PAGE_URL_PATTERN.test(request.url)) {\n return Promise.resolve().then(() => {\n if (!this.initialized) {\n return this.init();\n }\n }).then(() => {\n const urlSplits = split(request.url, '/');\n const pageName = urlSplits[urlSplits.length - 2];\n if (!this.publicPages || this.publicPages[pageName]) {\n return Promise.resolve(request);\n } else {\n this.securityService.getConfig(config => {\n if (!config.securityEnabled || config.authenticated) {\n resolve(request);\n } else {\n reject(`Page '${pageName}' is not accessible to the user.`);\n this.app.notify('http401', { page: pageName});\n }\n }, () => reject(`Security call failed.`));\n }\n return Promise.resolve(request);\n }).then(resolve, reject);\n }\n return resolve(request);\n });\n }\n\n /**\n * loads public pages from 'metadata/app/public-pages.info' and overrides canAccess method SecurityService\n */\n private init(): Promise<any> {\n const folderPath = cordova.file.applicationDirectory + 'www/metadata/app',\n fileName = 'public-pages.json';\n return this.file.readAsText(folderPath, fileName).then(text => {\n if (!this.initialized) {\n this.publicPages = {};\n this.initialized = true;\n forEach(JSON.parse(text), pageName => this.publicPages[pageName] = true);\n }\n }).catch(() => {\n this.initialized = true;\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { App, AbstractHttpService } from '@wm/core';\nimport { ExtAppMessageService } from '@wm/mobile/core';\n\ndeclare const cordova;\n\n@Injectable()\nexport class WebProcessService {\n\n constructor(\n private app: App,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService\n ) {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false): Promise<any> {\n return this.httpService.get(`/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`)\n .then((processInfo) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(processInfo);\n } else {\n return this.executeWithInAppBrowser(processInfo, process);\n }\n }).then(output => {\n return this.httpService.get('/services/webprocess/decode?encodedProcessdata=' + output);\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return new Promise((resolve) => {\n const oauthAdress = '^services/webprocess/LOGIN';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['process_output']);\n deregister();\n });\n window.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_system');\n });\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string): Promise<any> {\n return new Promise((resolve, reject) => {\n const ref = cordova.InAppBrowser.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_blank', 'location=yes,clearcache=yes');\n let isSuccess = false;\n ref.addEventListener('loadstop', () => {\n ref.executeScript({ code: this.getScriptToInject(process)}, output => {\n if (output && output[0]) {\n isSuccess = true;\n ref.close();\n resolve(output[0]);\n }\n });\n });\n ref.addEventListener('exit', () => {\n if (!isSuccess) {\n reject('Login process is stopped');\n }\n });\n });\n }\n\n private getScriptToInject(process: string): string {\n return `\n (function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })();\n `;\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AppVersion } from '@awesome-cordova-plugins/app-version/ngx';\nimport { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner/ngx';\nimport { Calendar } from '@awesome-cordova-plugins/calendar/ngx';\nimport { Camera } from '@awesome-cordova-plugins/camera/ngx';\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\nimport { MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx';\nimport { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';\nimport { Network } from '@awesome-cordova-plugins/network/ngx';\nimport { SQLite } from '@awesome-cordova-plugins/sqlite/ngx';\nimport { Vibration } from '@awesome-cordova-plugins/vibration/ngx';\nimport { LocationAccuracy } from '@awesome-cordova-plugins/location-accuracy/ngx';\nimport { Diagnostic } from '@awesome-cordova-plugins/diagnostic/ngx';\n\nimport { CookieService } from './services/cookie.service';\n\nimport {\n App,\n AbstractHttpService,\n hasCordova,\n insertAfter,\n isIpad,\n isIphone,\n isIpod,\n isObject,\n loadScript,\n loadStyleSheet,\n noop,\n removeNode,\n getWmProjectProperties\n} from '@wm/core';\nimport { FileExtensionFromMimePipe } from '@wm/components/base';\nimport { DeviceFileOpenerService, DeviceService, ExtAppMessageService, MobileCoreModule, NetworkService } from '@wm/mobile/core';\nimport {OfflineModule, PushService, PushServiceImpl} from '@wm/mobile/offline';\nimport { SecurityService } from '@wm/security';\nimport { VariablesModule } from '@wm/mobile/variables';\nimport { $rootScope, CONSTANTS } from '@wm/variables';\nimport { BasicModule } from '@wm/mobile/components/basic';\n\nimport { AppExtComponent } from './components/app-ext.component';\nimport { MobileHttpInterceptor } from './services/http-interceptor.service';\nimport { WebProcessService } from './services/webprocess.service';\nimport {SearchModule} from \"@wm/mobile/components/basic/search\";\nimport {SegmentedControlModule} from \"@wm/mobile/components/containers/segmented-control\";\nimport {MediaListModule} from \"@wm/mobile/components/data/media-list\";\nimport {BarcodeScannerModule} from \"@wm/mobile/components/device/barcode-scanner\";\nimport {CameraModule} from \"@wm/mobile/components/device/camera\";\nimport {FileUploadModule} from \"@wm/mobile/components/input/file-upload\";\nimport {PageModule} from \"@wm/mobile/components/page\";\nimport {LeftPanelModule} from \"@wm/mobile/components/page/left-panel\";\nimport {MobileNavbarModule} from \"@wm/mobile/components/page/mobile-navbar\";\nimport {TabBarModule} from \"@wm/mobile/components/page/tab-bar\";\nimport {keys} from \"lodash-es\";\n\ndeclare const $;\ndeclare const navigator, cordova;\n\nexport const MAX_WAIT_TIME_4_OAUTH_MESSAGE = 60000;\n\nconst MINIMUM_TAB_WIDTH = 768;\nconst KEYBOARD_CLASS = 'keyboard';\n\nconst cordovaServices = [\n AppVersion,\n BarcodeScanner,\n Calendar,\n Camera,\n File,\n FileOpener,\n Device,\n Geolocation,\n MediaCapture,\n Network,\n SQLite,\n Vibration,\n LocationAccuracy,\n Diagnostic\n];\n\nexport const MOBILE_COMPONENT_MODULES = [\n BasicModule,\n MobileCoreModule,\n OfflineModule,\n VariablesModule,\n SearchModule,\n SegmentedControlModule,\n MediaListModule,\n BarcodeScannerModule,\n CameraModule,\n FileUploadModule,\n PageModule,\n LeftPanelModule,\n MobileNavbarModule,\n TabBarModule\n];\n\n@NgModule({\n declarations: [\n AppExtComponent\n ],\n exports: [\n AppExtComponent,\n ...MOBILE_COMPONENT_MODULES\n ],\n imports: [\n MobileCoreModule,\n VariablesModule,\n BasicModule,\n ...MOBILE_COMPONENT_MODULES\n ],\n bootstrap: []\n})\nexport class MobileRuntimeModule {\n\n static forRoot(): ModuleWithProviders<MobileRuntimeModule> {\n /* add all providers that are required for mobile here. This is to simplify placeholder.*/\n return {\n ngModule: MobileRuntimeModule,\n providers: [\n WebProcessService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MobileHttpInterceptor,\n multi: true\n },\n ...cordovaServices,\n FileExtensionFromMimePipe,\n {provide: PushService, useClass: PushServiceImpl}\n ]\n };\n }\n\n private static initialized = false;\n // Startup services have to be added only once in the app life-cycle.\n private static initializeRuntime(runtimeModule: MobileRuntimeModule,\n app: App,\n deviceFileOpenerService: DeviceFileOpenerService,\n deviceService: DeviceService) {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n app.deployedUrl = runtimeModule.getDeployedUrl();\n if (hasCordova()) {\n const unsubscribe = app.subscribe('pageReady', (page) => {\n navigator.splashscreen.hide();\n unsubscribe();\n });\n app.subscribe('userLoggedIn', () => {\n cordova && cordova.wavemaker.syncCookies();\n });\n runtimeModule.handleKeyBoardClass();\n app.subscribe('device-file-download', (data) => {\n deviceFileOpenerService.openRemoteFile(data.url, data.extension, data.name, data.headers).then(data.successCb, data.errorCb);\n });\n const __zone_symbol__FileReader = window['__zone_symbol__FileReader'];\n if (__zone_symbol__FileReader && __zone_symbol__FileReader.READ_CHUNK_SIZE) {\n // cordova File Reader is required. Otherwise, file operations are failing.\n window['FileReader'] = __zone_symbol__FileReader;\n }\n window.open = window['cordova']['InAppBrowser']['open'];\n runtimeModule.addAuthInBrowser();\n }\n deviceService.start();\n deviceService.whenReady().then(() => {\n if (hasCordova()) {\n runtimeModule._$appEl.addClass('cordova');\n runtimeModule.exposeOAuthService();\n // Fix for issue: ios device is not considering the background style, eventhough value is set in config.xml.\n if (window['StatusBar']) {\n window['StatusBar'].overlaysWebView(false);\n }\n }\n });\n }\n\n private _$appEl;\n\n constructor(\n private app: App,\n private cookieService: CookieService,\n private deviceFileOpenerService: DeviceFileOpenerService,\n private deviceService: DeviceService,\n private securityService: SecurityService,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService,\n private networkService: NetworkService,\n private webProcessService: WebProcessService\n ) {\n this._$appEl = $('.wm-app').first();\n if (this._$appEl.width() >= MINIMUM_TAB_WIDTH) {\n app.isTabletApplicationType = true;\n this._$appEl.addClass('wm-tablet-app');\n } else {\n this._$appEl.addClass('wm-mobile-app');\n }\n // applying os theme on getting os details\n app.subscribe('on-viewport-details', os => {\n this.applyOSTheme(os);\n });\n MobileRuntimeModule.initializeRuntime(this, this.app, this.deviceFileOpenerService, this.deviceService);\n }\n\n private exposeOAuthService() {\n window['OAuthInMobile'] = (providerId) => {\n return new Promise<string>((resolve, reject) => {\n const oauthAdress = '^services/oauth/' + providerId + '$';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['access_token']);\n deregister();\n clearTimeout(timerId);\n });\n const timerId = setTimeout(function () {\n deregister();\n reject(`Time out for oauth message after ${MAX_WAIT_TIME_4_OAUTH_MESSAGE % 1000} seconds`);\n }, MAX_WAIT_TIME_4_OAUTH_MESSAGE);\n });\n };\n const handleOpenURL = window['handleOpenURL'];\n handleOpenURL.isReady = true;\n handleOpenURL(handleOpenURL.lastURL);\n }\n\n public applyOSTheme(os) {\n let oldStyleSheet: any = $('link[theme=\"wmtheme\"][href ^=\"themes\"][href $=\"/style.css\"]').first();\n if (oldStyleSheet.length) {\n const themeUrl = oldStyleSheet.attr('href').replace(new RegExp('/[a-z]*/style.css$'), `/${os.toLowerCase()}/style.css`),\n newStyleSheet = loadStyleSheet(themeUrl, {name: 'theme', value: 'wmtheme'});\n oldStyleSheet = oldStyleSheet.length > 0 && oldStyleSheet[0];\n if (newStyleSheet && oldStyleSheet) {\n insertAfter(newStyleSheet, oldStyleSheet);\n removeNode(oldStyleSheet);\n }\n }\n\n // In angular development, styleSheet will point to .js files\n // In angular production, styleSheet will point to 'wm-android-styles.css' or 'wm-ios-styles.css'\n const removeTheme = os.toLowerCase() === 'android' ? 'wm-ios-styles' : 'wm-android-styles';\n let isDevBuild;\n const useTheme = 'wm-' + os.toLowerCase() + '-styles';\n let unusedStyleSheet: any = $('link[href *=' + removeTheme + ']').first();\n if (!unusedStyleSheet.length) {\n isDevBuild = true;\n unusedStyleSheet = $('script[src *=' + removeTheme + ']').first();\n }\n if (unusedStyleSheet.length) {\n let newStyleSheet;\n if (isDevBuild) {\n newStyleSheet = unusedStyleSheet.clone();\n newStyleSheet = newStyleSheet[0];\n newStyleSheet.src = newStyleSheet.src.replace(removeTheme, useTheme);\n loadScript(newStyleSheet.src, false);\n unusedStyleSheet = unusedStyleSheet[0];\n insertAfter(newStyleSheet, unusedStyleSheet);\n removeNode(unusedStyleSheet);\n } else {\n newStyleSheet = $('link[href *=' + useTheme + ']').first();\n newStyleSheet = newStyleSheet[0];\n loadStyleSheet(newStyleSheet.href, {name: 'theme', value: 'wmtheme'});\n removeNode(unusedStyleSheet[0]);\n }\n }\n }\n\n private handleKeyBoardClass() {\n const initialScreenSize = window.innerHeight;\n // keyboard class is added when keyboard is open.\n window.addEventListener('resize', () => {\n if (window.innerHeight < initialScreenSize) {\n this._$appEl.addClass(KEYBOARD_CLASS);\n } else {\n this._$appEl.removeClass(KEYBOARD_CLASS);\n }\n });\n }\n\n private getDeployedUrl(): string {\n let deployedUrl = $rootScope.project.deployedUrl;\n if (hasCordova()) {\n const baseUrl = $('meta[name=\"liveSync.deployedUrl\"]').attr('value');\n const config = this.deviceService.getConfig();\n if (baseUrl) {\n deployedUrl = baseUrl;\n } else {\n deployedUrl = this.deviceService.getBaseUrl();\n }\n this.app.customUrlScheme = config.customUrlScheme;\n }\n if (deployedUrl !== 'NONE' && !deployedUrl.endsWith('/')) {\n deployedUrl = deployedUrl + '/';\n }\n $rootScope.project.deployedUrl = deployedUrl;\n return deployedUrl;\n }\n\n private addAuthInBrowser() {\n let isAuthenticating = false;\n this.securityService.authInBrowser = (): Promise<any> => {\n if (!this.networkService.isConnected()) {\n return Promise.reject('In offline, app cannot contact the server.');\n }\n if (isAuthenticating) {\n return Promise.reject('Authentication is in process.');\n }\n isAuthenticating = true;\n return this.webProcessService.execute('LOGIN', '/', true)\n .then(output => {\n output = JSON.parse(output && output.replace(/"/g, \"\\\"\"));\n if (output[CONSTANTS.XSRF_COOKIE_NAME]) {\n localStorage.setItem(CONSTANTS.XSRF_COOKIE_NAME, output[CONSTANTS.XSRF_COOKIE_NAME]);\n }\n isAuthenticating = false;\n return this.cookieService.clearAll()\n .then(() => {\n const promises = keys(output).map(k => {\n return this.cookieService.setCookie(this.app.deployedUrl, k, output[k]);\n });\n return Promise.all(promises);\n });\n })\n .then(() => this.app.notify('userLoggedIn', {}))\n .catch((e) => {\n isAuthenticating = false;\n return Promise.reject(e);\n });\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i2.CookieService","i5.WebProcessService"],"mappings":"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"}
|
app-ng-runtime/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Injector, ModuleWithProviders } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { HttpClientXsrfModule } from '@angular/common/http';
|
|
4
3
|
import { TypeaheadModule } from 'ngx-bootstrap/typeahead';
|
|
5
4
|
import { TimepickerModule as ngxTimepickerModule } from 'ngx-bootstrap/timepicker';
|
|
6
5
|
import { ProgressbarModule } from 'ngx-bootstrap/progressbar';
|
|
@@ -17,7 +16,6 @@ import { App } from '@wm/core';
|
|
|
17
16
|
import { ComponentRefProvider } from '@wm/runtime/base';
|
|
18
17
|
export declare const routerModule: ModuleWithProviders<RouterModule>;
|
|
19
18
|
export declare const toastrModule: ModuleWithProviders<ToastNoAnimationModule>;
|
|
20
|
-
export declare const httpClientXsrfModule: ModuleWithProviders<HttpClientXsrfModule>;
|
|
21
19
|
export declare const modalModule: ModuleWithProviders<ModalModule>;
|
|
22
20
|
export declare const bsDatePickerModule: ModuleWithProviders<BsDatepickerModule>;
|
|
23
21
|
export declare const timepickerModule: ModuleWithProviders<ngxTimepickerModule>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SecurityService } from "@wm/security";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
export declare function initializeXsrfConfig(securityService: SecurityService): () => void;
|
|
5
|
+
export declare class XsrfConfigModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<XsrfConfigModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<XsrfConfigModule, never, [typeof i1.HttpClientXsrfModule], never>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<XsrfConfigModule>;
|
|
9
|
+
}
|
|
@@ -446,18 +446,53 @@
|
|
|
446
446
|
type: i0.Injectable
|
|
447
447
|
}], () => [{ type: AppResourceManagerService }], null); })();
|
|
448
448
|
|
|
449
|
+
function initializeXsrfConfig(securityService) {
|
|
450
|
+
return () => {
|
|
451
|
+
securityService.load().then(() => {
|
|
452
|
+
const xsrfCookieName = window._WM_APP_PROPERTIES["securityInfo"]
|
|
453
|
+
?.csrfCookieName || "wm_xsrf_token";
|
|
454
|
+
const xsrfHeaderName = window._WM_APP_PROPERTIES["securityInfo"]
|
|
455
|
+
?.csrfHeaderName || null;
|
|
456
|
+
const xsrfOptions = {
|
|
457
|
+
cookieName: xsrfCookieName,
|
|
458
|
+
};
|
|
459
|
+
if (xsrfHeaderName) {
|
|
460
|
+
xsrfOptions.headerName = xsrfHeaderName;
|
|
461
|
+
}
|
|
462
|
+
i1$1.HttpClientXsrfModule.withOptions(xsrfOptions);
|
|
463
|
+
});
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
class XsrfConfigModule {
|
|
467
|
+
static { this.ɵfac = function XsrfConfigModule_Factory(t) { return new (t || XsrfConfigModule)(); }; }
|
|
468
|
+
static { this.ɵmod = /*@__PURE__*/ i0__namespace.ɵɵdefineNgModule({ type: XsrfConfigModule }); }
|
|
469
|
+
static { this.ɵinj = /*@__PURE__*/ i0__namespace.ɵɵdefineInjector({ providers: [
|
|
470
|
+
{
|
|
471
|
+
provide: i0.APP_INITIALIZER,
|
|
472
|
+
useFactory: (securityService) => initializeXsrfConfig(securityService),
|
|
473
|
+
deps: [i3.SecurityService],
|
|
474
|
+
multi: true,
|
|
475
|
+
},
|
|
476
|
+
], imports: [i1$1.HttpClientXsrfModule] }); }
|
|
477
|
+
}
|
|
478
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(XsrfConfigModule, [{
|
|
479
|
+
type: i0.NgModule,
|
|
480
|
+
args: [{
|
|
481
|
+
imports: [i1$1.HttpClientXsrfModule],
|
|
482
|
+
providers: [
|
|
483
|
+
{
|
|
484
|
+
provide: i0.APP_INITIALIZER,
|
|
485
|
+
useFactory: (securityService) => initializeXsrfConfig(securityService),
|
|
486
|
+
deps: [i3.SecurityService],
|
|
487
|
+
multi: true,
|
|
488
|
+
},
|
|
489
|
+
],
|
|
490
|
+
}]
|
|
491
|
+
}], null, null); })();
|
|
492
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0__namespace.ɵɵsetNgModuleScope(XsrfConfigModule, { imports: [i1$1.HttpClientXsrfModule] }); })();
|
|
493
|
+
|
|
449
494
|
const routerModule = i1.RouterModule.forRoot(routes, { useHash: true, scrollPositionRestoration: 'top' });
|
|
450
495
|
const toastrModule = ngxToastr.ToastNoAnimationModule.forRoot({ maxOpened: 1, autoDismiss: true });
|
|
451
|
-
// In angular 15, xsrf headerName should not be null. Angular 15 is not using default header value like it used to send in calls
|
|
452
|
-
// for angular 12 if the headerName is null . The user has to take care of not sending null values. Then ng 15 uses default value for headerName
|
|
453
|
-
let xsrfHeaderName = i5.getWmProjectProperties().xsrf_header_name;
|
|
454
|
-
let xsrfOptions = {
|
|
455
|
-
cookieName: 'wm_xsrf_token'
|
|
456
|
-
};
|
|
457
|
-
if (xsrfHeaderName) {
|
|
458
|
-
xsrfOptions['headerName'] = xsrfHeaderName;
|
|
459
|
-
}
|
|
460
|
-
const httpClientXsrfModule = i1$1.HttpClientXsrfModule.withOptions(xsrfOptions);
|
|
461
496
|
const modalModule = modal.ModalModule.forRoot();
|
|
462
497
|
const bsDatePickerModule = datepicker.BsDatepickerModule.forRoot();
|
|
463
498
|
const timepickerModule = timepicker.TimepickerModule.forRoot();
|
|
@@ -574,7 +609,7 @@
|
|
|
574
609
|
ngCircleProgressModule,
|
|
575
610
|
routerModule,
|
|
576
611
|
toastrModule,
|
|
577
|
-
|
|
612
|
+
XsrfConfigModule,
|
|
578
613
|
dynamic.MobileRuntimeDynamicModule,
|
|
579
614
|
i4.WM_MODULES_FOR_ROOT
|
|
580
615
|
],
|
|
@@ -586,7 +621,7 @@
|
|
|
586
621
|
{ provide: i4.ComponentRefProvider, useClass: ComponentRefProviderService },
|
|
587
622
|
{ provide: i5.PartialRefProvider, useClass: ComponentRefProviderService },
|
|
588
623
|
{ provide: i4.PrefabConfigProvider, useClass: PrefabConfigProviderService },
|
|
589
|
-
{ provide: i1.RouteReuseStrategy, useClass: i4.WmRouteReuseStrategy }
|
|
624
|
+
{ provide: i1.RouteReuseStrategy, useClass: i4.WmRouteReuseStrategy },
|
|
590
625
|
],
|
|
591
626
|
bootstrap: [i4.AppComponent]
|
|
592
627
|
}),
|
|
@@ -636,7 +671,6 @@
|
|
|
636
671
|
exports.bsDatePickerModule = bsDatePickerModule;
|
|
637
672
|
exports.bsDropdownModule = bsDropdownModule;
|
|
638
673
|
exports.carouselModule = carouselModule;
|
|
639
|
-
exports.httpClientXsrfModule = httpClientXsrfModule;
|
|
640
674
|
exports.modalModule = modalModule;
|
|
641
675
|
exports.ngCircleProgressModule = ngCircleProgressModule;
|
|
642
676
|
exports.paginationModule = paginationModule;
|