initial commit
This commit is contained in:
+176
@@ -0,0 +1,176 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define('/Plugin/editlist', ['exports', 'jquery', 'bootbox', 'Plugin'], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require('jquery'), require('bootbox'), require('Plugin'));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.jQuery, global.bootbox, global.Plugin);
|
||||
global.PluginEditlist = mod.exports;
|
||||
}
|
||||
})(this, function (exports, _jquery, _bootbox, _Plugin2) {
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _jquery2 = babelHelpers.interopRequireDefault(_jquery);
|
||||
|
||||
var _bootbox2 = babelHelpers.interopRequireDefault(_bootbox);
|
||||
|
||||
var _Plugin3 = babelHelpers.interopRequireDefault(_Plugin2);
|
||||
|
||||
var pluginName = 'editlist';
|
||||
var defaults = {};
|
||||
|
||||
var editlist = function () {
|
||||
function editlist(element, options) {
|
||||
babelHelpers.classCallCheck(this, editlist);
|
||||
|
||||
this.element = element;
|
||||
this.$element = (0, _jquery2.default)(element);
|
||||
this.$content = this.$element.find('.list-content');
|
||||
this.$text = this.$element.find('.list-text');
|
||||
this.$editable = this.$element.find('.list-editable');
|
||||
this.$editBtn = this.$element.find('[data-toggle=list-editable]');
|
||||
this.$delBtn = this.$element.find('[data-toggle=list-delete]');
|
||||
this.$closeBtn = this.$element.find('[data-toggle=list-editable-close]');
|
||||
this.$input = this.$element.find('input');
|
||||
this.options = _jquery2.default.extend({}, _Plugin3.default.defaults, options, this.$element.data());
|
||||
this.init();
|
||||
}
|
||||
|
||||
babelHelpers.createClass(editlist, [{
|
||||
key: 'init',
|
||||
value: function init() {
|
||||
this.bind();
|
||||
}
|
||||
}, {
|
||||
key: 'bind',
|
||||
value: function bind() {
|
||||
var self = this;
|
||||
this.$editBtn.on('click', function () {
|
||||
self.enable();
|
||||
});
|
||||
|
||||
this.$closeBtn.on('click', function () {
|
||||
self.disable();
|
||||
});
|
||||
|
||||
this.$delBtn.on('click', function () {
|
||||
if (typeof _bootbox2.default === 'undefined') return;
|
||||
_bootbox2.default.dialog({
|
||||
message: 'Do you want to delete the contact?',
|
||||
buttons: {
|
||||
success: {
|
||||
label: 'Delete',
|
||||
className: 'btn-danger',
|
||||
callback: function callback() {
|
||||
self.$element.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
this.$input.on('keydown', function (e) {
|
||||
var keycode = e.keyCode ? e.keyCode : e.which;
|
||||
|
||||
if (keycode == 13 || keycode == 27) {
|
||||
if (keycode == 13) {
|
||||
self.$text.html(self.$input.val());
|
||||
} else {
|
||||
self.$input.val(self.$text.text());
|
||||
}
|
||||
|
||||
self.disable();
|
||||
}
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'enable',
|
||||
value: function enable() {
|
||||
this.$content.hide();
|
||||
this.$editable.show();
|
||||
this.$input.focus().select();
|
||||
}
|
||||
}, {
|
||||
key: 'disable',
|
||||
value: function disable() {
|
||||
this.$content.show();
|
||||
this.$editable.hide();
|
||||
}
|
||||
}], [{
|
||||
key: '_jQueryInterface',
|
||||
value: function _jQueryInterface(options) {
|
||||
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
args[_key - 1] = arguments[_key];
|
||||
}
|
||||
|
||||
if (typeof options === 'string') {
|
||||
var method = options;
|
||||
|
||||
if (/^\_/.test(method)) {
|
||||
return false;
|
||||
} else if (/^(get)$/.test(method)) {
|
||||
var api = this.first().data(pluginName);
|
||||
if (api && typeof api[method] === 'function') {
|
||||
return api[method].apply(api, args);
|
||||
}
|
||||
} else {
|
||||
return this.each(function () {
|
||||
var api = _jquery2.default.data(this, pluginName);
|
||||
if (api && typeof api[method] === 'function') {
|
||||
api[method].apply(api, args);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
return this.each(function () {
|
||||
if (!_jquery2.default.data(this, pluginName)) {
|
||||
_jquery2.default.data(this, pluginName, new editlist(this, options));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}]);
|
||||
return editlist;
|
||||
}();
|
||||
|
||||
_jquery2.default.fn[pluginName] = editlist._jQueryInterface;
|
||||
_jquery2.default.fn[pluginName].constructor = editlist;
|
||||
_jquery2.default.fn[pluginName].noConflict = function () {
|
||||
'use strict';
|
||||
|
||||
_jquery2.default.fn[pluginName] = window.JQUERY_NO_CONFLICT;
|
||||
return editlist._jQueryInterface;
|
||||
};
|
||||
|
||||
var Editlist = function (_Plugin) {
|
||||
babelHelpers.inherits(Editlist, _Plugin);
|
||||
|
||||
function Editlist() {
|
||||
babelHelpers.classCallCheck(this, Editlist);
|
||||
return babelHelpers.possibleConstructorReturn(this, (Editlist.__proto__ || Object.getPrototypeOf(Editlist)).apply(this, arguments));
|
||||
}
|
||||
|
||||
babelHelpers.createClass(Editlist, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return pluginName;
|
||||
}
|
||||
}], [{
|
||||
key: 'getDefaults',
|
||||
value: function getDefaults() {
|
||||
return defaults;
|
||||
}
|
||||
}]);
|
||||
return Editlist;
|
||||
}(_Plugin3.default);
|
||||
|
||||
_Plugin3.default.register(pluginName, Editlist);
|
||||
|
||||
exports.default = Editlist;
|
||||
});
|
||||
Reference in New Issue
Block a user