@panpanzhao/component-ui 0.0.53 → 1.0.1

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.
Files changed (36) hide show
  1. package/lib/component-ui.common.js +1738 -556
  2. package/lib/components/crud.js +545 -292
  3. package/lib/components/dialog.js +44 -13
  4. package/lib/components/drawer.js +10 -10
  5. package/lib/components/form-dialog.js +242 -140
  6. package/lib/components/form-drawer.js +112 -45
  7. package/lib/components/form-group.js +105 -37
  8. package/lib/components/form-input.js +804 -94
  9. package/lib/components/form-item.js +19 -8
  10. package/lib/components/form-query.js +24 -9
  11. package/lib/components/form-view-dialog.js +94 -33
  12. package/lib/components/form-view-group.js +75 -18
  13. package/lib/components/form-view.js +7 -2
  14. package/lib/components/form.js +20 -10
  15. package/lib/components/formula.js +23 -23
  16. package/lib/components/table-column.js +47 -47
  17. package/lib/components/table-editable.js +22 -23
  18. package/lib/components/table-operate.js +354 -191
  19. package/lib/components/table-search.js +23 -17
  20. package/lib/components/table.js +22 -23
  21. package/lib/components/tree-line.js +272 -0
  22. package/lib/index.js +1 -1
  23. package/lib/styles/component-ui.css +2 -2
  24. package/lib/styles/dialog.css +1 -1
  25. package/lib/styles/form-item.css +1 -0
  26. package/lib/styles/form-view.css +1 -1
  27. package/lib/styles/index.css +2 -2
  28. package/lib/styles/tree-line.css +1 -0
  29. package/lib/styles/upload-process.css +1 -0
  30. package/lib/utils/formula/doc.js +2 -3
  31. package/lib/utils/formula/evalutor.js +4 -3
  32. package/lib/utils/formula/filter.js +1 -2
  33. package/lib/utils/formula/function.js +1 -2
  34. package/lib/utils/formula/lexer.js +1 -4
  35. package/lib/utils/helper.js +3 -5
  36. package/package.json +5 -2
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 75);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 76);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -199,28 +199,28 @@ module.exports = require("element-ui/lib/button");
199
199
 
200
200
  /***/ }),
201
201
 
202
- /***/ 59:
202
+ /***/ 60:
203
203
  /***/ (function(module, exports) {
204
204
 
205
205
  module.exports = require("@panpanzhao/component-ui/lib/components/form-query");
206
206
 
207
207
  /***/ }),
208
208
 
209
- /***/ 60:
209
+ /***/ 61:
210
210
  /***/ (function(module, exports) {
211
211
 
212
212
  module.exports = require("@panpanzhao/component-ui/lib/components/table");
213
213
 
214
214
  /***/ }),
215
215
 
216
- /***/ 75:
216
+ /***/ 76:
217
217
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
218
218
 
219
219
  "use strict";
220
220
  // ESM COMPAT FLAG
221
221
  __webpack_require__.r(__webpack_exports__);
222
222
 
223
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=template&id=5b97226c&
223
+ // CONCATENATED MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=template&id=1e4d345a
224
224
  var render = function render() {
225
225
  var _vm = this,
226
226
  _c = _vm._self._c
@@ -352,25 +352,25 @@ var staticRenderFns = []
352
352
  render._withStripped = true
353
353
 
354
354
 
355
- // CONCATENATED MODULE: ./src/components/table-search/src/index.vue?vue&type=template&id=5b97226c&
355
+ // CONCATENATED MODULE: ./src/components/table-search/src/index.vue?vue&type=template&id=1e4d345a
356
356
 
357
357
  // EXTERNAL MODULE: external "element-ui/lib/button"
358
358
  var button_ = __webpack_require__(5);
359
359
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
360
360
 
361
361
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/form-query"
362
- var form_query_ = __webpack_require__(59);
362
+ var form_query_ = __webpack_require__(60);
363
363
  var form_query_default = /*#__PURE__*/__webpack_require__.n(form_query_);
364
364
 
365
365
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table"
366
- var table_ = __webpack_require__(60);
366
+ var table_ = __webpack_require__(61);
367
367
  var table_default = /*#__PURE__*/__webpack_require__.n(table_);
368
368
 
369
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=script&lang=js&
369
+ // CONCATENATED MODULE: ./node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.23.9_webpack@4.47.0/node_modules/babel-loader/lib!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=script&lang=js
370
370
 
371
371
 
372
372
 
373
- /* harmony default export */ var srcvue_type_script_lang_js_ = ({
373
+ /* harmony default export */ var srcvue_type_script_lang_js = ({
374
374
  name: "TableSearch",
375
375
  componentName: "TableSearch",
376
376
  components: {
@@ -380,15 +380,21 @@ var table_default = /*#__PURE__*/__webpack_require__.n(table_);
380
380
  },
381
381
  props: {
382
382
  request: Function,
383
- search: Object,
383
+ search: {
384
+ type: Object,
385
+ default: function _default() {
386
+ return {};
387
+ }
388
+ },
384
389
  table: Object
385
390
  },
386
391
  computed: {
387
392
  formProps: function formProps() {
388
393
  return Object.assign({
389
394
  formModel: this.searchData,
390
- showHiddenNum: true
391
- }, this.search.form);
395
+ showHiddenNum: true,
396
+ on: this.search.on
397
+ }, this.search && this.search.form);
392
398
  },
393
399
  tableProps: function tableProps() {
394
400
  var table = Object.assign({
@@ -441,9 +447,9 @@ var table_default = /*#__PURE__*/__webpack_require__.n(table_);
441
447
  }
442
448
  }
443
449
  });
444
- // CONCATENATED MODULE: ./src/components/table-search/src/index.vue?vue&type=script&lang=js&
445
- /* harmony default export */ var table_search_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_);
446
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
450
+ // CONCATENATED MODULE: ./src/components/table-search/src/index.vue?vue&type=script&lang=js
451
+ /* harmony default export */ var table_search_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
452
+ // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js
447
453
  var componentNormalizer = __webpack_require__(1);
448
454
 
449
455
  // CONCATENATED MODULE: ./src/components/table-search/src/index.vue
@@ -455,7 +461,7 @@ var componentNormalizer = __webpack_require__(1);
455
461
  /* normalize component */
456
462
 
457
463
  var component = Object(componentNormalizer["a" /* default */])(
458
- table_search_srcvue_type_script_lang_js_,
464
+ table_search_srcvue_type_script_lang_js,
459
465
  render,
460
466
  staticRenderFns,
461
467
  false,
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 74);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 75);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -199,7 +199,7 @@ function normalizeComponent(
199
199
 
200
200
  /***/ }),
201
201
 
202
- /***/ 17:
202
+ /***/ 18:
203
203
  /***/ (function(module, exports) {
204
204
 
205
205
  module.exports = require("@panpanzhao/component-ui/lib/utils/index");
@@ -220,7 +220,7 @@ module.exports = require("element-ui/lib/table-column");
220
220
 
221
221
  /***/ }),
222
222
 
223
- /***/ 28:
223
+ /***/ 29:
224
224
  /***/ (function(module, exports) {
225
225
 
226
226
  module.exports = require("@panpanzhao/component-ui/lib/components/table-column");
@@ -234,7 +234,7 @@ module.exports = require("@panpanzhao/component-ui/lib/utils/formula");
234
234
 
235
235
  /***/ }),
236
236
 
237
- /***/ 31:
237
+ /***/ 32:
238
238
  /***/ (function(module, exports) {
239
239
 
240
240
  module.exports = require("element-ui/lib/table");
@@ -248,22 +248,22 @@ module.exports = require("element-ui/lib/button");
248
248
 
249
249
  /***/ }),
250
250
 
251
- /***/ 55:
251
+ /***/ 56:
252
252
  /***/ (function(module, exports) {
253
253
 
254
254
  module.exports = require("element-ui/lib/pagination");
255
255
 
256
256
  /***/ }),
257
257
 
258
- /***/ 74:
258
+ /***/ 75:
259
259
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
260
260
 
261
261
  "use strict";
262
262
  // ESM COMPAT FLAG
263
263
  __webpack_require__.r(__webpack_exports__);
264
264
 
265
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/table.vue?vue&type=template&id=148cbb91&
266
- var tablevue_type_template_id_148cbb91_render = function render() {
265
+ // CONCATENATED MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/table.vue?vue&type=template&id=1a5269fa
266
+ var tablevue_type_template_id_1a5269fa_render = function render() {
267
267
  var _vm = this,
268
268
  _c = _vm._self._c
269
269
  return _c("div", { staticClass: "table" }, [
@@ -342,10 +342,10 @@ var tablevue_type_template_id_148cbb91_render = function render() {
342
342
  ])
343
343
  }
344
344
  var staticRenderFns = []
345
- tablevue_type_template_id_148cbb91_render._withStripped = true
345
+ tablevue_type_template_id_1a5269fa_render._withStripped = true
346
346
 
347
347
 
348
- // CONCATENATED MODULE: ./src/components/table/src/table.vue?vue&type=template&id=148cbb91&
348
+ // CONCATENATED MODULE: ./src/components/table/src/table.vue?vue&type=template&id=1a5269fa
349
349
 
350
350
  // EXTERNAL MODULE: external "@vue/babel-helper-vue-jsx-merge-props"
351
351
  var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
@@ -356,7 +356,7 @@ var button_ = __webpack_require__(5);
356
356
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
357
357
 
358
358
  // EXTERNAL MODULE: external "element-ui/lib/table"
359
- var table_ = __webpack_require__(31);
359
+ var table_ = __webpack_require__(32);
360
360
  var table_default = /*#__PURE__*/__webpack_require__.n(table_);
361
361
 
362
362
  // EXTERNAL MODULE: external "element-ui/lib/table-column"
@@ -364,23 +364,23 @@ var table_column_ = __webpack_require__(20);
364
364
  var table_column_default = /*#__PURE__*/__webpack_require__.n(table_column_);
365
365
 
366
366
  // EXTERNAL MODULE: external "element-ui/lib/pagination"
367
- var pagination_ = __webpack_require__(55);
367
+ var pagination_ = __webpack_require__(56);
368
368
  var pagination_default = /*#__PURE__*/__webpack_require__.n(pagination_);
369
369
 
370
370
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table-column"
371
- var components_table_column_ = __webpack_require__(28);
371
+ var components_table_column_ = __webpack_require__(29);
372
372
  var components_table_column_default = /*#__PURE__*/__webpack_require__.n(components_table_column_);
373
373
 
374
374
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
375
375
  var formula_ = __webpack_require__(3);
376
376
 
377
377
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/index"
378
- var index_ = __webpack_require__(17);
378
+ var index_ = __webpack_require__(18);
379
379
 
380
380
  // EXTERNAL MODULE: external "lodash"
381
381
  var external_lodash_ = __webpack_require__(2);
382
382
 
383
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/table.vue?vue&type=script&lang=js&
383
+ // CONCATENATED MODULE: ./node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.23.9_webpack@4.47.0/node_modules/babel-loader/lib!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/table.vue?vue&type=script&lang=js
384
384
 
385
385
 
386
386
 
@@ -390,7 +390,7 @@ var external_lodash_ = __webpack_require__(2);
390
390
 
391
391
 
392
392
 
393
- /* harmony default export */ var tablevue_type_script_lang_js_ = ({
393
+ /* harmony default export */ var tablevue_type_script_lang_js = ({
394
394
  name: "Table",
395
395
  componentName: "Table",
396
396
  components: {
@@ -598,7 +598,6 @@ var external_lodash_ = __webpack_require__(2);
598
598
  _this3.$refs.table.toggleRowSelection(row); // 点击选中
599
599
  }
600
600
  }
601
-
602
601
  _this3.$emit("row-click", row);
603
602
  if (typeof _this3.on["row-click"] === "function") {
604
603
  _this3.on["row-click"].call(_this3, row);
@@ -608,7 +607,7 @@ var external_lodash_ = __webpack_require__(2);
608
607
  _this3.selection = selection;
609
608
  _this3.$emit("selection-change", selection);
610
609
  if (typeof _this3.on["selection-change"] === "function") {
611
- _this3.on["selection-change"].call(_this3, row);
610
+ _this3.on["selection-change"].call(_this3, selection);
612
611
  }
613
612
  }
614
613
  });
@@ -708,9 +707,9 @@ var external_lodash_ = __webpack_require__(2);
708
707
  }
709
708
  }
710
709
  });
711
- // CONCATENATED MODULE: ./src/components/table/src/table.vue?vue&type=script&lang=js&
712
- /* harmony default export */ var src_tablevue_type_script_lang_js_ = (tablevue_type_script_lang_js_);
713
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
710
+ // CONCATENATED MODULE: ./src/components/table/src/table.vue?vue&type=script&lang=js
711
+ /* harmony default export */ var src_tablevue_type_script_lang_js = (tablevue_type_script_lang_js);
712
+ // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_css-loader@2.1.1_lodash@4.17.21_vue-template-compiler@2.7.16_webpack@4.47.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js
714
713
  var componentNormalizer = __webpack_require__(1);
715
714
 
716
715
  // CONCATENATED MODULE: ./src/components/table/src/table.vue
@@ -722,8 +721,8 @@ var componentNormalizer = __webpack_require__(1);
722
721
  /* normalize component */
723
722
 
724
723
  var component = Object(componentNormalizer["a" /* default */])(
725
- src_tablevue_type_script_lang_js_,
726
- tablevue_type_template_id_148cbb91_render,
724
+ src_tablevue_type_script_lang_js,
725
+ tablevue_type_template_id_1a5269fa_render,
727
726
  staticRenderFns,
728
727
  false,
729
728
  null,
@@ -0,0 +1,272 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
+ /******/ }
42
+ /******/ };
43
+ /******/
44
+ /******/ // define __esModule on exports
45
+ /******/ __webpack_require__.r = function(exports) {
46
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ /******/ }
49
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
+ /******/ };
51
+ /******/
52
+ /******/ // create a fake namespace object
53
+ /******/ // mode & 1: value is a module id, require it
54
+ /******/ // mode & 2: merge all properties of value into the ns
55
+ /******/ // mode & 4: return value when already ns object
56
+ /******/ // mode & 8|1: behave like require
57
+ /******/ __webpack_require__.t = function(value, mode) {
58
+ /******/ if(mode & 1) value = __webpack_require__(value);
59
+ /******/ if(mode & 8) return value;
60
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
+ /******/ var ns = Object.create(null);
62
+ /******/ __webpack_require__.r(ns);
63
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
+ /******/ return ns;
66
+ /******/ };
67
+ /******/
68
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
69
+ /******/ __webpack_require__.n = function(module) {
70
+ /******/ var getter = module && module.__esModule ?
71
+ /******/ function getDefault() { return module['default']; } :
72
+ /******/ function getModuleExports() { return module; };
73
+ /******/ __webpack_require__.d(getter, 'a', getter);
74
+ /******/ return getter;
75
+ /******/ };
76
+ /******/
77
+ /******/ // Object.prototype.hasOwnProperty.call
78
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
+ /******/
80
+ /******/ // __webpack_public_path__
81
+ /******/ __webpack_require__.p = "/dist/";
82
+ /******/
83
+ /******/
84
+ /******/ // Load entry module and return exports
85
+ /******/ return __webpack_require__(__webpack_require__.s = 84);
86
+ /******/ })
87
+ /************************************************************************/
88
+ /******/ ({
89
+
90
+ /***/ 84:
91
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
+
93
+ "use strict";
94
+ // ESM COMPAT FLAG
95
+ __webpack_require__.r(__webpack_exports__);
96
+
97
+ // CONCATENATED MODULE: ./src/components/tree-line/src/index.js
98
+ 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); }
99
+ function getComConfig(h) {
100
+ return {
101
+ name: 'TreeLine',
102
+ props: {
103
+ node: {
104
+ type: Object,
105
+ required: true
106
+ },
107
+ data: {
108
+ type: Object
109
+ },
110
+ treeData: {
111
+ type: Array
112
+ },
113
+ indent: {
114
+ type: Number,
115
+ default: function _default() {
116
+ return 14;
117
+ }
118
+ },
119
+ showLabelLine: {
120
+ type: Boolean,
121
+ default: false
122
+ }
123
+ },
124
+ render: function render(createElement) {
125
+ debugger;
126
+ var $createElement = h || createElement;
127
+ // 自定义整行节点label区域
128
+ var scopeSlotDefault = this.getScopedSlot('default');
129
+ // 显示横线时自定义节点label区域
130
+ var labelSlot = this.getScopedSlot('node-label');
131
+ // 显示横线时追加在横线右边的内容
132
+ var afterLabelSlot = this.getScopedSlot('after-node-label');
133
+ var labelNodes = scopeSlotDefault ? this.getScopedSlotValue(scopeSlotDefault, {
134
+ node: this.node,
135
+ data: this.data
136
+ }) : [labelSlot ? this.getScopedSlotValue(labelSlot, {
137
+ node: this.node,
138
+ data: this.data
139
+ }) : $createElement('span', {
140
+ class: 'element-tree-node-label'
141
+ }, this.node.label), this.showLabelLine ? $createElement('span', {
142
+ class: 'element-tree-node-label-line'
143
+ }) : null, this.getScopedSlotValue(afterLabelSlot, {
144
+ node: this.node,
145
+ data: this.data
146
+ })];
147
+ // 取得每一层的当前节点是不是在当前层级列表的最后一个
148
+ var lastnodeArr = [];
149
+ var currentNode = this.node;
150
+ while (currentNode) {
151
+ var parentNode = currentNode.parent;
152
+ // 兼容element-plus的 el-tree-v2 (Virtualized Tree 虚拟树)
153
+ if (currentNode.level === 1 && !currentNode.parent) {
154
+ // el-tree-v2的第一层node是没有parent的,必需 treeData 创建一个parent
155
+ if (!this.treeData || !Array.isArray(this.treeData)) {
156
+ throw Error('if you using el-tree-v2 (Virtualized Tree) of element-plus,element-tree-line required data.');
157
+ }
158
+ parentNode = {
159
+ children: Array.isArray(this.treeData) ? this.treeData.map(function (item) {
160
+ return _extends({}, item, {
161
+ key: item.id
162
+ });
163
+ }) : [],
164
+ level: 0,
165
+ key: 'node-0',
166
+ parent: null
167
+ };
168
+ }
169
+ if (parentNode) {
170
+ // element-plus的 el-tree-v2 使用的是children和key, 其他使用的是 childNodes和id
171
+ var index = (parentNode.children || parentNode.childNodes).findIndex(function (item) {
172
+ return (item.key || item.id) === (currentNode.key || currentNode.id);
173
+ });
174
+ lastnodeArr.unshift(index === (parentNode.children || parentNode.childNodes).length - 1);
175
+ }
176
+ currentNode = parentNode;
177
+ }
178
+ var lineNodes = [];
179
+ for (var i = 0; i < this.node.level; i++) {
180
+ if (lastnodeArr[i] && this.node.level - 1 !== i) {
181
+ continue;
182
+ }
183
+ lineNodes.push($createElement('span', {
184
+ class: {
185
+ 'element-tree-node-line-ver': true,
186
+ 'last-node-isLeaf-line': lastnodeArr[i] && this.node.level - 1 === i
187
+ },
188
+ style: {
189
+ left: this.indent * i + 'px'
190
+ }
191
+ }));
192
+ }
193
+ return $createElement('span', {
194
+ class: 'element-tree-node-label-wrapper'
195
+ }, [labelNodes].concat(lineNodes).concat([$createElement('span', {
196
+ class: 'element-tree-node-line-hor',
197
+ style: {
198
+ width: (this.node.isLeaf ? 24 : 8) + 'px',
199
+ left: (this.node.level - 1) * this.indent + 'px'
200
+ }
201
+ })]));
202
+ },
203
+ methods: {
204
+ getScopedSlot: function getScopedSlot(slotName) {
205
+ if (!slotName) {
206
+ return null;
207
+ }
208
+ var slotNameSplits = slotName.split('||');
209
+ var scopeSlot = null;
210
+ for (var index = 0; index < slotNameSplits.length; index++) {
211
+ var name = slotNameSplits[index];
212
+ var slot = (this.$slots || {})[name];
213
+ if (slot) {
214
+ scopeSlot = slot;
215
+ break;
216
+ }
217
+ scopeSlot = (this.$scopedSlots || {})[name];
218
+ if (scopeSlot) {
219
+ break;
220
+ }
221
+ }
222
+ return scopeSlot;
223
+ },
224
+ getScopedSlotValue: function getScopedSlotValue(scopeSlot, scopedData, defaultNode) {
225
+ if (defaultNode === void 0) {
226
+ defaultNode = null;
227
+ }
228
+ if (typeof scopeSlot === 'function') {
229
+ return scopeSlot(scopedData) || defaultNode;
230
+ }
231
+ return scopeSlot || defaultNode;
232
+ }
233
+ }
234
+ };
235
+ }
236
+ function getElementLabelLine(h) {
237
+ debugger;
238
+ var conf = getComConfig(h);
239
+ if (h) {
240
+ conf.methods.getScopedSlot = function getScopedSlot(slotName) {
241
+ if (!slotName) {
242
+ return null;
243
+ }
244
+ var slotNameSplits = slotName.split('||');
245
+ var scopeSlot = null;
246
+ for (var index = 0; index < slotNameSplits.length; index++) {
247
+ var name = slotNameSplits[index];
248
+ var slot = (this.$slots || {})[name];
249
+ if (slot) {
250
+ scopeSlot = slot;
251
+ break;
252
+ }
253
+ }
254
+ return scopeSlot;
255
+ };
256
+ }
257
+ return conf;
258
+ }
259
+ var ElementLabelLine = getElementLabelLine();
260
+ /* harmony default export */ var src = (ElementLabelLine);
261
+ // CONCATENATED MODULE: ./src/components/tree-line/index.js
262
+
263
+
264
+ /* istanbul ignore next */
265
+ src.install = function (Vue) {
266
+ Vue.component(src.name, src);
267
+ };
268
+ /* harmony default export */ var tree_line = __webpack_exports__["default"] = (src);
269
+
270
+ /***/ })
271
+
272
+ /******/ });