add open create from template

This commit is contained in:
pionnegru
2019-12-23 10:59:01 +02:00
parent b3a7c63b45
commit 42cdbc2931
2 changed files with 31 additions and 16 deletions
+5 -3
View File
@@ -76,7 +76,7 @@ import { AppNodeVersionModule } from './components/node-version/node-version.mod
import { FavoritesComponent } from './components/favorites/favorites.component';
import { RecentFilesComponent } from './components/recent-files/recent-files.component';
import { SharedFilesComponent } from './components/shared-files/shared-files.component';
import { CreateFileFromTemplateDialogComponent } from './dialogs/node-templates/create-from-template.dialog';
import { environment } from '../environments/environment';
import { registerLocaleData } from '@angular/common';
@@ -158,7 +158,8 @@ registerLocaleData(localeSv);
NodeVersionsDialogComponent,
FavoritesComponent,
RecentFilesComponent,
SharedFilesComponent
SharedFilesComponent,
CreateFileFromTemplateDialogComponent
],
providers: [
{ provide: RouteReuseStrategy, useClass: AppRouteReuseStrategy },
@@ -175,7 +176,8 @@ registerLocaleData(localeSv);
entryComponents: [
NodeVersionsDialogComponent,
NodeVersionUploadDialogComponent,
LibraryDialogComponent
LibraryDialogComponent,
CreateFileFromTemplateDialogComponent
],
bootstrap: [AppComponent]
})
@@ -24,17 +24,18 @@
*/
import { Injectable } from '@angular/core';
import { MatDialog, MatDialogConfig } from '@angular/material';
import {
ContentNodeSelectorComponentData,
ContentNodeSelectorComponent
} from '@alfresco/adf-content-services';
import { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material';
import { CreateFileFromTemplateDialogComponent } from '../dialogs/node-templates/create-from-template.dialog';
import { Subject, from, of } from 'rxjs';
import { Node } from '@alfresco/js-api';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { Node, MinimalNode } from '@alfresco/js-api';
import { AlfrescoApiService, TranslationService } from '@alfresco/adf-core';
import { switchMap, catchError } from 'rxjs/operators';
import { Store } from '@ngrx/store';
import { AppStore, SnackbarErrorAction } from '@alfresco/aca-shared/store';
import {
ContentNodeSelectorComponent,
ContentNodeSelectorComponentData
} from '@alfresco/adf-content-services';
@Injectable({
providedIn: 'root'
@@ -43,6 +44,7 @@ export class CreateFileFromTemplateService {
constructor(
private store: Store<AppStore>,
private alfrescoApiService: AlfrescoApiService,
private translation: TranslationService,
public dialog: MatDialog
) {}
@@ -53,7 +55,8 @@ export class CreateFileFromTemplateService {
});
const data: ContentNodeSelectorComponentData = {
title: null,
title: this.title,
actionName: 'NEXT',
dropdownHideMyFiles: true,
currentFolderId: null,
dropdownSiteList: null,
@@ -62,10 +65,6 @@ export class CreateFileFromTemplateService {
isSelectionValid: this.isSelectionValid.bind(this)
};
data.select.subscribe({
complete: this.close.bind(this)
});
from(
this.alfrescoApiService.getInstance().nodes.getNodeInfo('-root-', {
relativePath: 'Data Dictionary/Node Templates'
@@ -97,7 +96,17 @@ export class CreateFileFromTemplateService {
return select;
}
private transformNode(node: Node): Node {
createTemplateDialog(
node: Node
): MatDialogRef<CreateFileFromTemplateDialogComponent> {
return this.dialog.open(CreateFileFromTemplateDialogComponent, {
data: node,
panelClass: 'aca-file-from-template-dialog',
width: '630px'
});
}
private transformNode(node: MinimalNode): MinimalNode {
if (node && node.path && node.path && node.path.elements instanceof Array) {
let {
path: { elements: elementsPath = [] }
@@ -118,4 +127,8 @@ export class CreateFileFromTemplateService {
private close() {
this.dialog.closeAll();
}
private get title() {
return this.translation.instant('NODE_SELECTOR.SELECT_TEMPLATE_TITLE');
}
}