1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/frontend/app/app.module.ts

157 lines
6.4 KiB
TypeScript
Raw Normal View History

import {Injectable, NgModule} from "@angular/core";
2017-07-18 00:30:16 +08:00
import {BrowserModule, HAMMER_GESTURE_CONFIG, HammerGestureConfig} from "@angular/platform-browser";
2016-12-27 06:36:38 +08:00
import {FormsModule} from "@angular/forms";
import {HttpModule} from "@angular/http";
2017-05-27 16:15:57 +08:00
import {AgmCoreModule} from "@agm/core";
2016-12-27 06:36:38 +08:00
import {AppComponent} from "./app.component";
import {appRoutes} from "./app.routing";
import {UserService} from "./model/network/user.service";
import {GalleryService} from "./gallery/gallery.service";
import {NetworkService} from "./model/network/network.service";
import {ThumbnailLoaderService} from "./gallery/thumnailLoader.service";
2016-12-27 06:36:38 +08:00
import {GalleryCacheService} from "./gallery/cache.gallery.service";
import {FullScreenService} from "./gallery/fullscreen.service";
import {AuthenticationService} from "./model/network/authentication.service";
import {UserMangerSettingsComponent} from "./settings/usermanager/usermanager.settings.component";
import {FrameComponent} from "./frame/frame.component";
import {GalleryLightboxPhotoComponent} from "./gallery/lightbox/photo/photo.lightbox.gallery.component";
import {GalleryPhotoLoadingComponent} from "./gallery/grid/photo/loading/loading.photo.grid.gallery.component";
import {GalleryNavigatorComponent} from "./gallery/navigator/navigator.gallery.component";
import {GallerySearchComponent} from "./gallery/search/search.gallery.component";
import {GalleryLightboxComponent} from "./gallery/lightbox/lightbox.gallery.component";
import {GalleryDirectoryComponent} from "./gallery/directory/directory.gallery.component";
import {GalleryGridComponent} from "./gallery/grid/grid.gallery.component";
import {GalleryPhotoComponent} from "./gallery/grid/photo/photo.grid.gallery.component";
import {LoginComponent} from "./login/login.component";
import {AdminComponent} from "./admin/admin.component";
import {GalleryComponent} from "./gallery/gallery.component";
import {StringifyRole} from "./pipes/StringifyRolePipe";
import {GalleryMapComponent} from "./gallery/map/map.gallery.component";
2017-02-06 00:27:58 +08:00
import {GalleryMapLightboxComponent} from "./gallery/map/lightbox/lightbox.map.gallery.component";
import {ThumbnailManagerService} from "./gallery/thumnailManager.service";
import {OverlayService} from "./gallery/overlay.service";
2017-06-04 21:25:08 +08:00
import {Config} from "../../common/config/public/Config";
import {LAZY_MAPS_API_CONFIG} from "@agm/core/services";
2017-06-22 03:16:04 +08:00
import {SlimLoadingBarModule} from "ng2-slim-loading-bar";
2017-07-04 01:17:49 +08:00
import {GalleryShareComponent} from "./gallery/share/share.gallery.component";
import {ShareLoginComponent} from "./sharelogin/share-login.component";
import {ShareService} from "./gallery/share.service";
2017-07-08 18:43:42 +08:00
import {ModalModule} from "ngx-bootstrap/modal";
import {DatabaseSettingsComponent} from "./settings/database/database.settings.component";
import {ToastModule} from "ng2-toastr/ng2-toastr";
import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
import {NotificationService} from "./model/notification.service";
2017-07-14 05:39:09 +08:00
import {JWBootstrapSwitchModule} from "jw-bootstrap-switch-ng2";
2017-07-09 18:03:17 +08:00
import {ClipboardModule} from "ngx-clipboard";
import {NavigationService} from "./model/navigation.service";
import {InfoPanelLightboxComponent} from "./gallery/lightbox/infopanel/info-panel.lightbox.gallery.component";
2017-07-14 05:39:09 +08:00
import {MapSettingsComponent} from "./settings/map/map.settings.component";
2017-07-15 18:47:11 +08:00
import {TooltipModule} from "ngx-bootstrap/tooltip";
import {ThumbnailSettingsComponent} from "./settings/thumbnail/thumbanil.settings.component";
2017-07-15 20:27:12 +08:00
import {SearchSettingsComponent} from "./settings/search/search.settings.component";
import {SettingsService} from "./settings/settings.service";
2017-07-15 21:29:04 +08:00
import {ShareSettingsComponent} from "./settings/share/share.settings.component";
2017-07-15 22:09:48 +08:00
import {BasicSettingsComponent} from "./settings/basic/basic.settings.component";
2017-07-15 22:31:43 +08:00
import {OtherSettingsComponent} from "./settings/other/other.settings.component";
2017-07-19 00:26:24 +08:00
import {DefaultUrlSerializer, UrlSerializer, UrlTree} from '@angular/router';
2017-07-26 03:09:37 +08:00
import {IndexingSettingsComponent} from "./settings/indexing/indexing.settings.component";
2017-07-18 00:30:16 +08:00
@Injectable()
export class GoogleMapsConfig {
apiKey: string;
constructor() {
2017-07-14 05:39:09 +08:00
this.apiKey = Config.Client.Map.googleApiKey;
}
}
2016-12-27 06:36:38 +08:00
2017-07-18 00:30:16 +08:00
export class MyHammerConfig extends HammerGestureConfig {
overrides = <any>{
'swipe': {direction: 31} // enable swipe up
}
}
export class CustomUrlSerializer implements UrlSerializer {
2017-07-19 00:26:24 +08:00
private _defaultUrlSerializer: DefaultUrlSerializer = new DefaultUrlSerializer();
parse(url: string): UrlTree {
// Encode parentheses
url = url.replace(/\(/g, '%28').replace(/\)/g, '%29');
// Use the default serializer.
return this._defaultUrlSerializer.parse(url)
}
serialize(tree: UrlTree): string {
return this._defaultUrlSerializer.serialize(tree).replace(/%28/g, '(').replace(/%29/g, ')');
}
}
2016-12-27 06:36:38 +08:00
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
2017-07-08 18:43:42 +08:00
BrowserAnimationsModule,
appRoutes,
2017-07-09 18:03:17 +08:00
ClipboardModule,
2017-07-14 05:39:09 +08:00
JWBootstrapSwitchModule,
2017-07-15 18:47:11 +08:00
TooltipModule.forRoot(),
2017-07-08 18:43:42 +08:00
ToastModule.forRoot(),
ModalModule.forRoot(),
2017-06-22 03:16:04 +08:00
AgmCoreModule.forRoot(),
SlimLoadingBarModule.forRoot()
],
declarations: [AppComponent,
LoginComponent,
2017-07-04 01:17:49 +08:00
ShareLoginComponent,
GalleryComponent,
FrameComponent,
2017-07-08 18:43:42 +08:00
//Gallery
GalleryLightboxPhotoComponent,
GalleryPhotoLoadingComponent,
GalleryGridComponent,
GalleryDirectoryComponent,
GalleryLightboxComponent,
GalleryMapComponent,
GalleryMapLightboxComponent,
FrameComponent,
GallerySearchComponent,
2017-07-04 01:17:49 +08:00
GalleryShareComponent,
GalleryNavigatorComponent,
GalleryPhotoComponent,
2017-07-08 18:43:42 +08:00
AdminComponent,
InfoPanelLightboxComponent,
2017-07-08 18:43:42 +08:00
//Settings
UserMangerSettingsComponent,
DatabaseSettingsComponent,
2017-07-14 05:39:09 +08:00
MapSettingsComponent,
2017-07-15 18:47:11 +08:00
ThumbnailSettingsComponent,
2017-07-15 20:27:12 +08:00
SearchSettingsComponent,
2017-07-15 21:29:04 +08:00
ShareSettingsComponent,
2017-07-15 22:09:48 +08:00
BasicSettingsComponent,
2017-07-15 22:31:43 +08:00
OtherSettingsComponent,
2017-07-26 03:09:37 +08:00
IndexingSettingsComponent,
StringifyRole],
providers: [
2017-07-19 00:26:24 +08:00
{provide: UrlSerializer, useClass: CustomUrlSerializer},
{provide: LAZY_MAPS_API_CONFIG, useClass: GoogleMapsConfig},
2017-07-18 00:30:16 +08:00
{provide: HAMMER_GESTURE_CONFIG, useClass: MyHammerConfig},
NetworkService,
2017-07-04 01:17:49 +08:00
ShareService,
UserService,
GalleryCacheService,
GalleryService,
AuthenticationService,
ThumbnailLoaderService,
ThumbnailManagerService,
2017-07-08 18:43:42 +08:00
NotificationService,
FullScreenService,
2017-07-09 18:03:17 +08:00
NavigationService,
2017-07-15 20:27:12 +08:00
SettingsService,
OverlayService],
2016-12-27 06:36:38 +08:00
bootstrap: [AppComponent]
2016-12-27 06:36:38 +08:00
})
export class AppModule {
}