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 { FavoritesComponent } from './components/favorites/favorites.component';
import { RecentFilesComponent } from './components/recent-files/recent-files.component'; import { RecentFilesComponent } from './components/recent-files/recent-files.component';
import { SharedFilesComponent } from './components/shared-files/shared-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 { environment } from '../environments/environment';
import { registerLocaleData } from '@angular/common'; import { registerLocaleData } from '@angular/common';
@@ -158,7 +158,8 @@ registerLocaleData(localeSv);
NodeVersionsDialogComponent, NodeVersionsDialogComponent,
FavoritesComponent, FavoritesComponent,
RecentFilesComponent, RecentFilesComponent,
SharedFilesComponent SharedFilesComponent,
CreateFileFromTemplateDialogComponent
], ],
providers: [ providers: [
{ provide: RouteReuseStrategy, useClass: AppRouteReuseStrategy }, { provide: RouteReuseStrategy, useClass: AppRouteReuseStrategy },
@@ -175,7 +176,8 @@ registerLocaleData(localeSv);
entryComponents: [ entryComponents: [
NodeVersionsDialogComponent, NodeVersionsDialogComponent,
NodeVersionUploadDialogComponent, NodeVersionUploadDialogComponent,
LibraryDialogComponent LibraryDialogComponent,
CreateFileFromTemplateDialogComponent
], ],
bootstrap: [AppComponent] bootstrap: [AppComponent]
}) })
@@ -24,17 +24,18 @@
*/ */
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { MatDialog, MatDialogConfig } from '@angular/material'; import { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material';
import { import { CreateFileFromTemplateDialogComponent } from '../dialogs/node-templates/create-from-template.dialog';
ContentNodeSelectorComponentData,
ContentNodeSelectorComponent
} from '@alfresco/adf-content-services';
import { Subject, from, of } from 'rxjs'; import { Subject, from, of } from 'rxjs';
import { Node } from '@alfresco/js-api'; import { Node, MinimalNode } from '@alfresco/js-api';
import { AlfrescoApiService } from '@alfresco/adf-core'; import { AlfrescoApiService, TranslationService } from '@alfresco/adf-core';
import { switchMap, catchError } from 'rxjs/operators'; import { switchMap, catchError } from 'rxjs/operators';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppStore, SnackbarErrorAction } from '@alfresco/aca-shared/store'; import { AppStore, SnackbarErrorAction } from '@alfresco/aca-shared/store';
import {
ContentNodeSelectorComponent,
ContentNodeSelectorComponentData
} from '@alfresco/adf-content-services';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@@ -43,6 +44,7 @@ export class CreateFileFromTemplateService {
constructor( constructor(
private store: Store<AppStore>, private store: Store<AppStore>,
private alfrescoApiService: AlfrescoApiService, private alfrescoApiService: AlfrescoApiService,
private translation: TranslationService,
public dialog: MatDialog public dialog: MatDialog
) {} ) {}
@@ -53,7 +55,8 @@ export class CreateFileFromTemplateService {
}); });
const data: ContentNodeSelectorComponentData = { const data: ContentNodeSelectorComponentData = {
title: null, title: this.title,
actionName: 'NEXT',
dropdownHideMyFiles: true, dropdownHideMyFiles: true,
currentFolderId: null, currentFolderId: null,
dropdownSiteList: null, dropdownSiteList: null,
@@ -62,10 +65,6 @@ export class CreateFileFromTemplateService {
isSelectionValid: this.isSelectionValid.bind(this) isSelectionValid: this.isSelectionValid.bind(this)
}; };
data.select.subscribe({
complete: this.close.bind(this)
});
from( from(
this.alfrescoApiService.getInstance().nodes.getNodeInfo('-root-', { this.alfrescoApiService.getInstance().nodes.getNodeInfo('-root-', {
relativePath: 'Data Dictionary/Node Templates' relativePath: 'Data Dictionary/Node Templates'
@@ -97,7 +96,17 @@ export class CreateFileFromTemplateService {
return select; 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) { if (node && node.path && node.path && node.path.elements instanceof Array) {
let { let {
path: { elements: elementsPath = [] } path: { elements: elementsPath = [] }
@@ -118,4 +127,8 @@ export class CreateFileFromTemplateService {
private close() { private close() {
this.dialog.closeAll(); this.dialog.closeAll();
} }
private get title() {
return this.translation.instant('NODE_SELECTOR.SELECT_TEMPLATE_TITLE');
}
} }