minor code reorg for Viewer and Extensions (#554)

* self-registering extension module

* move printing service to the preview chunk
This commit is contained in:
Denys Vuika 2018-08-07 15:25:06 +01:00 committed by Cilibiu Bogdan
parent 9035a416ee
commit 4668112871
6 changed files with 49 additions and 59 deletions

View File

@ -24,7 +24,7 @@
*/
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, APP_INITIALIZER } from '@angular/core';
import { NgModule } from '@angular/core';
import { RouterModule, RouteReuseStrategy } from '@angular/router';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@ -69,8 +69,6 @@ import { SearchResultsRowComponent } from './components/search/search-results-ro
import { NodePermissionsDialogComponent } from './dialogs/node-permissions/node-permissions.dialog';
import { PermissionsManagerComponent } from './components/permission-manager/permissions-manager.component';
import { AppRouteReuseStrategy } from './app.routes.strategy';
import { ViewUtilService} from './services/view-util.service';
import { ExtensionService } from './extensions/extension.service';
import { AppInfoDrawerModule } from './components/info-drawer/info.drawer.module';
import { DirectivesModule } from './directives/directives.module';
import { ToggleInfoDrawerComponent } from './components/toolbar/toggle-info-drawer/toggle-info-drawer.component';
@ -78,9 +76,6 @@ import { DocumentDisplayModeComponent } from './components/toolbar/document-disp
import { ToggleFavoriteComponent } from './components/toolbar/toggle-favorite/toggle-favorite.component';
import { ContextMenuModule } from './components/context-menu/context-menu.module';
export function setupExtensionServiceFactory(service: ExtensionService): Function {
return () => service.load();
}
@NgModule({
imports: [
BrowserModule,
@ -147,14 +142,7 @@ export function setupExtensionServiceFactory(service: ExtensionService): Functio
NodePermissionService,
ProfileResolver,
ExperimentalGuard,
ContentApiService,
{
provide: APP_INITIALIZER,
useFactory: setupExtensionServiceFactory,
deps: [ExtensionService],
multi: true
},
ViewUtilService
ContentApiService
],
entryComponents: [
LibraryDialogComponent,

View File

@ -33,8 +33,9 @@ import { PageComponent } from '../page.component';
import { ContentApiService } from '../../services/content-api.service';
import { ExtensionService } from '../../extensions/extension.service';
import { ContentManagementService } from '../../services/content-management.service';
import { ViewUtilService } from '../../services/view-util.service';
import { ContentActionRef } from '../../extensions/action.extensions';
import { ViewUtilService } from './view-util.service';
@Component({
selector: 'app-preview',
templateUrl: 'preview.component.html',

View File

@ -27,11 +27,12 @@ import { CoreModule } from '@alfresco/adf-core';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ContentDirectiveModule } from '@alfresco/adf-content-services';
import { CoreExtensionsModule } from '../../extensions/core.extensions.module';
import { DirectivesModule } from '../../directives/directives.module';
import { AppInfoDrawerModule } from '../info-drawer/info.drawer.module';
import { PreviewComponent } from './preview.component';
import { ContentDirectiveModule } from '@alfresco/adf-content-services';
import { ViewUtilService } from './view-util.service';
import * as pdfjsLib from 'pdfjs-dist';
pdfjsLib.PDFJS.workerSrc = 'pdf.worker.js';
@ -57,6 +58,9 @@ const routes: Routes = [
declarations: [
PreviewComponent,
],
providers: [
ViewUtilService
],
exports: [
PreviewComponent
]

View File

@ -1,7 +1,7 @@
import {Injectable} from '@angular/core';
import {AlfrescoApiService, LogService} from '@alfresco/adf-core';
import {RenditionEntry} from 'alfresco-js-api';
import {ContentApiService} from './content-api.service';
import {ContentApiService} from './../../services/content-api.service';
@Injectable()
export class ViewUtilService {

View File

@ -38,51 +38,48 @@ import { ToggleFavoriteComponent } from '../components/toolbar/toggle-favorite/t
import { ToolbarButtonComponent } from './components/toolbar/toolbar-button.component';
export function setupExtensions(extensions: ExtensionService): Function {
return () =>
new Promise(resolve => {
extensions.setComponents({
'app.layout.main': LayoutComponent,
'app.components.trashcan': TrashcanComponent,
'app.toolbar.toggleInfoDrawer': ToggleInfoDrawerComponent,
'app.toolbar.toggleFavorite': ToggleFavoriteComponent
});
extensions.setComponents({
'app.layout.main': LayoutComponent,
'app.components.trashcan': TrashcanComponent,
'app.toolbar.toggleInfoDrawer': ToggleInfoDrawerComponent,
'app.toolbar.toggleFavorite': ToggleFavoriteComponent
});
extensions.setAuthGuards({
'app.auth': AuthGuardEcm
});
extensions.setAuthGuards({
'app.auth': AuthGuardEcm
});
extensions.setEvaluators({
'app.selection.canDelete': app.canDeleteSelection,
'app.selection.canDownload': app.canDownloadSelection,
'app.selection.notEmpty': app.hasSelection,
'app.selection.canUnshare': app.canUnshareNodes,
'app.selection.canAddFavorite': app.canAddFavorite,
'app.selection.canRemoveFavorite': app.canRemoveFavorite,
'app.selection.first.canUpdate': app.canUpdateSelectedNode,
'app.selection.file': app.hasFileSelected,
'app.selection.file.canShare': app.canShareFile,
'app.selection.library': app.hasLibrarySelected,
'app.selection.folder': app.hasFolderSelected,
'app.selection.folder.canUpdate': app.canUpdateSelectedFolder,
extensions.setEvaluators({
'app.selection.canDelete': app.canDeleteSelection,
'app.selection.canDownload': app.canDownloadSelection,
'app.selection.notEmpty': app.hasSelection,
'app.selection.canUnshare': app.canUnshareNodes,
'app.selection.canAddFavorite': app.canAddFavorite,
'app.selection.canRemoveFavorite': app.canRemoveFavorite,
'app.selection.first.canUpdate': app.canUpdateSelectedNode,
'app.selection.file': app.hasFileSelected,
'app.selection.file.canShare': app.canShareFile,
'app.selection.library': app.hasLibrarySelected,
'app.selection.folder': app.hasFolderSelected,
'app.selection.folder.canUpdate': app.canUpdateSelectedFolder,
'app.navigation.folder.canCreate': app.canCreateFolder,
'app.navigation.folder.canUpload': app.canUpload,
'app.navigation.isTrashcan': nav.isTrashcan,
'app.navigation.isNotTrashcan': nav.isNotTrashcan,
'app.navigation.isLibraries': nav.isLibraries,
'app.navigation.isNotLibraries': nav.isNotLibraries,
'app.navigation.isSharedFiles': nav.isSharedFiles,
'app.navigation.isNotSharedFiles': nav.isNotSharedFiles,
'app.navigation.isFavorites': nav.isFavorites,
'app.navigation.isNotFavorites': nav.isNotFavorites,
'app.navigation.isRecentFiles': nav.isRecentFiles,
'app.navigation.isNotRecentFiles': nav.isNotRecentFiles,
'app.navigation.isSearchResults': nav.isSearchResults,
'app.navigation.isNotSearchResults': nav.isNotSearchResults
});
'app.navigation.folder.canCreate': app.canCreateFolder,
'app.navigation.folder.canUpload': app.canUpload,
'app.navigation.isTrashcan': nav.isTrashcan,
'app.navigation.isNotTrashcan': nav.isNotTrashcan,
'app.navigation.isLibraries': nav.isLibraries,
'app.navigation.isNotLibraries': nav.isNotLibraries,
'app.navigation.isSharedFiles': nav.isSharedFiles,
'app.navigation.isNotSharedFiles': nav.isNotSharedFiles,
'app.navigation.isFavorites': nav.isFavorites,
'app.navigation.isNotFavorites': nav.isNotFavorites,
'app.navigation.isRecentFiles': nav.isRecentFiles,
'app.navigation.isNotRecentFiles': nav.isNotRecentFiles,
'app.navigation.isSearchResults': nav.isSearchResults,
'app.navigation.isNotSearchResults': nav.isNotSearchResults
});
resolve(true);
});
return () => extensions.load();
}
@NgModule({

View File

@ -60,7 +60,7 @@ import { NodeActionsService } from '../services/node-actions.service';
import { NodePermissionService } from '../services/node-permission.service';
import { ContentApiService } from '../services/content-api.service';
import { ExtensionService } from '../extensions/extension.service';
import {ViewUtilService} from '../services/view-util.service';
import { ViewUtilService } from '../components/preview/view-util.service';
@NgModule({
imports: [