tree-shakable services (#661)

* improved services

* context menu service

* update to latest adf-extensions
This commit is contained in:
Denys Vuika
2018-09-23 17:06:52 +01:00
committed by GitHub
parent dedd9b72e9
commit ac0a29e14a
20 changed files with 43 additions and 72 deletions

6
package-lock.json generated
View File

@@ -21,9 +21,9 @@
}
},
"@alfresco/adf-extensions": {
"version": "2.6.0-84da24c02ff43ca583fea52ad521c89467c05618",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-2.6.0-84da24c02ff43ca583fea52ad521c89467c05618.tgz",
"integrity": "sha512-ySSmh9YWT+d95unBueZrID3DTzkMm9GXGtG4B81X2hossJbT/ix8s8etQQiFGh4Nor0VJW2TfAdApGkmPyvQhg==",
"version": "2.6.0-018b08cce71a46bebdadb9d1ba3c17617de68005",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-2.6.0-018b08cce71a46bebdadb9d1ba3c17617de68005.tgz",
"integrity": "sha512-aWT2BaDmBgeWAxK0o6OWpBdcuRszIicor5sdzd0Pr8OBLLDKE0mhdVAZQGF9llxuJc5e9RoOhLA+zmchcGHEdw==",
"requires": {
"tslib": "^1.9.0"
}

View File

@@ -29,7 +29,7 @@
"dependencies": {
"@alfresco/adf-content-services": "2.6.0-8fee6e217aae1f2de5ff4634c5cd1e699336fd20",
"@alfresco/adf-core": "2.6.0-8fee6e217aae1f2de5ff4634c5cd1e699336fd20",
"@alfresco/adf-extensions": "2.6.0-84da24c02ff43ca583fea52ad521c89467c05618",
"@alfresco/adf-extensions": "2.6.0-018b08cce71a46bebdadb9d1ba3c17617de68005",
"@angular/animations": "6.1.7",
"@angular/cdk": "^6.4.7",
"@angular/common": "6.1.7",

View File

@@ -43,15 +43,9 @@ import { FilesComponent } from './components/files/files.component';
import { LibrariesComponent } from './components/libraries/libraries.component';
import { NodeVersionsDialogComponent } from './dialogs/node-versions/node-versions.dialog';
import { LibraryDialogComponent } from './dialogs/library/library.dialog';
import { ContentManagementService } from './services/content-management.service';
import { NodeActionsService } from './services/node-actions.service';
import { NodePermissionService } from './services/node-permission.service';
import { ProfileResolver } from './services/profile.resolver';
import { ExperimentalGuard } from './services/experimental-guard.service';
import { AppStoreModule } from './store/app-store.module';
import { MaterialModule } from './material.module';
import { ContentApiService } from './services/content-api.service';
import { AppExtensionsModule } from './extensions.module';
import { CoreExtensionsModule } from './extensions/core.extensions.module';
import { AppRouteReuseStrategy } from './app.routes.strategy';
@@ -69,7 +63,6 @@ import { AppCurrentUserModule } from './components/current-user/current-user.mod
import { AppSearchInputModule } from './components/search/search-input.module';
import { AppSearchResultsModule } from './components/search/search-results.module';
import { AppLoginModule } from './components/login/login.module';
import { AppAuthGuard } from './guards/auth.guard';
@NgModule({
imports: [
@@ -86,14 +79,14 @@ import { AppAuthGuard } from './guards/auth.guard';
ContentModule.forRoot(),
AppStoreModule,
CoreExtensionsModule.forRoot(),
ExtensionsModule.forRoot(),
ExtensionsModule,
AppExtensionsModule,
AppLoginModule,
AppCommonModule,
AppLayoutModule,
AppCurrentUserModule,
DirectivesModule,
ContextMenuModule.forRoot(),
ContextMenuModule,
AppInfoDrawerModule,
AppToolbarModule,
AppSidenavModule,
@@ -119,14 +112,7 @@ import { AppAuthGuard } from './guards/auth.guard';
name: 'app',
source: 'assets'
}
},
AppAuthGuard,
ContentManagementService,
NodeActionsService,
NodePermissionService,
ProfileResolver,
ExperimentalGuard,
ContentApiService
}
],
entryComponents: [LibraryDialogComponent, NodeVersionsDialogComponent],
bootstrap: [AppComponent]

View File

@@ -23,7 +23,7 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { NgModule, ModuleWithProviders } from '@angular/core';
import { NgModule } from '@angular/core';
import {
MatMenuModule,
MatListModule,
@@ -34,7 +34,6 @@ import { CoreModule } from '@alfresco/adf-core';
import { CoreExtensionsModule } from '../../extensions/core.extensions.module';
import { ContextActionsDirective } from './context-menu.directive';
import { ContextMenuService } from './context-menu.service';
import { ContextMenuComponent } from './context-menu.component';
import { ContextMenuItemDirective } from './context-menu-item.directive';
import { ExtensionsModule } from '@alfresco/adf-extensions';
@@ -48,7 +47,7 @@ import { OutsideEventDirective } from './context-menu-outside-event.directive';
MatButtonModule,
CoreExtensionsModule.forChild(),
CoreModule.forChild(),
ExtensionsModule.forChild()
ExtensionsModule
],
declarations: [
ContextActionsDirective,
@@ -63,17 +62,4 @@ import { OutsideEventDirective } from './context-menu-outside-event.directive';
],
entryComponents: [ContextMenuComponent]
})
export class ContextMenuModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: ContextMenuModule,
providers: [ContextMenuService]
};
}
static forChild(): ModuleWithProviders {
return {
ngModule: ContextMenuModule
};
}
}
export class ContextMenuModule {}

View File

@@ -5,7 +5,9 @@ import { ContextMenuOverlayRef } from './context-menu-overlay';
import { ContextMenuComponent } from './context-menu.component';
import { ContextmenuOverlayConfig } from './interfaces';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class ContextMenuService {
constructor(private injector: Injector, private overlay: Overlay) {}

View File

@@ -55,7 +55,7 @@ const routes: Routes = [
DirectivesModule,
AppCommonModule,
AppToolbarModule,
ContextMenuModule.forChild(),
ContextMenuModule,
AppInfoDrawerModule
],
declarations: [FavoritesComponent],

View File

@@ -52,7 +52,7 @@ export function components() {
CommonModule,
MaterialModule,
CoreModule.forChild(),
ExtensionsModule.forChild(),
ExtensionsModule,
ContentMetadataModule,
VersionManagerModule,
DirectivesModule

View File

@@ -54,7 +54,7 @@ const routes: Routes = [
DirectivesModule,
AppCommonModule,
AppToolbarModule,
ContextMenuModule.forChild(),
ContextMenuModule,
AppInfoDrawerModule
],
declarations: [RecentFilesComponent],

View File

@@ -55,7 +55,7 @@ const routes: Routes = [
DirectivesModule,
AppCommonModule,
AppToolbarModule,
ContextMenuModule.forChild(),
ContextMenuModule,
AppInfoDrawerModule
],
declarations: [SharedFilesComponent],

View File

@@ -48,7 +48,7 @@ export function components() {
}
@NgModule({
imports: [CommonModule, CoreModule.forChild(), ExtensionsModule.forChild()],
imports: [CommonModule, CoreModule.forChild(), ExtensionsModule],
declarations: components(),
exports: components(),
entryComponents: components()

View File

@@ -54,7 +54,7 @@ const routes: Routes = [
DirectivesModule,
AppCommonModule,
AppToolbarModule,
ContextMenuModule.forChild()
ContextMenuModule
],
declarations: [TrashcanComponent],
exports: [TrashcanComponent]

View File

@@ -43,14 +43,14 @@ export function setupExtensions(service: AppExtensionService): Function {
}
@NgModule({
imports: [CommonModule, CoreModule.forChild(), ExtensionsModule.forChild()]
imports: [CommonModule, CoreModule.forChild(), ExtensionsModule]
})
export class CoreExtensionsModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: CoreExtensionsModule,
providers: [
AppExtensionService,
// AppExtensionService,
{
provide: APP_INITIALIZER,
useFactory: setupExtensions,

View File

@@ -49,7 +49,9 @@ import {
ProfileState
} from '@alfresco/adf-extensions';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class AppExtensionService implements RuleContext {
defaults = {
layout: 'app.layout.main',

View File

@@ -31,7 +31,9 @@ import {
AuthGuardEcm
} from '@alfresco/adf-core';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class AppAuthGuard extends AuthGuardEcm {
constructor(
private _auth: AuthenticationService,

View File

@@ -43,7 +43,9 @@ import {
FavoriteBody
} from 'alfresco-js-api';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class ContentApiService {
constructor(
private api: AlfrescoApiService,

View File

@@ -68,7 +68,9 @@ interface RestoredNode {
statusCode?: number;
}
@Injectable()
@Injectable({
providedIn: 'root'
})
export class ContentManagementService {
nodesMoved = new Subject<any>();
nodesDeleted = new Subject<any>();

View File

@@ -46,7 +46,9 @@ import {
import { ContentApiService } from '../services/content-api.service';
import { catchError, map, mergeMap } from 'rxjs/operators';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class NodeActionsService {
static SNACK_MESSAGE_DURATION_WITH_UNDO = 10000;
static SNACK_MESSAGE_DURATION = 3000;

View File

@@ -26,7 +26,9 @@
import { Injectable } from '@angular/core';
import { NodePermissions } from '@alfresco/adf-extensions';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class NodePermissionService implements NodePermissions {
static DEFAULT_OPERATION = 'OR';

View File

@@ -32,7 +32,9 @@ import { AppStore } from '../store/states/app.state';
import { SetUserProfileAction } from '../store/actions';
import { ContentApiService } from './content-api.service';
@Injectable()
@Injectable({
providedIn: 'root'
})
export class ProfileResolver implements Resolve<Person> {
constructor(
private store: Store<AppStore>,

View File

@@ -55,15 +55,6 @@ import {
DocumentListService
} from '@alfresco/adf-content-services';
import { MaterialModule } from '../material.module';
import { ContentManagementService } from '../services/content-management.service';
import { NodeActionsService } from '../services/node-actions.service';
import { NodePermissionService } from '../services/node-permission.service';
import { ContentApiService } from '../services/content-api.service';
import { AppExtensionService } from '../extensions/extension.service';
import {
ExtensionLoaderService,
ExtensionService
} from '@alfresco/adf-extensions';
@NgModule({
imports: [
@@ -103,15 +94,7 @@ import {
ThumbnailService,
UploadService,
CustomResourcesService,
DocumentListService,
ContentManagementService,
NodeActionsService,
NodePermissionService,
ContentApiService,
AppExtensionService,
ExtensionService,
ExtensionLoaderService
DocumentListService
]
})
export class AppTestingModule {}