UNPKG

@atlassian/aui

Version:

Atlassian User Interface Framework

131 lines (105 loc) 4.03 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['module', 'exports', './jquery', './internal/amdify', './internal/globalize', './layer', './internal/widget'], factory); } else if (typeof exports !== "undefined") { factory(module, exports, require('./jquery'), require('./internal/amdify'), require('./internal/globalize'), require('./layer'), require('./internal/widget')); } else { var mod = { exports: {} }; factory(mod, mod.exports, global.jquery, global.amdify, global.globalize, global.layer, global.widget); global.dialog2 = mod.exports; } })(this, function (module, exports, _jquery, _amdify, _globalize, _layer, _widget) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _jquery2 = _interopRequireDefault(_jquery); var _amdify2 = _interopRequireDefault(_amdify); var _globalize2 = _interopRequireDefault(_globalize); var _layer2 = _interopRequireDefault(_layer); var _widget2 = _interopRequireDefault(_widget); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var defaults = { 'aui-focus': 'false', // do not focus by default as it's overridden below 'aui-blanketed': 'true' }; function applyDefaults($el) { _jquery2.default.each(defaults, function (key, value) { var dataKey = 'data-' + key; if (!$el[0].hasAttribute(dataKey)) { $el.attr(dataKey, value); } }); } function Dialog2(selector) { if (selector) { this.$el = (0, _jquery2.default)(selector); } else { this.$el = (0, _jquery2.default)(aui.dialog.dialog2({})); } applyDefaults(this.$el); } Dialog2.prototype.on = function (event, fn) { (0, _layer2.default)(this.$el).on(event, fn); return this; }; Dialog2.prototype.off = function (event, fn) { (0, _layer2.default)(this.$el).off(event, fn); return this; }; Dialog2.prototype.show = function () { (0, _layer2.default)(this.$el).show(); return this; }; Dialog2.prototype.hide = function () { (0, _layer2.default)(this.$el).hide(); return this; }; Dialog2.prototype.remove = function () { (0, _layer2.default)(this.$el).remove(); return this; }; Dialog2.prototype.isVisible = function () { return (0, _layer2.default)(this.$el).isVisible(); }; var dialog2Widget = (0, _widget2.default)('dialog2', Dialog2); dialog2Widget.on = function (eventName, fn) { _layer2.default.on(eventName, '.aui-dialog2', fn); return this; }; dialog2Widget.off = function (eventName, fn) { _layer2.default.off(eventName, '.aui-dialog2', fn); return this; }; /* Live events */ (0, _jquery2.default)(document).on('click', '.aui-dialog2-header-close', function (e) { e.preventDefault(); dialog2Widget((0, _jquery2.default)(this).closest('.aui-dialog2')).hide(); }); dialog2Widget.on('show', function (e, $el) { var selectors = ['.aui-dialog2-content', '.aui-dialog2-footer', '.aui-dialog2-header']; var $selected; selectors.some(function (selector) { $selected = $el.find(selector + ' :aui-tabbable'); return $selected.length; }); $selected && $selected.first().focus(); }); dialog2Widget.on('hide', function (e, $el) { var layer = (0, _layer2.default)($el); if ($el.data('aui-remove-on-hide')) { layer.remove(); } }); (0, _amdify2.default)('aui/dialog2', dialog2Widget); (0, _globalize2.default)('dialog2', dialog2Widget); exports.default = dialog2Widget; module.exports = exports['default']; }); //# sourceMappingURL=dialog2.js.map