From 0050a2cc13680ac9f7b1dfc61d94b40c94599478 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Thu, 4 Aug 2016 00:17:21 +0100 Subject: [PATCH] add alfresco core in viewer --- .../ng2-alfresco-viewer/demo/package.json | 3 ++ .../demo/systemjs.config.js | 2 ++ .../ng2-alfresco-viewer/karma-test-shim.js | 8 +++-- .../ng2-alfresco-viewer/karma.conf.js | 8 +++-- .../ng2-alfresco-viewer/package.json | 5 +++ .../AlfrescoSettingsService.service.mock.ts | 36 +++++++++++++++++++ .../src/pdfViewer.component.spec.ts | 14 +++++++- .../src/viewer.component.spec.ts | 14 +++++++- .../src/viewer.component.ts | 10 +++++- 9 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 ng2-components/ng2-alfresco-viewer/src/assets/AlfrescoSettingsService.service.mock.ts diff --git a/ng2-components/ng2-alfresco-viewer/demo/package.json b/ng2-components/ng2-alfresco-viewer/demo/package.json index d5976d2cd2..70cbdddc35 100644 --- a/ng2-components/ng2-alfresco-viewer/demo/package.json +++ b/ng2-components/ng2-alfresco-viewer/demo/package.json @@ -38,6 +38,9 @@ "material-design-lite": "1.1.3", "pdfjs-dist": "1.5.258", + "ng2-alfresco-core": "^0.2.0", + "ng2-translate": "2.2.2", + "alfresco-js-api": "^0.2.0", "ng2-alfresco-viewer" : "file:../" }, "devDependencies": { diff --git a/ng2-components/ng2-alfresco-viewer/demo/systemjs.config.js b/ng2-components/ng2-alfresco-viewer/demo/systemjs.config.js index 303190cb41..b6f0d5db4d 100644 --- a/ng2-components/ng2-alfresco-viewer/demo/systemjs.config.js +++ b/ng2-components/ng2-alfresco-viewer/demo/systemjs.config.js @@ -10,6 +10,7 @@ 'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 'rxjs': 'node_modules/rxjs', + 'ng2-alfresco-core': 'node_modules/ng2-alfresco-core/dist', 'ng2-alfresco-viewer': 'node_modules/ng2-alfresco-viewer/dist' }; // packages tells the System loader how to load when no filename and/or no extension @@ -18,6 +19,7 @@ 'rxjs': { defaultExtension: 'js' }, 'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }, + 'ng2-alfresco-core': { main: 'index.js', defaultExtension: 'js' }, 'ng2-alfresco-viewer': { main: 'index.js', defaultExtension: 'js' } }; var ngPackageNames = [ diff --git a/ng2-components/ng2-alfresco-viewer/karma-test-shim.js b/ng2-components/ng2-alfresco-viewer/karma-test-shim.js index 12d4258019..3f74908bb7 100644 --- a/ng2-components/ng2-alfresco-viewer/karma-test-shim.js +++ b/ng2-components/ng2-alfresco-viewer/karma-test-shim.js @@ -8,12 +8,16 @@ __karma__.loaded = function() {}; var map = { 'app': 'base/dist', 'rxjs': 'base/node_modules/rxjs', - '@angular': 'base/node_modules/@angular' + 'ng2-alfresco-core': '/base/node_modules/ng2-alfresco-core/dist', + '@angular': 'base/node_modules/@angular', + 'ng2-translate' : '/base/node_modules/ng2-translate' }; var packages = { 'app': { main: 'main.js', defaultExtension: 'js' }, - 'rxjs': { defaultExtension: 'js' } + 'ng2-alfresco-core': { main: 'index.js', defaultExtension: 'js' }, + 'rxjs': { defaultExtension: 'js' }, + 'ng2-translate': { defaultExtension: 'js' } }; var packageNames = [ diff --git a/ng2-components/ng2-alfresco-viewer/karma.conf.js b/ng2-components/ng2-alfresco-viewer/karma.conf.js index efa0139c03..70e6adbba1 100644 --- a/ng2-components/ng2-alfresco-viewer/karma.conf.js +++ b/ng2-components/ng2-alfresco-viewer/karma.conf.js @@ -16,6 +16,10 @@ module.exports = function (config) { {pattern: 'node_modules/@angular/**/*.js', included: false, watched: false}, {pattern: 'node_modules/@angular/**/*.map', included: false, watched: false}, + {pattern: 'node_modules/ng2-alfresco-core/dist/**/*.js', included: false, served: true, watched: false}, + {pattern: 'node_modules/ng2-translate/**/*.js', included: false, served: true, watched: false}, + {pattern: 'node_modules/alfresco-js-api/dist/alfresco-js-api.js', included: true, watched: false}, + {pattern: 'karma-test-shim.js', included: true, watched: true}, // paths loaded via module imports @@ -61,7 +65,7 @@ module.exports = function (config) { // Coverage reporter generates the coverage reporters: ['mocha', 'coverage', 'coveralls', 'kjhtml'], - + // Source files that you wanna generate coverage for. // Do not include tests or libraries (these files will be instrumented by Istanbul) preprocessors: { @@ -74,7 +78,7 @@ module.exports = function (config) { reporters: [ {type: 'text'}, {type: 'json', file: 'coverage-final.json'}, - {type: 'html'}, + {type: 'html'}, {type: 'lcov'} ] } diff --git a/ng2-components/ng2-alfresco-viewer/package.json b/ng2-components/ng2-alfresco-viewer/package.json index cd19111d33..36c83966e7 100644 --- a/ng2-components/ng2-alfresco-viewer/package.json +++ b/ng2-components/ng2-alfresco-viewer/package.json @@ -58,6 +58,11 @@ "@angular/router": "3.0.0-alpha.7", "@angular/router-deprecated": "2.0.0-rc.2", "@angular/upgrade": "2.0.0-rc.3", + + "ng2-alfresco-core": "0.2.0", + "ng2-translate": "2.2.2", + "alfresco-js-api": "^0.2.0", + "systemjs": "0.19.27", "core-js": "2.4.0", "reflect-metadata": "0.1.3", diff --git a/ng2-components/ng2-alfresco-viewer/src/assets/AlfrescoSettingsService.service.mock.ts b/ng2-components/ng2-alfresco-viewer/src/assets/AlfrescoSettingsService.service.mock.ts new file mode 100644 index 0000000000..354b652ed8 --- /dev/null +++ b/ng2-components/ng2-alfresco-viewer/src/assets/AlfrescoSettingsService.service.mock.ts @@ -0,0 +1,36 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Injectable } from '@angular/core'; + +@Injectable() +export class AlfrescoSettingsServiceMock { + + static DEFAULT_HOST_ADDRESS: string = 'fakehost'; + + private providers: string[] = ['ECM', 'BPM']; + + private _host: string = AlfrescoSettingsServiceMock.DEFAULT_HOST_ADDRESS; + + public get ecmHost(): string { + return this._host; + } + + getProviders(): string [] { + return this.providers; + } +} diff --git a/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts index 4c8f0d8f8c..f8d01bc5e9 100644 --- a/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { describe, expect, it, inject } from '@angular/core/testing'; +import { describe, expect, it, inject, beforeEachProviders } from '@angular/core/testing'; import { TestComponentBuilder } from '@angular/compiler/testing'; import { PdfViewerComponent } from './pdfViewer.component'; @@ -23,8 +23,20 @@ import { PDFJSmock } from './assets/PDFJS.mock'; import { PDFViewermock } from './assets/PDFViewer.mock'; import { EventMock } from './assets/event.mock'; +import { HTTP_PROVIDERS } from '@angular/http'; +import { AlfrescoSettingsServiceMock } from '../src/assets/AlfrescoSettingsService.service.mock'; +import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core'; + describe('PdfViewer', () => { + beforeEachProviders(() => { + return [ + HTTP_PROVIDERS, + {provide: AlfrescoSettingsService, useClass: AlfrescoSettingsServiceMock}, + {provide: AlfrescoAuthenticationService, useClass: AlfrescoAuthenticationService} + ]; + }); + describe('View', () => { it('Canvas should be present', inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { return tcb diff --git a/ng2-components/ng2-alfresco-viewer/src/viewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/viewer.component.spec.ts index 12157298c3..5d5467bdb9 100644 --- a/ng2-components/ng2-alfresco-viewer/src/viewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/viewer.component.spec.ts @@ -15,13 +15,25 @@ * limitations under the License. */ -import {describe, expect, it, inject } from '@angular/core/testing'; +import { describe, expect, it, inject, beforeEachProviders } from '@angular/core/testing'; import { TestComponentBuilder } from '@angular/compiler/testing'; import { ViewerComponent } from './viewer.component'; import { EventMock } from './assets/event.mock'; +import { HTTP_PROVIDERS } from '@angular/http'; +import { AlfrescoSettingsServiceMock } from '../src/assets/AlfrescoSettingsService.service.mock'; +import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core'; + describe('ViewerComponent', () => { + beforeEachProviders(() => { + return [ + HTTP_PROVIDERS, + {provide: AlfrescoSettingsService, useClass: AlfrescoSettingsServiceMock}, + {provide: AlfrescoAuthenticationService, useClass: AlfrescoAuthenticationService} + ]; + }); + describe('View', () => { it('shadow overlay should be present if is overlay mode', inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { return tcb diff --git a/ng2-components/ng2-alfresco-viewer/src/viewer.component.ts b/ng2-components/ng2-alfresco-viewer/src/viewer.component.ts index 62e0a9cea4..5bdfeb43c4 100644 --- a/ng2-components/ng2-alfresco-viewer/src/viewer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/viewer.component.ts @@ -20,6 +20,7 @@ import { PdfViewerComponent } from './pdfViewer.component'; import { ImgViewerComponent } from './imgViewer.component'; import { NotSupportedFormat } from './notSupportedFormat.component'; import { DOCUMENT } from '@angular/platform-browser'; +import { AlfrescoAuthenticationService} from 'ng2-alfresco-core'; declare let __moduleName: string; @@ -38,6 +39,9 @@ export class ViewerComponent { @Input() fileName: string = null; + @Input() + fileNodeId: string = null; + @Input() mimeType: string = null; @@ -56,7 +60,7 @@ export class ViewerComponent { extension: string; - constructor(private element: ElementRef, @Inject(DOCUMENT) private document) { + constructor(private authService: AlfrescoAuthenticationService, private element: ElementRef, @Inject(DOCUMENT) private document) { } ngOnChanges(changes) { @@ -71,7 +75,11 @@ export class ViewerComponent { let filenameFromUrl = this.getFilenameFromUrl(this.urlFile); this.displayName = this.fileName !== null ? this.fileName : filenameFromUrl; this.extension = this.getFileExtension(filenameFromUrl); + } else if (this.fileNodeId) { + console.log('call api'); } + + resolve(); }); }