[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

@@ -30,10 +30,8 @@ import {
} from '@alfresco/adf-core';
import { ContentNodeDialogService } from '@alfresco/adf-content-services';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
import { zip } from 'rxjs/observable/zip';
import { of } from 'rxjs/observable/of';
import { from, zip, of } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
@Component({
selector: 'attach-widget',
@@ -184,24 +182,27 @@ export class AttachFileWidgetComponent extends UploadWidgetComponent implements
}
private uploadFileFromCS(fileNodeList: MinimalNodeEntryEntity[], accountId: string, siteId?: string) {
let filesSaved = [];
Observable.from(fileNodeList)
.mergeMap(node =>
zip(of(node.content.mimeType), this.activitiContentService.applyAlfrescoNode(node,
siteId,
accountId))
).subscribe(([mymeType, res]) => {
res.mimeType = mymeType;
filesSaved.push(res);
},
(error) => {
this.logger.error(error);
},
() => {
this.field.value = filesSaved;
this.field.json.value = filesSaved;
this.hasFile = true;
});
const filesSaved = [];
from(fileNodeList).pipe(
mergeMap(node =>
zip(
of(node.content.mimeType),
this.activitiContentService.applyAlfrescoNode(node, siteId, accountId)
)
)
)
.subscribe(([mymeType, res]) => {
res.mimeType = mymeType;
filesSaved.push(res);
},
(error) => {
this.logger.error(error);
},
() => {
this.field.value = filesSaved;
this.field.json.value = filesSaved;
this.hasFile = true;
});
}
}

View File

@@ -30,7 +30,7 @@ import {
setupTestBed
} from '@alfresco/adf-core';
import { ContentNodeDialogService, ContentNodeSelectorModule } from '@alfresco/adf-content-services';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { ProcessTestingModule } from '../testing/process.testing.module';
@@ -127,7 +127,7 @@ describe('AttachFileWidgetComponent', () => {
});
it('should show up as simple upload when is configured for only local files', async(() => {
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(null));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(null));
widget.field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.UPLOAD,
value: []
@@ -147,7 +147,7 @@ describe('AttachFileWidgetComponent', () => {
});
widget.field.id = 'attach-file-attach';
widget.field.params = <FormFieldMetadata> allSourceParams;
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(fakeRepositoryListAnswer));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(fakeRepositoryListAnswer));
fixture.detectChanges();
fixture.whenRenderingDone().then(() => {
let attachButton: HTMLButtonElement = element.querySelector('#attach-file-attach');
@@ -166,9 +166,9 @@ describe('AttachFileWidgetComponent', () => {
}));
it('should be able to upload files coming from content node selector', async(() => {
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(fakeRepositoryListAnswer));
spyOn(activitiContentService, 'applyAlfrescoNode').and.returnValue(Observable.of(fakePngAnswer));
spyOn(contentNodeDialogService, 'openFileBrowseDialogBySite').and.returnValue(Observable.of([fakeMinimalNode]));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(fakeRepositoryListAnswer));
spyOn(activitiContentService, 'applyAlfrescoNode').and.returnValue(of(fakePngAnswer));
spyOn(contentNodeDialogService, 'openFileBrowseDialogBySite').and.returnValue(of([fakeMinimalNode]));
widget.field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.UPLOAD,
value: []
@@ -196,9 +196,9 @@ describe('AttachFileWidgetComponent', () => {
});
widget.field.id = 'attach-file-attach';
widget.field.params = <FormFieldMetadata> definedSourceParams;
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(fakeRepositoryListAnswer));
spyOn(activitiContentService, 'applyAlfrescoNode').and.returnValue(Observable.of(fakePngAnswer));
spyOn(contentNodeDialogService, 'openFileBrowseDialogByFolderId').and.returnValue(Observable.of([fakeMinimalNode]));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(fakeRepositoryListAnswer));
spyOn(activitiContentService, 'applyAlfrescoNode').and.returnValue(of(fakePngAnswer));
spyOn(contentNodeDialogService, 'openFileBrowseDialogByFolderId').and.returnValue(of([fakeMinimalNode]));
fixture.detectChanges();
fixture.whenStable().then(() => {
let attachButton: HTMLButtonElement = element.querySelector('#attach-file-attach');
@@ -213,14 +213,14 @@ describe('AttachFileWidgetComponent', () => {
}));
it('should be able to upload files from local source', async(() => {
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(null));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(null));
widget.field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.UPLOAD,
value: []
});
widget.field.id = 'attach-file-attach';
widget.field.params = <FormFieldMetadata> onlyLocalParams;
spyOn(processContentService, 'createTemporaryRawRelatedContent').and.returnValue(Observable.of(fakePngAnswer));
spyOn(processContentService, 'createTemporaryRawRelatedContent').and.returnValue(of(fakePngAnswer));
fixture.detectChanges();
fixture.whenStable().then(() => {
let inputDebugElement = fixture.debugElement.query(By.css('#attach-file-attach'));
@@ -236,7 +236,7 @@ describe('AttachFileWidgetComponent', () => {
type: FormFieldTypes.UPLOAD,
value: [fakePngAnswer]
});
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(null));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(null));
widget.field.id = 'attach-file-attach';
widget.field.params = <FormFieldMetadata> onlyLocalParams;
fixture.detectChanges();
@@ -254,8 +254,8 @@ describe('AttachFileWidgetComponent', () => {
});
widget.field.id = 'attach-file-attach';
widget.field.params = <FormFieldMetadata> onlyLocalParams;
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(Observable.of(null));
spyOn(processContentService, 'createTemporaryRawRelatedContent').and.returnValue(Observable.of(fakePngAnswer));
spyOn(activitiContentService, 'getAlfrescoRepositories').and.returnValue(of(null));
spyOn(processContentService, 'createTemporaryRawRelatedContent').and.returnValue(of(fakePngAnswer));
fixture.detectChanges();
fixture.whenStable().then(() => {
let inputDebugElement = fixture.debugElement.query(By.css('#attach-file-attach'));
@@ -304,7 +304,7 @@ describe('AttachFileWidgetComponent', () => {
}));
it('should raise formContentClicked event when show file is clicked', async(() => {
spyOn(processContentService, 'getFileRawContent').and.returnValue(Observable.of(fakePngAnswer));
spyOn(processContentService, 'getFileRawContent').and.returnValue(of(fakePngAnswer));
formService.formContentClicked.subscribe((file) => {
expect(file).not.toBeNull();
expect(file.id).toBe(1155);

View File

@@ -25,7 +25,7 @@ import {
setupTestBed
} from '@alfresco/adf-core';
import { ContentNodeDialogService } from '@alfresco/adf-content-services';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { ProcessTestingModule } from '../testing/process.testing.module';
@@ -88,7 +88,7 @@ xdescribe('AttachFolderWidgetComponent', () => {
});
it('should show the folder selected by content node', async(() => {
spyOn(contentNodeDialogService, 'openFolderBrowseDialogBySite').and.returnValue(Observable.of([fakeMinimalNode]));
spyOn(contentNodeDialogService, 'openFolderBrowseDialogBySite').and.returnValue(of([fakeMinimalNode]));
expect(widget).not.toBeNull();
widget.field = new FormFieldModel(new FormModel(), {
type: 'select-folder',
@@ -104,7 +104,7 @@ xdescribe('AttachFolderWidgetComponent', () => {
}));
it('should show the folder selected by content node opening on a configured folder', async(() => {
spyOn(contentNodeDialogService, 'openFolderBrowseDialogByFolderId').and.returnValue(Observable.of([fakeMinimalNode]));
spyOn(contentNodeDialogService, 'openFolderBrowseDialogByFolderId').and.returnValue(of([fakeMinimalNode]));
expect(widget).not.toBeNull();
widget.field = new FormFieldModel(new FormModel(), {
type: 'select-folder',
@@ -121,7 +121,7 @@ xdescribe('AttachFolderWidgetComponent', () => {
}));
it('should retrieve the node information on init', async(() => {
spyOn(nodeService, 'getNode').and.returnValue(Observable.of(fakeMinimalNode));
spyOn(nodeService, 'getNode').and.returnValue(of(fakeMinimalNode));
expect(widget).not.toBeNull();
widget.field = new FormFieldModel(new FormModel(), {
type: 'select-folder',
@@ -136,7 +136,7 @@ xdescribe('AttachFolderWidgetComponent', () => {
}));
it('should remove the folder via the remove button', async(() => {
spyOn(nodeService, 'getNode').and.returnValue(Observable.of(fakeMinimalNode));
spyOn(nodeService, 'getNode').and.returnValue(of(fakeMinimalNode));
expect(widget).not.toBeNull();
widget.field = new FormFieldModel(new FormModel(), {
type: 'select-folder',