[ACA-4287] Move hooks to shared library (#2052)

* * move hooks

* * import fixed

* fix prod build

* * refactor hook service

* * fixed test

* * docs added

* * revert tsconfig

* * revert tsconfig

* * docs updated

* * fixed setting testing

* * lint fixed

* * remove duplicate actions
This commit is contained in:
Dharan
2021-04-29 13:50:25 +05:30
committed by GitHub
parent 4ebc7447f9
commit 759099bde7
33 changed files with 279 additions and 165 deletions

View File

@@ -26,9 +26,10 @@
import { PaginationDirective } from './pagination.directive';
import { TestBed, ComponentFixture } from '@angular/core/testing';
import { UserPreferencesService, AppConfigService, PaginationComponent, PaginationModel, CoreTestingModule } from '@alfresco/adf-core';
import { LibTestingModule } from '../testing/lib-testing-module';
import { initialState, LibTestingModule } from '../testing/lib-testing-module';
import { SharedDirectivesModule } from './shared.directives.module';
import { TranslateModule } from '@ngx-translate/core';
import { provideMockStore } from '@ngrx/store/testing';
describe('PaginationDirective', () => {
let preferences: UserPreferencesService;
@@ -39,7 +40,8 @@ describe('PaginationDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot(), LibTestingModule, SharedDirectivesModule, CoreTestingModule]
imports: [TranslateModule.forRoot(), LibTestingModule, SharedDirectivesModule, CoreTestingModule],
providers: [provideMockStore({ initialState })]
});
preferences = TestBed.inject(UserPreferencesService);

View File

@@ -0,0 +1,93 @@
/*!
* @license
* Alfresco Example Content Application
*
* Copyright (C) 2005 - 2020 Alfresco Software Limited
*
* This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
*
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import { SiteEntry } from '@alfresco/js-api';
@Injectable({
providedIn: 'root'
})
export class AppHookService {
/**
* Gets emitted when reloads event fired
*/
reload = new Subject<any>();
/**
* Gets emitted when user reset the node
*/
reset = new Subject<any>();
/**
* Gets emitted when user delete the node
*/
nodesDeleted = new Subject<any>();
/**
* Gets emitted when user delete the library
*/
libraryDeleted = new Subject<string>();
/**
* Gets emitted when user create the library
*/
libraryCreated = new Subject<SiteEntry>();
/**
* Gets emitted when user update the library
*/
libraryUpdated = new Subject<SiteEntry>();
/**
* Gets emitted when user join the library
*/
libraryJoined = new Subject<string>();
/**
* Gets emitted when user left the library
*/
libraryLeft = new Subject<string>();
/**
* Gets emitted when library throws 400 error code
*/
library400Error = new Subject<any>();
/**
* Gets emitted when user join the library
*/
joinLibraryToggle = new Subject<string>();
/**
* Gets emitted when user unlink the node
*/
linksUnshared = new Subject<any>();
/**
* Gets emitted when user mark the the favorite library
*/
favoriteLibraryToggle = new Subject<any>();
}

View File

@@ -24,7 +24,7 @@
*/
import { TestBed } from '@angular/core/testing';
import { LibTestingModule } from '../testing/lib-testing-module';
import { initialState, LibTestingModule } from '../testing/lib-testing-module';
import { AppExtensionService } from './app.extension.service';
import { Store, Action } from '@ngrx/store';
import { AppStore } from '@alfresco/aca-shared/store';
@@ -40,6 +40,7 @@ import {
NavBarGroupRef
} from '@alfresco/adf-extensions';
import { AppConfigService } from '@alfresco/adf-core';
import { provideMockStore } from '@ngrx/store/testing';
describe('AppExtensionService', () => {
let service: AppExtensionService;
@@ -49,7 +50,8 @@ describe('AppExtensionService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [LibTestingModule]
imports: [LibTestingModule],
providers: [provideMockStore({ initialState })]
});
appConfigService = TestBed.inject(AppConfigService);

View File

@@ -24,11 +24,12 @@
*/
import { TestBed } from '@angular/core/testing';
import { LibTestingModule } from '../testing/lib-testing-module';
import { initialState, LibTestingModule } from '../testing/lib-testing-module';
import { RouterExtensionService } from './router.extension.service';
import { ExtensionService } from '@alfresco/adf-extensions';
import { Router } from '@angular/router';
import { Type } from '@angular/core';
import { provideMockStore } from '@ngrx/store/testing';
describe('RouterExtensionService', () => {
let extensionService: ExtensionService;
@@ -49,6 +50,7 @@ describe('RouterExtensionService', () => {
TestBed.configureTestingModule({
imports: [LibTestingModule],
providers: [
provideMockStore({ initialState }),
{
provide: ExtensionService,
useValue: {

View File

@@ -38,7 +38,6 @@ import { HttpClientModule } from '@angular/common/http';
import { RouterTestingModule } from '@angular/router/testing';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule } from '@ngrx/store';
import { provideMockStore } from '@ngrx/store/testing';
import { CommonModule } from '@angular/common';
export const initialState = {
@@ -92,7 +91,6 @@ export const initialState = {
PipeModule
],
providers: [
provideMockStore({ initialState }),
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: TranslationService, useClass: TranslationMock }
]

View File

@@ -56,6 +56,7 @@ export * from './lib/services/content-api.service';
export * from './lib/services/node-permission.service';
export * from './lib/services/app.extension.service';
export * from './lib/services/router.extension.service';
export * from './lib/services/app-hook.service';
export * from './lib/utils/node.utils';
export * from './lib/shared.module';