devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
64 lines (63 loc) • 2.98 kB
JavaScript
/**
* DevExtreme (esm/ui/file_manager/ui.file_manager.dialog_manager.js)
* Version: 21.1.4
* Build date: Mon Jun 21 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import $ from "../../core/renderer";
import {
extend
} from "../../core/utils/extend";
import messageLocalization from "../../localization/message";
import FileManagerNameEditorDialog from "./ui.file_manager.dialog.name_editor";
import FileManagerFolderChooserDialog from "./ui.file_manager.dialog.folder_chooser";
import FileManagerDeleteItemDialog from "./ui.file_manager.dialog.delete_item";
class FileManagerDialogManager {
constructor($element, options) {
this._$element = $element;
this._options = options;
var baseDialogOptions = {
onClosed: this._options.onDialogClosed,
rtlEnabled: this._options.rtlEnabled
};
var $chooseFolderDialog = $("<div>").appendTo(this._$element);
this._chooseDirectoryDialog = new FileManagerFolderChooserDialog($chooseFolderDialog, extend(baseDialogOptions, this._options.chooseDirectoryDialog));
var $renameDialog = $("<div>").appendTo(this._$element);
this._renameItemDialog = new FileManagerNameEditorDialog($renameDialog, extend(baseDialogOptions, {
title: messageLocalization.format("dxFileManager-dialogRenameItemTitle"),
buttonText: messageLocalization.format("dxFileManager-dialogRenameItemButtonText")
}));
var $createDialog = $("<div>").appendTo(this._$element);
this._createItemDialog = new FileManagerNameEditorDialog($createDialog, extend(baseDialogOptions, {
title: messageLocalization.format("dxFileManager-dialogCreateDirectoryTitle"),
buttonText: messageLocalization.format("dxFileManager-dialogCreateDirectoryButtonText")
}));
var $deleteItemDialog = $("<div>").appendTo(this._$element);
this._deleteItemDialog = new FileManagerDeleteItemDialog($deleteItemDialog, baseDialogOptions)
}
getCopyDialog(targetItemInfos) {
this._chooseDirectoryDialog.switchToCopyDialog(targetItemInfos);
return this._chooseDirectoryDialog
}
getMoveDialog(targetItemInfos) {
this._chooseDirectoryDialog.switchToMoveDialog(targetItemInfos);
return this._chooseDirectoryDialog
}
getRenameItemDialog() {
return this._renameItemDialog
}
getCreateItemDialog() {
return this._createItemDialog
}
getDeleteItemDialog() {
return this._deleteItemDialog
}
updateDialogRtl(value) {
[this._chooseDirectoryDialog, this._renameItemDialog, this._createItemDialog, this._deleteItemDialog].forEach(dialog => {
dialog.option("rtlEnabled", value)
})
}
}
export default FileManagerDialogManager;