123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- 'use strict';
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- var DelBox = function () {
- function DelBox(_ref) {
- var box = _ref.box;
- _classCallCheck(this, DelBox);
- this.arr = [];
- this.domArr = [];
- this.box = box;
- }
- /**
- * addDelBox 添加可删除的盒子
- * @param str - 内容ID(唯一ID,用于去重)
- * @param box - *父级盒子选择器
- * @param template - 模板函数 (str,i,arr_key)
- * @param arr - 数据存放的数组变量 ('key'|'buy'|..)
- */
- _createClass(DelBox, [{
- key: 'addDelBox',
- value: function addDelBox() {
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref2$str = _ref2.str,
- str = _ref2$str === undefined ? '默认内容' : _ref2$str,
- _ref2$k = _ref2.k,
- k = _ref2$k === undefined ? 'key' : _ref2$k;
- var tempArr = this.arr;
- var tempDom = this.domArr;
- if (tempArr.indexOf(k) === -1) {
- var pDom = this.toJqDom(this.box);
- var tempContent = this.toJqDom(this.createDefaultTemp(str, tempArr.length, k));
- pDom.append(tempContent);
- tempDom.push(tempContent);
- tempArr.push(k);
- }
- this.arr = tempArr;
- this.domArr = tempDom;
- }
- /**
- * createDefaultTemp 默认可删除标签模板
- * @param s - 内容
- * @param i - 数组变量 index
- * @param k - 数组变量 key
- * @return {string}
- */
- }, {
- key: 'createDefaultTemp',
- value: function createDefaultTemp(s, i, k) {
- var _this = this;
- if(s === '其他') {
- s = k
- }
- var temp = document.createElement('div');
- temp.innerHTML = '<div data-arrIndex="' + i + '" data-key="' + k + '" class="delete-box-close">' + s + '</div>';
- var child = this.toJqDom(temp.children);
- var close = document.createElement('i');
- close.className = 'iconfont icon-guanbi';
- close.onclick = function () {
- _this.del(k);
- };
- child.append(close);
- return child;
- }
- /**
- * toJqDom 顾名思义,转化为Jq对象
- * @param selector
- * @return {*}
- */
- }, {
- key: 'toJqDom',
- value: function toJqDom(selector) {
- if (selector instanceof jQuery) {
- return selector;
- }
- return $(selector);
- }
- }, {
- key: 'add',
- value: function add(s, k) {
- this.addDelBox({ str: s, k: k });
- }
- }, {
- key: 'clear',
- value: function clear(other) {
- var _this2 = this;
- if ((typeof other === 'undefined' ? 'undefined' : _typeof(other)) !== 'object') {
- return false;
- }
- other.forEach(function (v) {
- return _this2.del(v);
- });
- }
- }, {
- key: 'del',
- value: function del(s) {
- var _this3 = this;
- var index = s;
- if (typeof s !== 'number') {
- index = this.arr.indexOf(s);
- }
- if (index !== -1) {
- this.arr = this.arr.filter(function (v) {
- return v !== _this3.arr[index];
- });
- var d = this.domArr.splice(index, 1)[0];
- if(d) {
- d.remove();
- }
- }
- }
- }]);
- return DelBox;
- }();
|