Created
May 17, 2017 16:41
-
-
Save BenevidesLecontes/c72bfe2042de5cb5b96a79fdd8f6d241 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import {CUSTOM_ELEMENTS_SCHEMA, Inject, Injector, NgModule, NgModuleFactoryLoader, SystemJsNgModuleLoader} from '@angular/core'; | |
import {APP_BASE_HREF, CommonModule} from '@angular/common'; | |
import {FormsModule, ReactiveFormsModule} from '@angular/forms'; | |
import {BrowserModule} from '@angular/platform-browser'; | |
import 'wiseit'; // "bare import" for side-effects | |
import {PessoaModule} from './pessoa/pessoa.module'; | |
import {UtilsModule} from './utils/utils.module'; | |
import {VisaoModule} from './visao/visao.module'; | |
import {TranslateLoader, TranslateModule, TranslateService} from '@ngx-translate/core'; | |
import {WiseITTranslateModule} from './translate/translate.module'; | |
import {AllTranslateHttpLoader} from './translate/service/translate.loader'; | |
import {UIRouterUpgradeModule, } from '@uirouter/angular-hybrid'; | |
import {UrlService} from '@uirouter/core'; | |
import {NKDatetimeModule} from 'ng2-datetime/ng2-datetime'; | |
import {HelloComponent} from './example/hello.component'; | |
import {HelloWorld} from './example/hello.app'; | |
import {AchadosPerdidosApp} from './achados.perdidos/achados.perdidos.app'; | |
import {UIRouter, UIRouterModule} from '@uirouter/angular'; | |
import {NgSelectizeModule} from 'ng-selectize'; | |
import {AchadosPerdidosService} from './achados.perdidos/services/achados.perdidos.services'; | |
import {Http, HttpModule, RequestOptions, XHRBackend} from '@angular/http'; | |
import {InfiniteScrollModule} from 'ngx-infinite-scroll'; | |
import {HttpService} from './http-interceptor/interceptor'; | |
import {wiAuthenticationService} from 'wiseit'; | |
import {SegmentacaoVisualizacaoModule} from './segmentacao/visualizacao/segmentacao.visualizacao.module'; | |
import {Ng2Bs3ModalModule} from 'ng2-bs3-modal/ng2-bs3-modal'; | |
import {AchadosPerdidosModule} from './achados.perdidos/achados.perdidos.module'; | |
import {AtendimentoFidelidadeModule} from './atendimento/fidelidade/atendimento.fidelidade.module.app'; | |
import {ClientesModule} from './atendimento/clientes/clientes.module'; | |
import {SacFormulariosModule} from './sac/formularios/sac.formularios.module'; | |
import {EntradaModule} from './entrada/entrada.module'; | |
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; | |
import {downgradeComponent, downgradeInjectable, UpgradeModule} from '@angular/upgrade/static'; | |
import {LojaSacFormularioComponent} from './sac/formularios/loja/lojaForm.component'; | |
import {EntradaService} from './entrada/service/entrada.services'; | |
export function getUiService($injector) { | |
$injector.get('uiService'); | |
} | |
export function getWiAuthenticationService($injector) { | |
$injector.get('wiAuthenticationService'); | |
} | |
export function getWiLocalPersistence($injector) { | |
$injector.get('wiLocalPersistence'); | |
} | |
export function getUiMessageService($injector) { | |
$injector.get('uiMessageService'); | |
} | |
export function getRootScope($injector) { | |
$injector.get('$rootScope'); | |
} | |
export function getUiModalService($injector) { | |
$injector.get('uiModalService'); | |
} | |
export function getUiRolesServices($injector) { | |
$injector.get('uiRolesServices'); | |
} | |
export function getRecordsServices($injector) { | |
$injector.get('recordsServices'); | |
} | |
export function getUiDataServices($injector) { | |
$injector.get('uiDataServices'); | |
} | |
/* | |
* Create our upgradeAdapter | |
*/ | |
// const upgradeAdapter: UpgradeAdapter = new UpgradeAdapter(forwardRef(() => WiseitAppModule)); | |
export let loginService: wiAuthenticationService; | |
/* | |
* Expose our ng1 content to ng2 | |
*/ | |
// uiRouterNgUpgrade.setUpgradeAdapter(upgradeAdapter); | |
const helloState = {name: 'hello', url: '/hello', component: HelloComponent}; | |
export function HttpLoaderFactory(translate: AllTranslateHttpLoader) { | |
return translate; | |
} | |
@NgModule({ | |
declarations: [ | |
HelloComponent | |
], | |
imports: [ | |
UIRouterUpgradeModule, | |
UpgradeModule, | |
CommonModule, | |
BrowserModule, | |
ReactiveFormsModule, | |
FormsModule, | |
HttpModule, | |
PessoaModule, | |
AtendimentoFidelidadeModule, | |
UtilsModule, | |
VisaoModule, | |
SegmentacaoVisualizacaoModule, | |
UIRouterModule.forChild( | |
{states: [helloState]} | |
), | |
WiseITTranslateModule, | |
TranslateModule.forRoot({ | |
loader: { | |
provide: TranslateLoader, | |
useFactory: HttpLoaderFactory, | |
deps: [AllTranslateHttpLoader] | |
} | |
}), | |
NgSelectizeModule, | |
Ng2Bs3ModalModule, | |
InfiniteScrollModule, | |
NKDatetimeModule, | |
AchadosPerdidosModule, | |
ClientesModule, | |
SacFormulariosModule, | |
EntradaModule | |
], | |
providers: [ | |
{provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader}, | |
{provide: APP_BASE_HREF, useValue: '/'}, | |
{provide: 'uiService', deps: ['$injector'], useFactory: getUiService}, | |
{provide: 'wiAuthenticationService', deps: ['$injector'], useFactory: getWiAuthenticationService}, | |
{provide: 'wiLocalPersistence', deps: ['$injector'], useFactory: getWiLocalPersistence}, | |
{provide: 'uiMessageService', deps: ['$injector'], useFactory: getUiMessageService}, | |
{provide: '$rootScope', deps: ['$injector'], useFactory: getRootScope}, | |
{provide: 'uiModalService', deps: ['$injector'], useFactory: getUiModalService}, | |
{provide: 'uiRolesServices', deps: ['$injector'], useFactory: getUiRolesServices}, | |
{provide: 'recordsServices', deps: ['$injector'], useFactory: getRecordsServices}, | |
{provide: 'uiDataServices', deps: ['$injector'], useFactory: getUiDataServices}, | |
{ | |
provide: Http, | |
useFactory: (backend: XHRBackend, options: RequestOptions, router: UIRouter, wiAuthenticationService: wiAuthenticationService) => { | |
return new HttpService(backend, options, router, wiAuthenticationService); | |
}, | |
deps: [XHRBackend, RequestOptions, UIRouter] | |
}, | |
AchadosPerdidosService], | |
schemas: [CUSTOM_ELEMENTS_SCHEMA] | |
}) | |
export class WiseitAppModule { | |
constructor(private translate: TranslateService, | |
@Inject('wiAuthenticationService') private wiAuthenticationService: wiAuthenticationService) { | |
translate.addLangs(['pt-BR']); | |
translate.setDefaultLang('pt-BR'); | |
const browserLang = translate.getBrowserLang(); | |
translate.use(browserLang.match(/pt-BR/) ? browserLang : 'pt-BR'); | |
loginService = this.wiAuthenticationService; | |
} | |
ngDoBootstrap() { /* no body */ | |
} | |
} | |
/* | |
* Bootstrap the App | |
*/ | |
const exampleNg1 = new HelloWorld; | |
const achadosperdidosapp = new AchadosPerdidosApp; | |
angular.module('wiseit').config(['$urlServiceProvider', ($urlService: UrlService) => $urlService.deferIntercept()]); | |
angular.module('wiseit').directive('appSacFormularioLoja', downgradeComponent({ | |
component: LojaSacFormularioComponent, | |
inputs: ['viewReadOnly', 'formulario', 'entradas'] | |
}) as angular.IDirectiveFactory); | |
angular.module('wiseit').factory('appEntradaService', downgradeInjectable(EntradaService)); | |
angular.element(document).ready(function () { | |
// Manually bootstrap the Angular app | |
platformBrowserDynamic().bootstrapModule(WiseitAppModule).then(platformRef => { | |
const injector: Injector = platformRef.injector; | |
const upgrade = injector.get(UpgradeModule) as UpgradeModule; | |
// Manually bootstrap the AngularJS app | |
upgrade.bootstrap(document.documentElement, ['wiseit']); | |
// Intialize the Angular Module (get() any UIRouter service from DI to initialize it) | |
const url: UrlService = injector.get(UrlService); | |
// Instruct UIRouter to listen to URL changes | |
url.listen(); | |
url.sync(); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment