From d973c394628ce5fe9e1a16fa529d810b35d5cbba Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Thu, 8 Dec 2016 18:35:29 +0000 Subject: [PATCH] fix: ng2-alfresco-search --- .../components/activiti-comments.component.ts | 2 +- .../components/activiti-filters.component.ts | 2 +- ...tiviti-process-instance-details.component.ts | 2 +- ...ctiviti-process-instance-header.component.ts | 2 +- ...activiti-process-instance-tasks.component.ts | 2 +- .../activiti-processlist.component.ts | 2 +- .../activiti-start-process-dialog.component.ts | 2 +- .../activiti-start-process.component.ts | 2 +- .../breadcrumb/breadcrumb.component.ts | 1 + ...fresco-search-autocomplete.component.spec.ts | 5 ++++- .../alfresco-search-autocomplete.component.ts | 17 ++++++++++++++++- .../src/components/alfresco-search.component.ts | 17 ++++++++++++++++- 12 files changed, 45 insertions(+), 11 deletions(-) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-comments.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-comments.component.ts index 7f62783e8e..d0c5e30ec8 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-comments.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-comments.component.ts @@ -26,8 +26,8 @@ declare let componentHandler: any; declare let dialogPolyfill: any; @Component({ - moduleId: module.id, selector: 'activiti-process-instance-comments', + moduleId: module.id, templateUrl: './activiti-comments.component.html', styleUrls: ['./activiti-comments.component.css'], providers: [ActivitiProcessService] diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts index 7fbb4dee20..97025c5902 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts @@ -24,8 +24,8 @@ import { Observable, Observer } from 'rxjs/Rx'; declare let componentHandler: any; @Component({ - moduleId: module.id, selector: 'activiti-process-instance-filters', + moduleId: module.id, templateUrl: './activiti-filters.component.html', styleUrls: ['activiti-filters.component.css'] }) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-details.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-details.component.ts index 1b861fbda9..264b334c31 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-details.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-details.component.ts @@ -26,8 +26,8 @@ import { ProcessInstance } from '../models/process-instance.model'; declare let componentHandler: any; @Component({ - moduleId: module.id, selector: 'activiti-process-instance-details', + moduleId: module.id, templateUrl: './activiti-process-instance-details.component.html', styleUrls: ['./activiti-process-instance-details.component.css'] }) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-header.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-header.component.ts index 5c45948399..8c334e028d 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-header.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-header.component.ts @@ -24,8 +24,8 @@ import { DatePipe } from '@angular/common'; declare let componentHandler: any; @Component({ - moduleId: module.id, selector: 'activiti-process-instance-header', + moduleId: module.id, templateUrl: './activiti-process-instance-header.component.html', styleUrls: ['./activiti-process-instance-header.component.css'] }) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.ts index c0c2b869f6..d61db9f023 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.ts @@ -27,8 +27,8 @@ declare let componentHandler: any; declare let dialogPolyfill: any; @Component({ - moduleId: module.id, selector: 'activiti-process-instance-tasks', + moduleId: module.id, templateUrl: './activiti-process-instance-tasks.component.html', styleUrls: ['./activiti-process-instance-tasks.component.css'] }) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-processlist.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-processlist.component.ts index 902e87424b..cbac8318d3 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-processlist.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-processlist.component.ts @@ -24,8 +24,8 @@ import { ProcessInstance } from '../models/process-instance.model'; import { ActivitiProcessService } from '../services/activiti-process.service'; @Component({ - moduleId: module.id, selector: 'activiti-process-instance-list', + moduleId: module.id, styleUrls: [ './activiti-processlist.component.css' ], templateUrl: './activiti-processlist.component.html' }) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process-dialog.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process-dialog.component.ts index ea1dbc48a2..03cbc8df82 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process-dialog.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process-dialog.component.ts @@ -24,8 +24,8 @@ declare let componentHandler: any; declare let dialogPolyfill: any; @Component({ - moduleId: module.id, selector: 'activiti-start-process-dialog', + moduleId: module.id, templateUrl: './activiti-start-process-dialog.component.html', styleUrls: ['./activiti-start-process-dialog.component.css'] }) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.ts index 36192945c9..fd63f8daea 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.ts @@ -26,8 +26,8 @@ declare let componentHandler: any; declare let dialogPolyfill: any; @Component({ - moduleId: module.id, selector: 'activiti-start-process', + moduleId: module.id, templateUrl: './activiti-start-process.component.html', styleUrls: ['./activiti-start-process.component.css'] }) diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/breadcrumb/breadcrumb.component.ts b/ng2-components/ng2-alfresco-documentlist/src/components/breadcrumb/breadcrumb.component.ts index caf77ce343..99f1c5f031 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/breadcrumb/breadcrumb.component.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/components/breadcrumb/breadcrumb.component.ts @@ -24,6 +24,7 @@ import { import { DocumentList } from '../document-list'; @Component({ + moduleId: module.id, selector: 'alfresco-document-list-breadcrumb', templateUrl: './breadcrumb.component.html', styleUrls: ['./breadcrumb.component.css'] diff --git a/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.spec.ts b/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.spec.ts index c2125e21aa..686a79fe3f 100644 --- a/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.spec.ts +++ b/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.spec.ts @@ -134,11 +134,14 @@ describe('AlfrescoSearchAutocompleteComponent', () => { spyOn(thumbnailService, 'getMimeTypeIcon').and.returnValue('fake-type-icon.svg'); spyOn(thumbnailService, 'getMimeTypeKey').and.returnValue('FAKE_TYPE'); + let path = 'http://localhost/fake-type-icon.svg'; + spyOn(component, 'resolveIconPath').and.returnValue(path); + component.resultsLoad.subscribe(() => { fixture.detectChanges(); let imgEl = element.querySelector('#result_row_0 img'); expect(imgEl).not.toBeNull(); - expect(imgEl.src).toBe('../img/fake-type-icon.svg'); + expect(imgEl.src).toBe(path); expect(imgEl.alt).toBe('SEARCH.ICONS.FAKE_TYPE'); done(); }); diff --git a/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.ts b/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.ts index db8a3a4947..94d156879d 100644 --- a/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.ts +++ b/ng2-components/ng2-alfresco-search/src/components/alfresco-search-autocomplete.component.ts @@ -124,10 +124,25 @@ export class AlfrescoSearchAutocompleteComponent implements OnInit, OnChanges { getMimeTypeIcon(node: any): string { if (node.entry.content && node.entry.content.mimeType) { let icon = this.alfrescoThumbnailService.getMimeTypeIcon(node.entry.content.mimeType); - return require(`./../img/${icon}`); + return this.resolveIconPath(icon); } } + resolveIconPath(icon: string): string { + let result = null; + try { + // webpack + result = require(`./../img/${icon}`); + } catch (e) { + // system.js + if (module && module.id) { + let baseComponentPath = module.id.replace('/components/alfresco-search-autocomplete.component.js', ''); + result = `${baseComponentPath}/img/${icon}`; + } + } + return result; + } + /** * Gets thumbnail message key for the given document node, which can be used to look up alt text * @param node Node to get URL for. diff --git a/ng2-components/ng2-alfresco-search/src/components/alfresco-search.component.ts b/ng2-components/ng2-alfresco-search/src/components/alfresco-search.component.ts index f5946b24ee..7acfc5d29e 100644 --- a/ng2-components/ng2-alfresco-search/src/components/alfresco-search.component.ts +++ b/ng2-components/ng2-alfresco-search/src/components/alfresco-search.component.ts @@ -91,10 +91,25 @@ export class AlfrescoSearchComponent implements OnChanges, OnInit { getMimeTypeIcon(node: any): string { if (node.entry.content && node.entry.content.mimeType) { let icon = this._alfrescoThumbnailService.getMimeTypeIcon(node.entry.content.mimeType); - return require(`./../img/${icon}`); + return this.resolveIconPath(icon); } } + private resolveIconPath(icon: string): string { + let result = null; + try { + // webpack + result = require(`./../img/${icon}`); + } catch (e) { + // system.js + if (module && module.id) { + let baseComponentPath = module.id.replace('/components/alfresco-search.component.js', ''); + result = `${baseComponentPath}/img/${icon}`; + } + } + return result; + } + /** * Gets thumbnail message key for the given document node, which can be used to look up alt text * @param node Node to get URL for.