diff --git a/src/app/app.module.ts b/src/app/app.module.ts index ec362240d..111bad187 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -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] }) diff --git a/src/app/services/create-file-from-template.service.ts b/src/app/services/create-file-from-template.service.ts index 9848b22c0..f9a8d8790 100644 --- a/src/app/services/create-file-from-template.service.ts +++ b/src/app/services/create-file-from-template.service.ts @@ -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, 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 { + 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'); + } }