mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
This commit is contained in:
parent
e2c879409a
commit
9b36001510
@ -83,7 +83,7 @@ describe('Test ng2-alfresco-tag Tag actions list', () => {
|
|||||||
it('Tag list relative a single node should be rendered', (done) => {
|
it('Tag list relative a single node should be rendered', (done) => {
|
||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
||||||
@ -109,7 +109,7 @@ describe('Test ng2-alfresco-tag Tag actions list', () => {
|
|||||||
it('Tag list click on delete button should delete the tag', (done) => {
|
it('Tag list click on delete button should delete the tag', (done) => {
|
||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
let deleteButton: any = element.querySelector('#tag_delete_0');
|
let deleteButton: any = element.querySelector('#tag_delete_0');
|
||||||
@ -142,11 +142,11 @@ describe('Test ng2-alfresco-tag Tag actions list', () => {
|
|||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
component.addEmitter.subscribe(() => {
|
component.successAdd.subscribe(() => {
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
let addButton: any = element.querySelector('#add-tag');
|
let addButton: any = element.querySelector('#add-tag');
|
||||||
@ -173,12 +173,12 @@ describe('Test ng2-alfresco-tag Tag actions list', () => {
|
|||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
component.addEmitter.subscribe(() => {
|
component.successAdd.subscribe(() => {
|
||||||
expect(component.newTagName).toBe('');
|
expect(component.newTagName).toBe('');
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
let addButton: any = element.querySelector('#add-tag');
|
let addButton: any = element.querySelector('#add-tag');
|
||||||
@ -207,11 +207,37 @@ describe('Test ng2-alfresco-tag Tag actions list', () => {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Add tag should return an error if the tag is already present', (done) => {
|
||||||
|
component.nodeId = 'fake-node-id';
|
||||||
|
component.newTagName = 'test1';
|
||||||
|
|
||||||
|
fixture.detectChanges();
|
||||||
|
|
||||||
|
component.error.subscribe(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
component.result.subscribe(() => {
|
||||||
|
fixture.detectChanges();
|
||||||
|
|
||||||
|
let addButton: any = element.querySelector('#add-tag');
|
||||||
|
addButton.click();
|
||||||
|
});
|
||||||
|
|
||||||
|
component.ngOnChanges();
|
||||||
|
|
||||||
|
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||||
|
status: 200,
|
||||||
|
contentType: 'json',
|
||||||
|
responseText: dataTag
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('Add tag should be disabled if the node id is not a correct node', (done) => {
|
it('Add tag should be disabled if the node id is not a correct node', (done) => {
|
||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
component.newTagName = 'fake-tag-name';
|
component.newTagName = 'fake-tag-name';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
let addButton: any = element.querySelector('#add-tag');
|
let addButton: any = element.querySelector('#add-tag');
|
||||||
expect(addButton.disabled).toEqual(true);
|
expect(addButton.disabled).toEqual(true);
|
||||||
done();
|
done();
|
||||||
@ -228,7 +254,7 @@ describe('Test ng2-alfresco-tag Tag actions list', () => {
|
|||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
component.newTagName = 'fake-tag-name';
|
component.newTagName = 'fake-tag-name';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
let addButton: any = element.querySelector('#add-tag');
|
let addButton: any = element.querySelector('#add-tag');
|
||||||
|
@ -41,10 +41,13 @@ export class TagActionsComponent {
|
|||||||
isContextMenu: boolean = false;
|
isContextMenu: boolean = false;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
addEmitter: EventEmitter<any> = new EventEmitter();
|
successAdd: EventEmitter<any> = new EventEmitter();
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
resultsEmitter = new EventEmitter();
|
error: EventEmitter<any> = new EventEmitter();
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
result = new EventEmitter();
|
||||||
|
|
||||||
newTagName: string;
|
newTagName: string;
|
||||||
|
|
||||||
@ -58,6 +61,10 @@ export class TagActionsComponent {
|
|||||||
if (translateService) {
|
if (translateService) {
|
||||||
translateService.addTranslationFolder('ng2-alfresco-tag', 'node_modules/ng2-alfresco-tag/src');
|
translateService.addTranslationFolder('ng2-alfresco-tag', 'node_modules/ng2-alfresco-tag/src');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.tagService.refresh.subscribe(() => {
|
||||||
|
this.refreshTag();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnChanges() {
|
ngOnChanges() {
|
||||||
@ -68,11 +75,11 @@ export class TagActionsComponent {
|
|||||||
this.tagService.getTagsByNodeId(this.nodeId).subscribe((data) => {
|
this.tagService.getTagsByNodeId(this.nodeId).subscribe((data) => {
|
||||||
this.tagsEntries = data.list.entries;
|
this.tagsEntries = data.list.entries;
|
||||||
this.disableAddTag = false;
|
this.disableAddTag = false;
|
||||||
this.resultsEmitter.emit(this.tagsEntries);
|
this.result.emit(this.tagsEntries);
|
||||||
}, () => {
|
}, () => {
|
||||||
this.tagsEntries = null;
|
this.tagsEntries = null;
|
||||||
this.disableAddTag = true;
|
this.disableAddTag = true;
|
||||||
this.resultsEmitter.emit(this.tagsEntries);
|
this.result.emit(this.tagsEntries);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,13 +88,13 @@ export class TagActionsComponent {
|
|||||||
this.translateService.get('TAG.MESSAGES.EXIST').subscribe((error) => {
|
this.translateService.get('TAG.MESSAGES.EXIST').subscribe((error) => {
|
||||||
this.errorMsg = error;
|
this.errorMsg = error;
|
||||||
});
|
});
|
||||||
|
this.error.emit(this.errorMsg);
|
||||||
|
}else {
|
||||||
|
this.tagService.addTag(this.nodeId, this.newTagName).subscribe(() => {
|
||||||
|
this.newTagName = '';
|
||||||
|
this.successAdd.emit(this.nodeId);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tagService.addTag(this.nodeId, this.newTagName).subscribe(() => {
|
|
||||||
this.newTagName = '';
|
|
||||||
this.refreshTag();
|
|
||||||
this.addEmitter.emit(this.nodeId);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
searchTag(searchTagName: string) {
|
searchTag(searchTagName: string) {
|
||||||
@ -103,8 +110,6 @@ export class TagActionsComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
removeTag(tag: string) {
|
removeTag(tag: string) {
|
||||||
this.tagService.removeTag(this.nodeId, tag).subscribe(() => {
|
this.tagService.removeTag(this.nodeId, tag);
|
||||||
this.refreshTag();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ describe('Test ng2-alfresco-tag Tag list All ECM', () => {
|
|||||||
it('Tag list relative a single node should be rendered', (done) => {
|
it('Tag list relative a single node should be rendered', (done) => {
|
||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.result.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
||||||
|
@ -35,23 +35,26 @@ export class TagList {
|
|||||||
tagsEntries: any;
|
tagsEntries: any;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
resultsEmitter = new EventEmitter();
|
result = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
* @param tagService
|
* @param tagService
|
||||||
*/
|
*/
|
||||||
constructor(private tagService: TagService) {
|
constructor(private tagService: TagService) {
|
||||||
|
this.tagService.refresh.subscribe(() => {
|
||||||
|
this.refreshTag();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(changes) {
|
ngOnInit() {
|
||||||
return this.refreshTagEcm();
|
return this.refreshTag();
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshTagEcm() {
|
refreshTag() {
|
||||||
this.tagService.getAllTheTags().subscribe((data) => {
|
this.tagService.getAllTheTags().subscribe((data) => {
|
||||||
this.tagsEntries = data.list.entries;
|
this.tagsEntries = data.list.entries;
|
||||||
this.resultsEmitter.emit(this.tagsEntries);
|
this.result.emit(this.tagsEntries);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ describe('Test ng2-alfresco-tag Tag relative node list', () => {
|
|||||||
it('Tag list relative a single node should be rendered', (done) => {
|
it('Tag list relative a single node should be rendered', (done) => {
|
||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.results.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
expect(element.querySelector('#tag_name_0').innerHTML).toBe('test1');
|
||||||
@ -108,7 +108,7 @@ describe('Test ng2-alfresco-tag Tag relative node list', () => {
|
|||||||
it('Tag list click on delete button should delete the tag', (done) => {
|
it('Tag list click on delete button should delete the tag', (done) => {
|
||||||
component.nodeId = 'fake-node-id';
|
component.nodeId = 'fake-node-id';
|
||||||
|
|
||||||
component.resultsEmitter.subscribe(() => {
|
component.results.subscribe(() => {
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
let deleteButton: any = element.querySelector('#tag_delete_0');
|
let deleteButton: any = element.querySelector('#tag_delete_0');
|
||||||
|
@ -39,13 +39,16 @@ export class TagNodeList {
|
|||||||
tagsEntries: any;
|
tagsEntries: any;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
resultsEmitter = new EventEmitter();
|
results = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
* @param tagService
|
* @param tagService
|
||||||
*/
|
*/
|
||||||
constructor(private tagService: TagService) {
|
constructor(private tagService: TagService) {
|
||||||
|
this.tagService.refresh.subscribe(() => {
|
||||||
|
this.refreshTag();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnChanges() {
|
ngOnChanges() {
|
||||||
@ -55,7 +58,7 @@ export class TagNodeList {
|
|||||||
refreshTag() {
|
refreshTag() {
|
||||||
this.tagService.getTagsByNodeId(this.nodeId).subscribe((data) => {
|
this.tagService.getTagsByNodeId(this.nodeId).subscribe((data) => {
|
||||||
this.tagsEntries = data.list.entries;
|
this.tagsEntries = data.list.entries;
|
||||||
this.resultsEmitter.emit(this.tagsEntries);
|
this.results.emit(this.tagsEntries);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,5 +118,30 @@ describe('Tag service', () => {
|
|||||||
status: 403
|
status: 403
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('delete tag should trigger a refresh event', (done) => {
|
||||||
|
service.refresh.subscribe(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
service.removeTag('fake-node-id', 'fake-tag');
|
||||||
|
|
||||||
|
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||||
|
status: 200
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('add tag should trigger a refresh event', (done) => {
|
||||||
|
service.refresh.subscribe(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
service.addTag('fake-node-id', 'fake-tag');
|
||||||
|
|
||||||
|
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||||
|
status: 200
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Injectable } from '@angular/core';
|
import { Injectable, Output, EventEmitter } from '@angular/core';
|
||||||
import { Observable } from 'rxjs/Rx';
|
import { Observable } from 'rxjs/Rx';
|
||||||
import { AlfrescoApiService, LogService } from 'ng2-alfresco-core';
|
import { AlfrescoApiService, LogService } from 'ng2-alfresco-core';
|
||||||
|
|
||||||
@ -25,6 +25,9 @@ import { AlfrescoApiService, LogService } from 'ng2-alfresco-core';
|
|||||||
@Injectable()
|
@Injectable()
|
||||||
export class TagService {
|
export class TagService {
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
refresh = new EventEmitter();
|
||||||
|
|
||||||
constructor(private apiService: AlfrescoApiService,
|
constructor(private apiService: AlfrescoApiService,
|
||||||
private logService: LogService) {
|
private logService: LogService) {
|
||||||
}
|
}
|
||||||
@ -44,13 +47,27 @@ export class TagService {
|
|||||||
let tagBody = new alfrescoApi.core.TagBody();
|
let tagBody = new alfrescoApi.core.TagBody();
|
||||||
tagBody.tag = tagName;
|
tagBody.tag = tagName;
|
||||||
|
|
||||||
return Observable.fromPromise(this.apiService.getInstance().core.tagsApi.addTag(nodeId, tagBody))
|
let promiseAdd = Observable.fromPromise(this.apiService.getInstance().core.tagsApi.addTag(nodeId, tagBody));
|
||||||
.catch(err => this.handleError(err));
|
|
||||||
|
promiseAdd.subscribe((data) => {
|
||||||
|
this.refresh.emit(data);
|
||||||
|
}, (err) => {
|
||||||
|
this.handleError(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
return promiseAdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
removeTag(nodeId: string, tag: string): any {
|
removeTag(nodeId: string, tag: string): any {
|
||||||
return Observable.fromPromise(this.apiService.getInstance().core.tagsApi.removeTag(nodeId, tag))
|
let promiseRemove = Observable.fromPromise(this.apiService.getInstance().core.tagsApi.removeTag(nodeId, tag));
|
||||||
.catch(err => this.handleError(err));
|
|
||||||
|
promiseRemove.subscribe((data) => {
|
||||||
|
this.refresh.emit(data);
|
||||||
|
}, (err) => {
|
||||||
|
this.handleError(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
return promiseRemove;
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleError(error: any) {
|
private handleError(error: any) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user