[ADF-3299] and [ADF-3300] upgrade to Angular and Material 6 (#3579)

* upgrade to HttpClient

* upgrade to Renderer2

* upgrade Document reference

* remove useless test with deprecated ReflectiveInjector

* upgrade to latest typescript

* upgrade libs

* upgrade package scripts

* remove rxjs blacklists and duplicate rules

* add rxjs compat to help with migration

* fix breaking changes

* fix breaking changes in material

* fix breaking changes (material 6)

* upgrade rxjs, ngx-translate and flex layout

* update unit tests

* restore providers

* upgrade deprecated Observable.error

* rebase
fix first configuration problems

* fix style issues commented

* fix core build

* fix lib template errors

* move lib test execution in angular.json

* ignore

* karma conf files

* fix import statement test

* single run option

* update packages reporter

* restore report

* increase timeout

* improve karma conf test configuration

* fix test issues about lint

* fix test analytics

* fix process service test

* content service fix test

* fix logout directive test

* fix core test

* fix build

* update node-sass to latest

* update angular cli dependencies

* improve build script

create directorites and move files only if previous command succeded

* upgrade individual libs to 6.0

* remove old webpack files

* revert sass change

* fix type issues
fix style issues

* fix tslint demo shell issue

* fix peerdependencies

* fix test e2e BC

* package upate

* fix style import issue

* extract-text-webpack-plugin beta

* fix test dist build command

* remove alpha js-api

* fix tslint issue
add banner tslint rule

* upload service fix

* change BC script

* fix test dist script

* increase demo shell timeout test

* verbose copy

* path absolute

* fix script bc

* fix copy part

* fix path warning
fix monaco editor

* remove duplicate header

* remove unused import

* fix align and check ago tests

* add missing import

* fix notification button selector

* [ANGULAR6] fixed core tests

* fix CS test

* fix cs test step 2

* increase travis_wait for dist

* fix attachment PS

* fix checklist test

* use pdf min
This commit is contained in:
Denys Vuika
2018-08-07 11:58:16 +01:00
committed by Eugenio Romano
parent c510ec864d
commit 6b24bfb1d4
371 changed files with 16287 additions and 24504 deletions

View File

@@ -24,8 +24,7 @@ import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { ContentMetadataComponent } from './content-metadata.component';
import { ContentMetadataService } from '../../services/content-metadata.service';
import { CardViewBaseItemModel, CardViewComponent, CardViewUpdateService, NodesApiService, LogService, setupTestBed } from '@alfresco/adf-core';
import { ErrorObservable } from 'rxjs/observable/ErrorObservable';
import { Observable } from 'rxjs/Observable';
import { throwError, of } from 'rxjs';
import { ContentTestingModule } from '../../../testing/content.testing.module';
describe('ContentMetadataComponent', () => {
@@ -104,7 +103,7 @@ describe('ContentMetadataComponent', () => {
const property = <CardViewBaseItemModel> { key: 'property-key', value: 'original-value' },
updateService: CardViewUpdateService = fixture.debugElement.injector.get(CardViewUpdateService),
nodesApiService: NodesApiService = TestBed.get(NodesApiService);
spyOn(nodesApiService, 'updateNode');
spyOn(nodesApiService, 'updateNode').and.callThrough();
updateService.update(property, 'updated-value');
@@ -120,7 +119,7 @@ describe('ContentMetadataComponent', () => {
expectedNode = Object.assign({}, node, { name: 'some-modified-value' });
spyOn(nodesApiService, 'updateNode').and.callFake(() => {
return Observable.of(expectedNode);
return of(expectedNode);
});
updateService.update(property, 'updated-value');
@@ -137,7 +136,7 @@ describe('ContentMetadataComponent', () => {
logService: LogService = TestBed.get(LogService);
spyOn(nodesApiService, 'updateNode').and.callFake(() => {
return ErrorObservable.create(new Error('My bad'));
return throwError(new Error('My bad'));
});
updateService.update(property, 'updated-value');
@@ -168,7 +167,7 @@ describe('ContentMetadataComponent', () => {
component.expanded = false;
fixture.detectChanges();
spyOn(contentMetadataService, 'getBasicProperties').and.callFake(() => {
return Observable.of(expectedProperties);
return of(expectedProperties);
});
component.ngOnChanges({ node: new SimpleChange(node, expectedNode, false) });
@@ -183,7 +182,7 @@ describe('ContentMetadataComponent', () => {
it('should pass through the displayEmpty to the card view of basic properties', async(() => {
component.displayEmpty = false;
fixture.detectChanges();
spyOn(contentMetadataService, 'getBasicProperties').and.returnValue(Observable.of([]));
spyOn(contentMetadataService, 'getBasicProperties').and.returnValue(of([]));
component.ngOnChanges({ node: new SimpleChange(node, expectedNode, false) });
@@ -207,7 +206,7 @@ describe('ContentMetadataComponent', () => {
component.expanded = true;
fixture.detectChanges();
spyOn(contentMetadataService, 'getGroupedProperties').and.callFake(() => {
return Observable.of([{ properties: expectedProperties }]);
return of([{ properties: expectedProperties }]);
});
component.ngOnChanges({ node: new SimpleChange(node, expectedNode, false) });
@@ -223,7 +222,7 @@ describe('ContentMetadataComponent', () => {
component.expanded = true;
component.displayEmpty = false;
fixture.detectChanges();
spyOn(contentMetadataService, 'getGroupedProperties').and.returnValue(Observable.of([{ properties: [] }]));
spyOn(contentMetadataService, 'getGroupedProperties').and.returnValue(of([{ properties: [] }]));
component.ngOnChanges({ node: new SimpleChange(node, expectedNode, false) });

View File

@@ -17,11 +17,11 @@
import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { Observable } from 'rxjs/Observable';
import { Observable, Subscription } from 'rxjs';
import { CardViewItem, NodesApiService, LogService, CardViewUpdateService, AlfrescoApiService } from '@alfresco/adf-core';
import { ContentMetadataService } from '../../services/content-metadata.service';
import { CardViewGroup } from '../../interfaces/content-metadata.interfaces';
import { Subscription } from 'rxjs/Rx';
import { switchMap } from 'rxjs/operators';
@Component({
selector: 'adf-content-metadata',
@@ -71,7 +71,9 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
ngOnInit() {
this.disposableNodeUpdate = this.cardViewUpdateService.itemUpdated$
.switchMap(this.saveNode.bind(this))
.pipe(
switchMap(this.saveNode.bind(this))
)
.subscribe(
updatedNode => {
Object.assign(this.node, updatedNode);

View File

@@ -18,12 +18,13 @@
import { Injectable } from '@angular/core';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { BasicPropertiesService } from './basic-properties.service';
import { Observable } from 'rxjs/Observable';
import { Observable, of } from 'rxjs';
import { PropertyGroupTranslatorService } from './property-groups-translator.service';
import { CardViewItem } from '@alfresco/adf-core';
import { CardViewGroup } from '../interfaces/content-metadata.interfaces';
import { ContentMetadataConfigFactory } from './config/content-metadata-config.factory';
import { PropertyDescriptorsService } from './property-descriptors.service';
import { map } from 'rxjs/operators';
@Injectable()
export class ContentMetadataService {
@@ -35,11 +36,11 @@ export class ContentMetadataService {
}
getBasicProperties(node: MinimalNodeEntryEntity): Observable<CardViewItem[]> {
return Observable.of(this.basicPropertiesService.getProperties(node));
return of(this.basicPropertiesService.getProperties(node));
}
getGroupedProperties(node: MinimalNodeEntryEntity, presetName: string = 'default'): Observable<CardViewGroup[]> {
let groupedProperties = Observable.of([]);
let groupedProperties = of([]);
if (node.aspectNames) {
const config = this.contentMetadataConfigFactory.get(presetName),
@@ -48,9 +49,10 @@ export class ContentMetadataService {
.filter(groupName => config.isGroupAllowed(groupName));
if (groupNames.length > 0) {
groupedProperties = this.propertyDescriptorsService.load(groupNames)
.map(groups => config.reorganiseByConfig(groups))
.map(groups => this.propertyGroupTranslatorService.translateToCardViewGroups(groups, node.properties));
groupedProperties = this.propertyDescriptorsService.load(groupNames).pipe(
map(groups => config.reorganiseByConfig(groups)),
map(groups => this.propertyGroupTranslatorService.translateToCardViewGroups(groups, node.properties))
);
}
}

View File

@@ -18,7 +18,7 @@
import { TestBed } from '@angular/core/testing';
import { PropertyDescriptorsService } from './property-descriptors.service';
import { AlfrescoApiService, setupTestBed } from '@alfresco/adf-core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
import { ClassesApi } from 'alfresco-js-api';
import { PropertyGroup } from '../interfaces/content-metadata.interfaces';
import { ContentTestingModule } from '../../testing/content.testing.module';
@@ -73,7 +73,7 @@ describe('PropertyDescriptorLoaderService', () => {
let counter = 0;
spyOn(classesApi, 'getClass').and.callFake(() => {
return Observable.of(apiResponses[counter++]);
return of(apiResponses[counter++]);
});
service.load(['exif:exif', 'cm:content'])

View File

@@ -17,10 +17,9 @@
import { Injectable } from '@angular/core';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { forkJoin } from 'rxjs/observable/forkJoin';
import { Observable } from 'rxjs/Observable';
import { defer } from 'rxjs/observable/defer';
import { Observable, defer, forkJoin } from 'rxjs';
import { PropertyGroup, PropertyGroupContainer } from '../interfaces/content-metadata.interfaces';
import { map } from 'rxjs/operators';
@Injectable()
export class PropertyDescriptorsService {
@@ -32,8 +31,9 @@ export class PropertyDescriptorsService {
.map(groupName => groupName.replace(':', '_'))
.map(groupName => defer( () => this.alfrescoApiService.classesApi.getClass(groupName)) );
return forkJoin(groupFetchStreams)
.map(this.convertToObject);
return forkJoin(groupFetchStreams).pipe(
map(this.convertToObject)
);
}
private convertToObject(propertyGroupsArray: PropertyGroup[]): PropertyGroupContainer {