@panpanzhao/component-ui 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -206,21 +206,368 @@ module.exports = require("element-ui/lib/table-column");
206
206
 
207
207
  /***/ }),
208
208
 
209
- /***/ 24:
209
+ /***/ 19:
210
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
211
+
212
+ "use strict";
213
+
214
+ // EXPORTS
215
+ __webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ uuid; });
216
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ findTree; });
217
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ findTreeIndex; });
218
+ __webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ spliceTreeSelf; });
219
+
220
+ // UNUSED EXPORTS: mapTree, eachTree, getTree, filterTree, everyTree, someTree, spliceTree, getTreeDepth, getTreeAncestors, getTreeParent
221
+
222
+ // CONCATENATED MODULE: ./src/utils/helper.js
223
+ // 参考 https://github.com/streamich/v4-uuid
224
+ var str = function str() {
225
+ return ('00000000000000000' + (Math.random() * 0xffffffffffffffff).toString(16)).slice(-16);
226
+ };
227
+ var uuid = function uuid() {
228
+ var a = str();
229
+ var b = str();
230
+ return a.slice(0, 8) + '-' + a.slice(8, 12) + '-4' + a.slice(13) + '-a' + b.slice(1, 4) + '-' + b.slice(4);
231
+ };
232
+ // CONCATENATED MODULE: ./src/utils/tree.js
233
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
234
+ /**
235
+ * 类似于 arr.map 方法,此方法主要针对类似下面示例的树形结构。
236
+ * [
237
+ * {
238
+ * children: []
239
+ * },
240
+ * // 其他成员
241
+ * ]
242
+ *
243
+ * @param {Tree} tree 树形数据
244
+ * @param {Function} iterator 处理函数,返回的数据会被替换成新的。
245
+ * @return {Tree} 返回处理过的 tree
246
+ */
247
+ function mapTree(tree, iterator, level, depthFirst, paths) {
248
+ if (level === void 0) {
249
+ level = 1;
250
+ }
251
+ if (depthFirst === void 0) {
252
+ depthFirst = false;
253
+ }
254
+ if (paths === void 0) {
255
+ paths = [];
256
+ }
257
+ return tree.map(function (item, index) {
258
+ if (depthFirst) {
259
+ var children = item.children ? mapTree(item.children, iterator, level + 1, depthFirst, paths.concat(item)) : undefined;
260
+ children && (item = _extends({}, item, {
261
+ children: children
262
+ }));
263
+ item = iterator(item, index, level, paths) || _extends({}, item);
264
+ return item;
265
+ }
266
+ item = iterator(item, index, level, paths) || _extends({}, item);
267
+ if (item.children && item.children.splice) {
268
+ item.children = mapTree(item.children, iterator, level + 1, depthFirst, paths.concat(item));
269
+ }
270
+ return item;
271
+ });
272
+ }
273
+
274
+ /**
275
+ * 遍历树
276
+ * @param tree
277
+ * @param iterator
278
+ */
279
+ function eachTree(tree, iterator, level, paths) {
280
+ if (level === void 0) {
281
+ level = 1;
282
+ }
283
+ if (paths === void 0) {
284
+ paths = [];
285
+ }
286
+ tree.map(function (item, index) {
287
+ var currentPath = paths.concat(item);
288
+ iterator(item, index, level, currentPath);
289
+ if (item.children && item.children.splice) {
290
+ eachTree(item.children, iterator, level + 1, currentPath);
291
+ }
292
+ });
293
+ }
294
+ /**
295
+ * 在树中查找节点。
296
+ * @param tree
297
+ * @param iterator
298
+ */
299
+ function findTree(tree, iterator) {
300
+ var result = null;
301
+ everyTree(tree, function (item, key, level, paths) {
302
+ if (iterator(item, key, level, paths)) {
303
+ result = item;
304
+ return false;
305
+ }
306
+ return true;
307
+ });
308
+ return result;
309
+ }
310
+
311
+ /**
312
+ * 在树中查找节点, 返回下标数组。
313
+ * @param tree
314
+ * @param iterator
315
+ */
316
+ function findTreeIndex(tree, iterator) {
317
+ var idx = [];
318
+ findTree(tree, function (item, index, level, paths) {
319
+ if (iterator(item, index, level, paths)) {
320
+ idx = [index];
321
+ paths = paths.concat();
322
+ paths.unshift({
323
+ children: tree
324
+ });
325
+ for (var i = paths.length - 1; i > 0; i--) {
326
+ var prev = paths[i - 1];
327
+ var current = paths[i];
328
+ idx.unshift(prev.children && prev.children.indexOf(current));
329
+ }
330
+ return true;
331
+ }
332
+ return false;
333
+ });
334
+ return idx.length ? idx : undefined;
335
+ }
336
+ function getTree(tree, idx) {
337
+ var indexes = Array.isArray(idx) ? idx.concat() : [idx];
338
+ var lastIndex = indexes.pop();
339
+ var list = tree;
340
+ for (var i = 0, len = indexes.length; i < len; i++) {
341
+ var index = indexes[i];
342
+ if (!list || !list[index]) {
343
+ list = null;
344
+ break;
345
+ }
346
+ list = list[index].children;
347
+ }
348
+ return list ? list[lastIndex] : undefined;
349
+ }
350
+ /**
351
+ * 过滤树节点
352
+ *
353
+ * @param tree
354
+ * @param iterator
355
+ */
356
+ function filterTree(tree, iterator, level, depthFirst) {
357
+ if (level === void 0) {
358
+ level = 1;
359
+ }
360
+ if (depthFirst === void 0) {
361
+ depthFirst = false;
362
+ }
363
+ if (depthFirst) {
364
+ return tree.map(function (item) {
365
+ var children = item.children ? filterTree(item.children, iterator, level + 1, depthFirst) : undefined;
366
+ if (Array.isArray(children) && Array.isArray(item.children)) {
367
+ item = _extends({}, item, {
368
+ children: children
369
+ });
370
+ }
371
+ return item;
372
+ }).filter(function (item, index) {
373
+ return iterator(item, index, level);
374
+ });
375
+ }
376
+ return tree.filter(function (item, index) {
377
+ return iterator(item, index, level);
378
+ }).map(function (item) {
379
+ if (item.children && item.children.splice) {
380
+ var children = filterTree(item.children, iterator, level + 1, depthFirst);
381
+ if (Array.isArray(children) && Array.isArray(item.children)) {
382
+ item = _extends({}, item, {
383
+ children: children
384
+ });
385
+ }
386
+ }
387
+ return item;
388
+ });
389
+ }
390
+
391
+ /**
392
+ * 判断树中每个节点是否满足某个条件。
393
+ * @param tree
394
+ * @param iterator
395
+ */
396
+ function everyTree(tree, iterator, level, paths, indexes) {
397
+ if (level === void 0) {
398
+ level = 1;
399
+ }
400
+ if (paths === void 0) {
401
+ paths = [];
402
+ }
403
+ if (indexes === void 0) {
404
+ indexes = [];
405
+ }
406
+ if (!Array.isArray(tree)) {
407
+ return false;
408
+ }
409
+ return tree.every(function (item, index) {
410
+ var value = iterator(item, index, level, paths, indexes);
411
+ if (value && item.children && item.children.splice) {
412
+ return everyTree(item.children, iterator, level + 1, paths.concat(item), indexes.concat(index));
413
+ }
414
+ return value;
415
+ });
416
+ }
417
+
418
+ /**
419
+ * 判断树中是否有某些节点满足某个条件。
420
+ * @param tree
421
+ * @param iterator
422
+ */
423
+ function someTree(tree, iterator) {
424
+ var result = false;
425
+ everyTree(tree, function (item, key, level, paths) {
426
+ if (iterator(item, key, level, paths)) {
427
+ result = true;
428
+ return false;
429
+ }
430
+ return true;
431
+ });
432
+ return result;
433
+ }
434
+
435
+ /**
436
+ * 操作树,遵循 imutable, 每次返回一个新的树。
437
+ * 类似数组的 splice 不同的地方这个方法不修改原始数据,
438
+ * 同时第二个参数不是下标,而是下标数组,分别代表每一层的下标。
439
+ *
440
+ * 至于如何获取下标数组,请查看 findTreeIndex
441
+ *
442
+ * @param tree
443
+ * @param idx
444
+ * @param deleteCount
445
+ * @param ...items
446
+ */
447
+ function spliceTree(tree, idx, deleteCount) {
448
+ if (deleteCount === void 0) {
449
+ deleteCount = 0;
450
+ }
451
+ var list = tree.concat();
452
+ for (var _len = arguments.length, items = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
453
+ items[_key - 3] = arguments[_key];
454
+ }
455
+ if (typeof idx === 'number') {
456
+ list.splice.apply(list, [idx, deleteCount].concat(items));
457
+ } else if (Array.isArray(idx) && idx.length) {
458
+ idx = idx.concat();
459
+ var lastIdx = idx.pop();
460
+ var host = idx.reduce(function (list, idx) {
461
+ var child = _extends({}, list[idx], {
462
+ children: list[idx].children ? list[idx].children.concat() : []
463
+ });
464
+ list[idx] = child;
465
+ return child.children;
466
+ }, list);
467
+ host.splice.apply(host, [lastIdx, deleteCount].concat(items));
468
+ }
469
+ return list;
470
+ }
471
+
472
+ /**
473
+ * 计算树的深度
474
+ * @param tree
475
+ */
476
+ function getTreeDepth(tree) {
477
+ return Math.max.apply(Math, tree.map(function (item) {
478
+ if (Array.isArray(item.children)) {
479
+ return 1 + getTreeDepth(item.children);
480
+ }
481
+ return 1;
482
+ }));
483
+ }
484
+
485
+ /**
486
+ * 从树中获取某个值的所有祖先
487
+ * @param tree
488
+ * @param value
489
+ */
490
+ function getTreeAncestors(tree, value, includeSelf) {
491
+ if (includeSelf === void 0) {
492
+ includeSelf = false;
493
+ }
494
+ var ancestors = null;
495
+ findTree(tree, function (item, index, level, paths) {
496
+ if (item === value) {
497
+ ancestors = paths;
498
+ if (includeSelf) {
499
+ ancestors.push(item);
500
+ }
501
+ return true;
502
+ }
503
+ return false;
504
+ });
505
+ return ancestors;
506
+ }
507
+
508
+ /**
509
+ * 从树中获取某个值的上级
510
+ * @param tree
511
+ * @param value
512
+ */
513
+ function getTreeParent(tree, value) {
514
+ var ancestors = getTreeAncestors(tree, value);
515
+ return ancestors && ancestors.length ? ancestors[ancestors.length - 1] : null;
516
+ }
517
+
518
+ /**
519
+ * 操作树,修车原来的树, 返回修改后的树。
520
+ * 类似数组的 splice 修改原始数据,
521
+ * 同时第二个参数不是下标,而是下标数组,分别代表每一层的下标。
522
+ *
523
+ * 至于如何获取下标数组,请查看 findTreeIndex
524
+ *
525
+ * @param tree
526
+ * @param idx
527
+ * @param deleteCount
528
+ * @param ...items
529
+ */
530
+ function spliceTreeSelf(tree, idx, deleteCount) {
531
+ if (deleteCount === void 0) {
532
+ deleteCount = 0;
533
+ }
534
+ var list = tree;
535
+ for (var _len2 = arguments.length, items = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
536
+ items[_key2 - 3] = arguments[_key2];
537
+ }
538
+ if (typeof idx === 'number') {
539
+ list.splice.apply(list, [idx, deleteCount].concat(items));
540
+ } else if (Array.isArray(idx) && idx.length) {
541
+ idx = idx.concat();
542
+ var lastIdx = idx.pop();
543
+ var host = idx.reduce(function (list, idx) {
544
+ return list[idx] && list[idx].children || [];
545
+ }, list);
546
+ host.splice.apply(host, [lastIdx, deleteCount].concat(items));
547
+ }
548
+ return list;
549
+ }
550
+ // CONCATENATED MODULE: ./src/utils/index.js
551
+
552
+
553
+
554
+ /***/ }),
555
+
556
+ /***/ 25:
210
557
  /***/ (function(module, exports) {
211
558
 
212
559
  module.exports = require("element-ui/lib/radio");
213
560
 
214
561
  /***/ }),
215
562
 
216
- /***/ 29:
563
+ /***/ 30:
217
564
  /***/ (function(module, exports) {
218
565
 
219
566
  module.exports = require("dayjs");
220
567
 
221
568
  /***/ }),
222
569
 
223
- /***/ 30:
570
+ /***/ 31:
224
571
  /***/ (function(module, exports) {
225
572
 
226
573
  module.exports = require("element-ui/lib/link");
@@ -234,21 +581,21 @@ module.exports = require("element-ui/lib/button");
234
581
 
235
582
  /***/ }),
236
583
 
237
- /***/ 49:
584
+ /***/ 50:
238
585
  /***/ (function(module, exports) {
239
586
 
240
587
  module.exports = require("element-ui/lib/dropdown");
241
588
 
242
589
  /***/ }),
243
590
 
244
- /***/ 50:
591
+ /***/ 51:
245
592
  /***/ (function(module, exports) {
246
593
 
247
594
  module.exports = require("element-ui/lib/dropdown-item");
248
595
 
249
596
  /***/ }),
250
597
 
251
- /***/ 51:
598
+ /***/ 52:
252
599
  /***/ (function(module, exports) {
253
600
 
254
601
  module.exports = require("element-ui/lib/dropdown-menu");
@@ -394,7 +741,7 @@ var sequence_component = Object(componentNormalizer["a" /* default */])(
394
741
 
395
742
  /* harmony default export */ var sequence = (sequence_component.exports);
396
743
  // EXTERNAL MODULE: external "element-ui/lib/radio"
397
- var radio_ = __webpack_require__(24);
744
+ var radio_ = __webpack_require__(25);
398
745
  var radio_default = /*#__PURE__*/__webpack_require__.n(radio_);
399
746
 
400
747
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/column/selection.vue?vue&type=script&lang=js&
@@ -525,7 +872,7 @@ datevue_type_template_id_3d682315_render._withStripped = true
525
872
  // CONCATENATED MODULE: ./src/components/table/src/column/date.vue?vue&type=template&id=3d682315&
526
873
 
527
874
  // EXTERNAL MODULE: external "dayjs"
528
- var external_dayjs_ = __webpack_require__(29);
875
+ var external_dayjs_ = __webpack_require__(30);
529
876
  var external_dayjs_default = /*#__PURE__*/__webpack_require__.n(external_dayjs_);
530
877
 
531
878
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/column/date.vue?vue&type=script&lang=js&
@@ -712,15 +1059,15 @@ var dict_component = Object(componentNormalizer["a" /* default */])(
712
1059
 
713
1060
  /* harmony default export */ var dict = (dict_component.exports);
714
1061
  // EXTERNAL MODULE: external "element-ui/lib/dropdown"
715
- var dropdown_ = __webpack_require__(49);
1062
+ var dropdown_ = __webpack_require__(50);
716
1063
  var dropdown_default = /*#__PURE__*/__webpack_require__.n(dropdown_);
717
1064
 
718
1065
  // EXTERNAL MODULE: external "element-ui/lib/dropdown-item"
719
- var dropdown_item_ = __webpack_require__(50);
1066
+ var dropdown_item_ = __webpack_require__(51);
720
1067
  var dropdown_item_default = /*#__PURE__*/__webpack_require__.n(dropdown_item_);
721
1068
 
722
1069
  // EXTERNAL MODULE: external "element-ui/lib/dropdown-menu"
723
- var dropdown_menu_ = __webpack_require__(51);
1070
+ var dropdown_menu_ = __webpack_require__(52);
724
1071
  var dropdown_menu_default = /*#__PURE__*/__webpack_require__.n(dropdown_menu_);
725
1072
 
726
1073
  // EXTERNAL MODULE: external "element-ui/lib/button"
@@ -728,9 +1075,12 @@ var button_ = __webpack_require__(4);
728
1075
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
729
1076
 
730
1077
  // EXTERNAL MODULE: external "element-ui/lib/link"
731
- var link_ = __webpack_require__(30);
1078
+ var link_ = __webpack_require__(31);
732
1079
  var link_default = /*#__PURE__*/__webpack_require__.n(link_);
733
1080
 
1081
+ // EXTERNAL MODULE: ./src/utils/index.js + 2 modules
1082
+ var utils = __webpack_require__(19);
1083
+
734
1084
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/column/operate.vue?vue&type=script&lang=js&
735
1085
 
736
1086
 
@@ -745,6 +1095,7 @@ var link_default = /*#__PURE__*/__webpack_require__.n(link_);
745
1095
 
746
1096
 
747
1097
 
1098
+
748
1099
  /* harmony default export */ var operatevue_type_script_lang_js_ = ({
749
1100
  name: "Operate",
750
1101
  props: {
@@ -780,6 +1131,13 @@ var link_default = /*#__PURE__*/__webpack_require__.n(link_);
780
1131
  }, this.item);
781
1132
  }
782
1133
  },
1134
+ created: function created() {
1135
+ this.items.filter(function (row) {
1136
+ if (!row.key) {
1137
+ row.key = Object(utils["d" /* uuid */])();
1138
+ }
1139
+ });
1140
+ },
783
1141
  methods: {
784
1142
  renderItems: function renderItems(h, scoped) {
785
1143
  var _this = this;
@@ -821,7 +1179,9 @@ var link_default = /*#__PURE__*/__webpack_require__.n(link_);
821
1179
  slots: cloneItem.slots,
822
1180
  scopedSlots: cloneItem.slots
823
1181
  };
824
- return h(cloneItem.control, babel_helper_vue_jsx_merge_props_default()([{}, param]));
1182
+ return h(cloneItem.control, babel_helper_vue_jsx_merge_props_default()([{}, param, {
1183
+ "key": itemRow.key
1184
+ }]));
825
1185
  },
826
1186
  moreVNode: function moreVNode(moreItems, scoped) {
827
1187
  var _this2 = this;
@@ -846,7 +1206,7 @@ var link_default = /*#__PURE__*/__webpack_require__.n(link_);
846
1206
  "slot": "dropdown"
847
1207
  }, [moreItems.map(function (row, index) {
848
1208
  return h("el-dropdown-item", {
849
- "key": index,
1209
+ "key": row.key || index,
850
1210
  "attrs": {
851
1211
  "command": row
852
1212
  }