UNPKG

@atlassian/aui

Version:

Atlassian User Interface Framework

59 lines (50 loc) 1.74 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['module', 'exports', '../jquery'], factory); } else if (typeof exports !== "undefined") { factory(module, exports, require('../jquery')); } else { var mod = { exports: {} }; factory(mod, mod.exports, global.jquery); global.widget = mod.exports; } })(this, function (module, exports, _jquery) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (name, Ctor) { var dataAttr = '_aui-widget-' + name; return function (selectorOrOptions, maybeOptions) { var selector; var options; if (_jquery2.default.isPlainObject(selectorOrOptions)) { options = selectorOrOptions; } else { selector = selectorOrOptions; options = maybeOptions; } var $el = selector && (0, _jquery2.default)(selector); var widget; if (!$el || !$el.data(dataAttr)) { widget = new Ctor($el, options || {}); $el = widget.$el; $el.data(dataAttr, widget); } else { widget = $el.data(dataAttr); // options are discarded if $el has already been constructed } return widget; }; }; var _jquery2 = _interopRequireDefault(_jquery); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } module.exports = exports['default']; }); //# sourceMappingURL=widget.js.map