mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-09-17 14:21:29 +00:00
[ACS-7577] [ADF] Remove Folder Directives from Content Services lib (#9582)
* ACS-7577 remove create and edit folder directive [ci:force] * Revert "ACS-7577 remove create and edit folder directive [ci:force]" This reverts commit a0055aa496d1c6ee64118035acb36b55ab59716b. * ACS-7577 move edit and create folder directives to demo-shell [ci:force] * ACS-7577 remove public-api and fix readme file [ci:force] * ACS-7577 remove edit directive [ci:force] * ACS-7577 update e2e tests [ci:force] * ACS-7577 update e2e tests [ci:force] * ACS-7577 update e2e tests [ci:force] * ACS-7577 revert e2e tests [ci:force] * ACS-7577 revert e2e tests and create button [ci:force] * ACS-7577 refactor e2e test [ci:force] --------- Co-authored-by: DaryaBalvanovich <darya.balvanovich1@hyland.com>
This commit is contained in:
committed by
GitHub
parent
571fc3dce1
commit
10244f45ac
@@ -0,0 +1,87 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/* eslint-disable */
|
||||
|
||||
import { Directive, HostListener, Input, Output, EventEmitter } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
import { ContentService, FolderDialogComponent } from '@alfresco/adf-content-services';
|
||||
|
||||
const DEFAULT_FOLDER_PARENT_ID = '-my-';
|
||||
const DIALOG_WIDTH: number = 400;
|
||||
|
||||
@Directive({
|
||||
selector: '[adf-create-folder]'
|
||||
})
|
||||
export class FolderCreateDirective {
|
||||
/** Parent folder where the new folder will be located after creation. */
|
||||
@Input('adf-create-folder')
|
||||
parentNodeId: string = DEFAULT_FOLDER_PARENT_ID;
|
||||
|
||||
/** Title of folder creation dialog. */
|
||||
@Input()
|
||||
title: string = null;
|
||||
|
||||
/** Type of node to create. */
|
||||
@Input()
|
||||
nodeType = 'cm:folder';
|
||||
|
||||
/** Emitted when an error occurs (eg, a folder with same name already exists). */
|
||||
@Output()
|
||||
error: EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
/** Emitted when the folder is created successfully. */
|
||||
@Output()
|
||||
success: EventEmitter<Node> = new EventEmitter<Node>();
|
||||
|
||||
@HostListener('click', ['$event'])
|
||||
onClick(event) {
|
||||
event.preventDefault();
|
||||
this.openDialog();
|
||||
}
|
||||
|
||||
constructor(public dialogRef: MatDialog, public content: ContentService) {}
|
||||
|
||||
private get dialogConfig() {
|
||||
const { parentNodeId, title: createTitle, nodeType } = this;
|
||||
|
||||
return {
|
||||
data: { parentNodeId, createTitle, nodeType },
|
||||
width: `${DIALOG_WIDTH}px`
|
||||
};
|
||||
}
|
||||
|
||||
private openDialog(): void {
|
||||
const { dialogRef, dialogConfig, content } = this;
|
||||
const dialogInstance = dialogRef.open(FolderDialogComponent, dialogConfig);
|
||||
|
||||
dialogInstance.componentInstance.error.subscribe((error) => {
|
||||
this.error.emit(error);
|
||||
});
|
||||
|
||||
dialogInstance.componentInstance.success.subscribe((node: Node) => {
|
||||
this.success.emit(node);
|
||||
});
|
||||
|
||||
dialogInstance.afterClosed().subscribe((node: Node) => {
|
||||
if (node) {
|
||||
content.folderCreate.next(node);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user