UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

99 lines (98 loc) 2.95 kB
/** * DevExtreme (esm/ui/speed_dial_action/speed_dial_action.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 registerComponent from "../../core/component_registrator"; import { extend } from "../../core/utils/extend"; import Guid from "../../core/guid"; import readyCallbacks from "../../core/utils/ready_callbacks"; import Widget from "../widget/ui.widget"; import { initAction, disposeAction } from "./speed_dial_main_item"; import swatchContainer from "../widget/swatch_container"; var { getSwatchContainer: getSwatchContainer } = swatchContainer; var ready = readyCallbacks.add; class SpeedDialAction extends Widget { _getDefaultOptions() { return extend(super._getDefaultOptions(), { icon: "", onClick: null, label: "", visible: true, index: 0, onContentReady: null, activeStateEnabled: true, hoverStateEnabled: true, animation: { show: { type: "pop", duration: 200, easing: "cubic-bezier(0.4, 0, 0.2, 1)", from: { scale: 0, opacity: 0 }, to: { scale: 1, opacity: 1 } }, hide: { type: "pop", duration: 200, easing: "cubic-bezier(0.4, 0, 0.2, 1)", from: { scale: 1, opacity: 1 }, to: { scale: 0, opacity: 0 } } }, id: new Guid }) } _optionChanged(args) { switch (args.name) { case "onClick": case "icon": case "label": case "visible": case "index": case "onInitializing": initAction(this); break; case "animation": case "id": break; default: super._optionChanged(args) } } _render() { this._toggleVisibility(false); if (!getSwatchContainer(this.$element())) { ready(() => initAction(this)) } else { initAction(this) } } _dispose() { disposeAction(this._options.silent("id")); super._dispose() } } registerComponent("dxSpeedDialAction", SpeedDialAction); export default SpeedDialAction;