/*!
* @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 { NgModule, Component, OnInit, ViewChild } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { DocumentListModule, DocumentListComponent, DocumentActionsService } from 'ng2-alfresco-documentlist';
import { CoreModule, StorageService, AlfrescoSettingsService, AlfrescoAuthenticationService, AlfrescoTranslationService, LogService } from 'ng2-alfresco-core';
@Component({
selector: 'alfresco-app-demo',
template: `
Authentication failed to ip {{ ecmHost }} with user: admin, admin, you can still try to add a valid ticket to perform
operations.
`,
styles: [':host > .container {padding: 10px}']
})
class DocumentListDemo implements OnInit {
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
currentFolderId: string = '-my-';
authenticated: boolean = false;
ecmHost: string = 'http://localhost:8080';
ticket: string;
@ViewChild(DocumentListComponent)
documentList: DocumentListComponent;
constructor(private authService: AlfrescoAuthenticationService,
private settingsService: AlfrescoSettingsService,
private translateService: AlfrescoTranslationService,
private documentActions: DocumentActionsService,
private storage: StorageService,
private logService: LogService) {
settingsService.ecmHost = this.ecmHost;
settingsService.setProviders('ECM');
if (this.authService.getTicketEcm()) {
this.ticket = this.authService.getTicketEcm();
}
translateService.addTranslationFolder();
documentActions.setHandler('my-handler', this.myDocumentActionHandler.bind(this));
}
public updateTicket(): void {
this.storage.setItem('ticket-ECM', this.ticket);
}
public updateHost(): void {
this.settingsService.ecmHost = this.ecmHost;
this.login();
}
ngOnInit() {
this.login();
}
myDocumentActionHandler() {
window.alert('my custom action handler');
}
myCustomAction1(event) {
let entry = event.value.entry;
alert(`Custom document action for ${entry.name}`);
}
myFolderAction1(event) {
let entry = event.value.entry;
alert(`Custom folder action for ${entry.name}`);
}
login() {
this.authService.login('admin', 'admin').subscribe(
ticket => {
this.logService.info(ticket);
this.ticket = this.authService.getTicketEcm();
this.authenticated = true;
this.documentList.reload();
},
error => {
this.logService.error(error);
this.authenticated = false;
});
}
}
@NgModule({
imports: [
BrowserModule,
CoreModule.forRoot(),
DocumentListModule.forRoot()
],
declarations: [ DocumentListDemo ],
bootstrap: [ DocumentListDemo ]
})
export class AppModule { }
platformBrowserDynamic().bootstrapModule(AppModule);