-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathwm_template.js
More file actions
109 lines (95 loc) · 3.95 KB
/
wm_template.js
File metadata and controls
109 lines (95 loc) · 3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const appModuleTemplate = () => `
import { NgModule, ModuleWithProviders, Injectable } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { CommonModule as NgCommonModule, APP_BASE_HREF } from '@angular/common';
import { RouterModule } from '@angular/router';
import { HttpClientModule, HttpClientXsrfModule, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HTTP_INTERCEPTORS } from '@angular/common/http';
import { ModalModule } from 'ngx-bootstrap/modal';
import { NgCircleProgressModule } from 'ng-circle-progress';
import { ToastNoAnimationModule } from 'ngx-toastr';
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
import {
AppComponent,
AppJSProvider,
AppVariablesProvider,
ComponentRefProvider,
PartialRefProvider,
PrefabConfigProvider,
WM_MODULES_FOR_ROOT,
REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS
} from '@wm/runtime/base';
// import { routes } from './app.routes';
import { routes } from './sspa_app.routes';
import { AppJSProviderService } from '../framework/services/app-js-provider.service';
import { AppVariablesProviderService } from '../framework/services/app-variables-provider.service';
import { ComponentRefProviderService } from '../framework/services/component-ref-provider.service';
import { PrefabConfigProviderService } from '../framework/services/prefab-config-provider.service';
import { AppCodeGenModule, xsrfHeaderName } from './app-codegen.module';
import { LazyLoadScriptsResolve } from './lazy-load-scripts.resolve';
import { initPrefabConfig } from './prefabs/prefab-config';
import { Observable } from 'rxjs';
export const modalModule = ModalModule.forRoot();
export const routerModule = RouterModule.forRoot(routes, {useHash: true, scrollPositionRestoration: 'top'});
export const toastrModule = ToastNoAnimationModule.forRoot({maxOpened: 1, autoDismiss: true });
export const bsDatePickerModule: ModuleWithProviders = BsDatepickerModule.forRoot();
export const httpClientXsrfModule = HttpClientXsrfModule.withOptions({
cookieName: 'wm_xsrf_token',
headerName: xsrfHeaderName
});
export const ngCircleProgressModule: ModuleWithProviders = NgCircleProgressModule.forRoot({});
export const isPrefabInitialized = initPrefabConfig();
@NgModule({
imports:[RouterModule.forRoot(routes,{useHash:true, scrollPositionRestoration:'top'})],
exports:[RouterModule],
providers:[{provide:APP_BASE_HREF, useValue:"/"}]
})
export class AppRoutingModule{};
@Injectable()
export class WMInterceptor implements HttpInterceptor {
WM_REDIRECTS = [
"/services",
"/resources",
"resources/",
"./services/",
"/j_spring_security_check"
];
intercept(request:HttpRequest<any>, next:HttpHandler):Observable<HttpEvent<any>> {
let redirectToWm = this.WM_REDIRECTS.some((url)=>request.url.startsWith(url));
if(redirectToWm){
request = request.clone({url:deployUrl+'/'+request.url});
}
return next.handle(request);
}
}
@NgModule({
declarations: [],
imports: [
BrowserModule,
NgCommonModule,
HttpClientModule,
AppRoutingModule,
modalModule,
ngCircleProgressModule,
toastrModule,
httpClientXsrfModule,
bsDatePickerModule,
WM_MODULES_FOR_ROOT,
AppCodeGenModule,
{{PAGE_REPLACE_MODULE}}
],
providers: [
{provide: AppJSProvider, useClass: AppJSProviderService},
{provide: AppVariablesProvider, useClass: AppVariablesProviderService},
{provide: ComponentRefProvider, useClass: ComponentRefProviderService},
{provide: PartialRefProvider, useClass: ComponentRefProviderService},
{provide: PrefabConfigProvider, useClass: PrefabConfigProviderService},
{provide: HTTP_INTERCEPTORS, useClass:WMInterceptor, multi: true},
LazyLoadScriptsResolve
],
bootstrap: [AppComponent]
})
export class AppModule {}
`;
module.exports = {
appModuleTemplate
};