UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

163 lines (158 loc) 5.9 kB
/** * DevExtreme (cjs/ui/file_manager/ui.file_manager.dialog.js) * Version: 21.2.4 * Build date: Mon Dec 06 2021 * * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; exports.default = void 0; var _renderer = _interopRequireDefault(require("../../core/renderer")); var _extend = require("../../core/utils/extend"); var _type = require("../../core/utils/type"); var _message = _interopRequireDefault(require("../../localization/message")); var _ui = _interopRequireDefault(require("../widget/ui.widget")); var _popup = _interopRequireDefault(require("../popup")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FILE_MANAGER_DIALOG_CONTENT = "dx-filemanager-dialog"; var FILE_MANAGER_DIALOG_POPUP = "dx-filemanager-dialog-popup"; var FileManagerDialogBase = function(_Widget) { _inheritsLoose(FileManagerDialogBase, _Widget); function FileManagerDialogBase() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerDialogBase.prototype; _proto._initMarkup = function() { var _this = this; _Widget.prototype._initMarkup.call(this); this._createOnClosedAction(); var options = this._getDialogOptions(); var $popup = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_DIALOG_POPUP).appendTo(this.$element()); if (options.popupCssClass) { $popup.addClass(options.popupCssClass) } var popupOptions = { showTitle: true, title: options.title, visible: false, closeOnOutsideClick: true, copyRootClassesToWrapper: true, _ignoreCopyRootClassesToWrapperDeprecation: true, contentTemplate: this._createContentTemplate.bind(this), toolbarItems: [{ widget: "dxButton", toolbar: "bottom", location: "after", options: { text: options.buttonText, onClick: this._applyDialogChanges.bind(this) } }, { widget: "dxButton", toolbar: "bottom", location: "after", options: { text: _message.default.format("dxFileManager-dialogButtonCancel"), onClick: this._closeDialog.bind(this) } }], onInitialized: function(_ref) { var component = _ref.component; component.registerKeyHandler("enter", _this._applyDialogChanges.bind(_this)) }, onHidden: this._onPopupHidden.bind(this), onShown: this._onPopupShown.bind(this) }; if ((0, _type.isDefined)(options.height)) { popupOptions.height = options.height } if ((0, _type.isDefined)(options.maxHeight)) { popupOptions.maxHeight = options.maxHeight } this._popup = this._createComponent($popup, _popup.default, popupOptions) }; _proto.show = function() { this._dialogResult = null; this._popup.show() }; _proto._getDialogOptions = function() { return { title: "Title", buttonText: "ButtonText", contentCssClass: "", popupCssClass: "" } }; _proto._createContentTemplate = function(element) { this._$contentElement = (0, _renderer.default)("<div>").appendTo(element).addClass(FILE_MANAGER_DIALOG_CONTENT); var cssClass = this._getDialogOptions().contentCssClass; if (cssClass) { this._$contentElement.addClass(cssClass) } }; _proto._getDialogResult = function() { return null }; _proto._applyDialogChanges = function() { var result = this._getDialogResult(); if (result) { this._dialogResult = result; this._closeDialog() } }; _proto._closeDialog = function() { this._popup.hide() }; _proto._onPopupHidden = function() { this._onClosedAction({ dialogResult: this._dialogResult }) }; _proto._onPopupShown = function() {}; _proto._createOnClosedAction = function() { this._onClosedAction = this._createActionByOption("onClosed") }; _proto._setTitle = function(newTitle) { this._popup.option("title", newTitle) }; _proto._setButtonText = function(newText) { this._popup.option("toolbarItems[0].options.text", newText) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { onClosed: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "onClosed": this._createOnPathChangedAction(); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return FileManagerDialogBase }(_ui.default); var _default = FileManagerDialogBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default;