devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
61 lines (60 loc) • 2.07 kB
JavaScript
/**
* DevExtreme (esm/ui/file_manager/ui.file_manager.file_actions_button.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 Widget from "../widget/ui.widget";
import Button from "../button";
var FILE_MANAGER_FILE_ACTIONS_BUTTON = "dx-filemanager-file-actions-button";
var FILE_MANAGER_FILE_ACTIONS_BUTTON_ACTIVATED = "dx-filemanager-file-actions-button-activated";
var ACTIVE_STATE_CLASS = "dx-state-active";
class FileManagerFileActionsButton extends Widget {
_initMarkup() {
this._createClickAction();
var $button = $("<div>");
this.$element().append($button).addClass(FILE_MANAGER_FILE_ACTIONS_BUTTON);
this._button = this._createComponent($button, Button, {
icon: "overflow",
stylingMode: "text",
onClick: e => this._raiseClick(e)
});
super._initMarkup()
}
_createClickAction() {
this._clickAction = this._createActionByOption("onClick")
}
_raiseClick(e) {
this._clickAction(e)
}
_getDefaultOptions() {
return extend(super._getDefaultOptions(), {
cssClass: "",
onClick: null
})
}
_optionChanged(args) {
var name = args.name;
switch (name) {
case "cssClass":
this.repaint();
break;
case "onClick":
this._createClickAction();
break;
default:
super._optionChanged(args)
}
}
setActive(active) {
this.$element().toggleClass(FILE_MANAGER_FILE_ACTIONS_BUTTON_ACTIVATED, active);
setTimeout(() => this._button.$element().toggleClass(ACTIVE_STATE_CLASS, active))
}
}
export default FileManagerFileActionsButton;