n20-project-component 1.0.0 → 1.0.3
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.
- package/README.md +97 -51
- package/dist/n20-project-component.common.js +564 -28
- package/dist/n20-project-component.css +1 -1
- package/dist/n20-project-component.umd.js +564 -28
- package/dist/n20-project-component.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/components/N20BatchInput/index.vue +237 -0
- package/src/components/N20CopyText/index.vue +3 -41
- package/src/components/N20FloatingToolbar/index.vue +318 -0
- package/src/index.js +6 -0
|
@@ -87,30 +87,66 @@ module.exports =
|
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
89
89
|
|
|
90
|
-
/***/ "
|
|
90
|
+
/***/ "021e":
|
|
91
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
92
|
+
|
|
93
|
+
"use strict";
|
|
94
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1c0b7107_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f14e");
|
|
95
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1c0b7107_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1c0b7107_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
96
|
+
/* unused harmony reexport * */
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
/***/ }),
|
|
100
|
+
|
|
101
|
+
/***/ "141c":
|
|
91
102
|
/***/ (function(module, exports, __webpack_require__) {
|
|
92
103
|
|
|
93
104
|
// extracted by mini-css-extract-plugin
|
|
94
105
|
|
|
95
106
|
/***/ }),
|
|
96
107
|
|
|
97
|
-
/***/ "
|
|
108
|
+
/***/ "3f46":
|
|
98
109
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
99
110
|
|
|
100
111
|
"use strict";
|
|
101
|
-
/* harmony import */ var
|
|
102
|
-
/* harmony import */ var
|
|
112
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_35583176_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c5db");
|
|
113
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_35583176_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_35583176_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
103
114
|
/* unused harmony reexport * */
|
|
104
115
|
|
|
105
116
|
|
|
106
117
|
/***/ }),
|
|
107
118
|
|
|
108
|
-
/***/ "
|
|
119
|
+
/***/ "b006":
|
|
120
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
121
|
+
|
|
122
|
+
"use strict";
|
|
123
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_081f8b8a_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("141c");
|
|
124
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_081f8b8a_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_081f8b8a_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
125
|
+
/* unused harmony reexport * */
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
/***/ }),
|
|
129
|
+
|
|
130
|
+
/***/ "b553":
|
|
131
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
132
|
+
|
|
133
|
+
// extracted by mini-css-extract-plugin
|
|
134
|
+
|
|
135
|
+
/***/ }),
|
|
136
|
+
|
|
137
|
+
/***/ "c5db":
|
|
138
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
139
|
+
|
|
140
|
+
// extracted by mini-css-extract-plugin
|
|
141
|
+
|
|
142
|
+
/***/ }),
|
|
143
|
+
|
|
144
|
+
/***/ "e863":
|
|
109
145
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
110
146
|
|
|
111
147
|
"use strict";
|
|
112
|
-
/* harmony import */ var
|
|
113
|
-
/* harmony import */ var
|
|
148
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1b434c24_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b553");
|
|
149
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1b434c24_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1b434c24_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
114
150
|
/* unused harmony reexport * */
|
|
115
151
|
|
|
116
152
|
|
|
@@ -133,6 +169,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
133
169
|
// EXPORTS
|
|
134
170
|
__webpack_require__.d(__webpack_exports__, "DemoButton", function() { return /* reexport */ DemoButton; });
|
|
135
171
|
__webpack_require__.d(__webpack_exports__, "N20CopyText", function() { return /* reexport */ N20CopyText; });
|
|
172
|
+
__webpack_require__.d(__webpack_exports__, "N20FloatingToolbar", function() { return /* reexport */ N20FloatingToolbar; });
|
|
173
|
+
__webpack_require__.d(__webpack_exports__, "N20BatchInput", function() { return /* reexport */ N20BatchInput; });
|
|
136
174
|
|
|
137
175
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
|
|
138
176
|
// This file is imported into lib/wc client bundles.
|
|
@@ -150,7 +188,7 @@ if (typeof window !== 'undefined') {
|
|
|
150
188
|
// Indicate to webpack that this file can be concatenated
|
|
151
189
|
/* harmony default export */ var setPublicPath = (null);
|
|
152
190
|
|
|
153
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
191
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"45186dc4-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DemoButton/index.vue?vue&type=template&id=1c0b7107&scoped=true
|
|
154
192
|
var render = function render() {
|
|
155
193
|
var _vm = this,
|
|
156
194
|
_c = _vm._self._c;
|
|
@@ -174,7 +212,7 @@ var staticRenderFns = [];
|
|
|
174
212
|
|
|
175
213
|
// CONCATENATED MODULE: ./src/components/DemoButton/index.vue?vue&type=template&id=1c0b7107&scoped=true
|
|
176
214
|
|
|
177
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/
|
|
215
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DemoButton/index.vue?vue&type=script&lang=js
|
|
178
216
|
/**
|
|
179
217
|
* DemoButton - 示例按钮组件
|
|
180
218
|
*
|
|
@@ -347,8 +385,8 @@ var component = normalizeComponent(
|
|
|
347
385
|
)
|
|
348
386
|
|
|
349
387
|
/* harmony default export */ var DemoButton = (component.exports);
|
|
350
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
351
|
-
var
|
|
388
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"45186dc4-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/N20CopyText/index.vue?vue&type=template&id=35583176&scoped=true
|
|
389
|
+
var N20CopyTextvue_type_template_id_35583176_scoped_true_render = function render() {
|
|
352
390
|
var _vm = this,
|
|
353
391
|
_c = _vm._self._c;
|
|
354
392
|
return _c('span', {
|
|
@@ -369,23 +407,17 @@ var N20CopyTextvue_type_template_id_540c418a_scoped_true_render = function rende
|
|
|
369
407
|
style: {
|
|
370
408
|
order: _vm.iconPosition === 'left' ? -1 : 1
|
|
371
409
|
}
|
|
372
|
-
}) : _vm._e()
|
|
373
|
-
attrs: {
|
|
374
|
-
"name": "n20-copy-fade"
|
|
375
|
-
}
|
|
376
|
-
}, [_vm.copied ? _c('span', {
|
|
377
|
-
staticClass: "n20-copy-text__tip"
|
|
378
|
-
}, [_vm._v(_vm._s(_vm.successTip))]) : _vm._e()])], 1);
|
|
410
|
+
}) : _vm._e()]);
|
|
379
411
|
};
|
|
380
|
-
var
|
|
412
|
+
var N20CopyTextvue_type_template_id_35583176_scoped_true_staticRenderFns = [];
|
|
381
413
|
|
|
382
|
-
// CONCATENATED MODULE: ./src/components/N20CopyText/index.vue?vue&type=template&id=
|
|
414
|
+
// CONCATENATED MODULE: ./src/components/N20CopyText/index.vue?vue&type=template&id=35583176&scoped=true
|
|
383
415
|
|
|
384
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/
|
|
416
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/N20CopyText/index.vue?vue&type=script&lang=js
|
|
385
417
|
/**
|
|
386
418
|
* N20CopyText - 点击复制文本组件
|
|
387
419
|
*
|
|
388
|
-
*
|
|
420
|
+
* 点击后将指定文本复制到剪贴板,通过 Element Message 显示成功反馈。
|
|
389
421
|
*
|
|
390
422
|
* @example
|
|
391
423
|
* <N20CopyText :text="row.billNo">{{ row.billNo }}</N20CopyText>
|
|
@@ -453,11 +485,13 @@ var N20CopyTextvue_type_template_id_540c418a_scoped_true_staticRenderFns = [];
|
|
|
453
485
|
document.body.removeChild(textarea);
|
|
454
486
|
}
|
|
455
487
|
this.copied = true;
|
|
488
|
+
this.$message.success(this.successTip);
|
|
456
489
|
this.$emit('copy', String(copyText));
|
|
457
490
|
this.timer = setTimeout(() => {
|
|
458
491
|
this.copied = false;
|
|
459
492
|
}, 2000);
|
|
460
493
|
} catch (err) {
|
|
494
|
+
this.$message.error('复制失败');
|
|
461
495
|
this.$emit('error', err);
|
|
462
496
|
}
|
|
463
497
|
}
|
|
@@ -465,8 +499,8 @@ var N20CopyTextvue_type_template_id_540c418a_scoped_true_staticRenderFns = [];
|
|
|
465
499
|
});
|
|
466
500
|
// CONCATENATED MODULE: ./src/components/N20CopyText/index.vue?vue&type=script&lang=js
|
|
467
501
|
/* harmony default export */ var components_N20CopyTextvue_type_script_lang_js = (N20CopyTextvue_type_script_lang_js);
|
|
468
|
-
// EXTERNAL MODULE: ./src/components/N20CopyText/index.vue?vue&type=style&index=0&id=
|
|
469
|
-
var
|
|
502
|
+
// EXTERNAL MODULE: ./src/components/N20CopyText/index.vue?vue&type=style&index=0&id=35583176&prod&lang=scss&scoped=true
|
|
503
|
+
var N20CopyTextvue_type_style_index_0_id_35583176_prod_lang_scss_scoped_true = __webpack_require__("3f46");
|
|
470
504
|
|
|
471
505
|
// CONCATENATED MODULE: ./src/components/N20CopyText/index.vue
|
|
472
506
|
|
|
@@ -479,16 +513,514 @@ var N20CopyTextvue_type_style_index_0_id_540c418a_prod_lang_scss_scoped_true = _
|
|
|
479
513
|
|
|
480
514
|
var N20CopyText_component = normalizeComponent(
|
|
481
515
|
components_N20CopyTextvue_type_script_lang_js,
|
|
482
|
-
|
|
483
|
-
|
|
516
|
+
N20CopyTextvue_type_template_id_35583176_scoped_true_render,
|
|
517
|
+
N20CopyTextvue_type_template_id_35583176_scoped_true_staticRenderFns,
|
|
484
518
|
false,
|
|
485
519
|
null,
|
|
486
|
-
"
|
|
520
|
+
"35583176",
|
|
487
521
|
null
|
|
488
522
|
|
|
489
523
|
)
|
|
490
524
|
|
|
491
525
|
/* harmony default export */ var N20CopyText = (N20CopyText_component.exports);
|
|
526
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"45186dc4-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/N20FloatingToolbar/index.vue?vue&type=template&id=1b434c24&scoped=true
|
|
527
|
+
var N20FloatingToolbarvue_type_template_id_1b434c24_scoped_true_render = function render() {
|
|
528
|
+
var _vm = this,
|
|
529
|
+
_c = _vm._self._c;
|
|
530
|
+
return _c('div', {
|
|
531
|
+
ref: "wrapper",
|
|
532
|
+
staticClass: "n20-floating-toolbar-wrapper",
|
|
533
|
+
on: {
|
|
534
|
+
"mouseup": _vm.handleMouseUp
|
|
535
|
+
}
|
|
536
|
+
}, [_vm._t("default"), _c('transition', {
|
|
537
|
+
attrs: {
|
|
538
|
+
"name": "n20-toolbar-fade"
|
|
539
|
+
}
|
|
540
|
+
}, [_vm.visible ? _c('div', {
|
|
541
|
+
ref: "toolbar",
|
|
542
|
+
staticClass: "n20-floating-toolbar",
|
|
543
|
+
style: _vm.toolbarStyle,
|
|
544
|
+
on: {
|
|
545
|
+
"mousedown": function ($event) {
|
|
546
|
+
$event.preventDefault();
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}, [_c('div', {
|
|
550
|
+
staticClass: "n20-floating-toolbar__arrow"
|
|
551
|
+
}), _c('div', {
|
|
552
|
+
staticClass: "n20-floating-toolbar__body"
|
|
553
|
+
}, [_vm._l(_vm.actions, function (btn, idx) {
|
|
554
|
+
return _c('button', {
|
|
555
|
+
key: idx,
|
|
556
|
+
staticClass: "n20-floating-toolbar__btn",
|
|
557
|
+
attrs: {
|
|
558
|
+
"title": btn.label
|
|
559
|
+
},
|
|
560
|
+
on: {
|
|
561
|
+
"click": function ($event) {
|
|
562
|
+
$event.stopPropagation();
|
|
563
|
+
return _vm.handleAction(btn, idx);
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
}, [btn.icon ? _c('i', {
|
|
567
|
+
class: btn.icon
|
|
568
|
+
}) : _vm._e(), btn.label && _vm.showLabel ? _c('span', [_vm._v(_vm._s(btn.label))]) : _vm._e()]);
|
|
569
|
+
}), _vm._t("toolbar", null, {
|
|
570
|
+
"selectedText": _vm.selectedText
|
|
571
|
+
})], 2)]) : _vm._e()])], 2);
|
|
572
|
+
};
|
|
573
|
+
var N20FloatingToolbarvue_type_template_id_1b434c24_scoped_true_staticRenderFns = [];
|
|
574
|
+
|
|
575
|
+
// CONCATENATED MODULE: ./src/components/N20FloatingToolbar/index.vue?vue&type=template&id=1b434c24&scoped=true
|
|
576
|
+
|
|
577
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/N20FloatingToolbar/index.vue?vue&type=script&lang=js
|
|
578
|
+
/**
|
|
579
|
+
* N20FloatingToolbar — 选中浮现工具栏
|
|
580
|
+
*
|
|
581
|
+
* 包裹内容区域,用户选中文字后在选区上方浮现操作按钮条。
|
|
582
|
+
* 鼠标拖选文字松开后,选区上方浮现深色工具条,
|
|
583
|
+
* 点击按钮触发事件,点其他地方消失。
|
|
584
|
+
*
|
|
585
|
+
* @example
|
|
586
|
+
* <N20FloatingToolbar
|
|
587
|
+
* :actions="[
|
|
588
|
+
* { label: '复制', icon: 'el-icon-document-copy' },
|
|
589
|
+
* { label: '搜索', icon: 'el-icon-search' },
|
|
590
|
+
* { label: '高亮', icon: 'el-icon-edit' },
|
|
591
|
+
* ]"
|
|
592
|
+
* @action="handleToolbarAction"
|
|
593
|
+
* >
|
|
594
|
+
* <p>这里是一段可以被选中的文本内容...</p>
|
|
595
|
+
* </N20FloatingToolbar>
|
|
596
|
+
*/
|
|
597
|
+
/* harmony default export */ var N20FloatingToolbarvue_type_script_lang_js = ({
|
|
598
|
+
name: 'N20FloatingToolbar',
|
|
599
|
+
props: {
|
|
600
|
+
/**
|
|
601
|
+
* 工具栏按钮列表
|
|
602
|
+
* 每项 { label: string, icon?: string, command?: string }
|
|
603
|
+
*/
|
|
604
|
+
actions: {
|
|
605
|
+
type: Array,
|
|
606
|
+
default: () => [{
|
|
607
|
+
label: '复制',
|
|
608
|
+
icon: 'el-icon-document-copy',
|
|
609
|
+
command: 'copy'
|
|
610
|
+
}, {
|
|
611
|
+
label: '搜索',
|
|
612
|
+
icon: 'el-icon-search',
|
|
613
|
+
command: 'search'
|
|
614
|
+
}, {
|
|
615
|
+
label: '高亮',
|
|
616
|
+
icon: 'el-icon-edit',
|
|
617
|
+
command: 'highlight'
|
|
618
|
+
}]
|
|
619
|
+
},
|
|
620
|
+
/** 是否在按钮中显示文字标签 */
|
|
621
|
+
showLabel: {
|
|
622
|
+
type: Boolean,
|
|
623
|
+
default: true
|
|
624
|
+
},
|
|
625
|
+
/** 工具栏与选区的垂直间距(px) */
|
|
626
|
+
offset: {
|
|
627
|
+
type: Number,
|
|
628
|
+
default: 8
|
|
629
|
+
},
|
|
630
|
+
/** 是否禁用 */
|
|
631
|
+
disabled: {
|
|
632
|
+
type: Boolean,
|
|
633
|
+
default: false
|
|
634
|
+
},
|
|
635
|
+
/** 选中最少字符数才触发 */
|
|
636
|
+
minLength: {
|
|
637
|
+
type: Number,
|
|
638
|
+
default: 1
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
data() {
|
|
642
|
+
return {
|
|
643
|
+
visible: false,
|
|
644
|
+
selectedText: '',
|
|
645
|
+
toolbarStyle: {
|
|
646
|
+
top: '0px',
|
|
647
|
+
left: '0px'
|
|
648
|
+
}
|
|
649
|
+
};
|
|
650
|
+
},
|
|
651
|
+
mounted() {
|
|
652
|
+
// 监听全局点击 → 隐藏工具栏
|
|
653
|
+
this._onDocClick = e => {
|
|
654
|
+
if (this.visible && this.$refs.toolbar && !this.$refs.toolbar.contains(e.target)) {
|
|
655
|
+
this.hide();
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
// 监听滚动 → 隐藏工具栏
|
|
659
|
+
this._onScroll = () => {
|
|
660
|
+
if (this.visible) {
|
|
661
|
+
this.hide();
|
|
662
|
+
}
|
|
663
|
+
};
|
|
664
|
+
document.addEventListener('mousedown', this._onDocClick, true);
|
|
665
|
+
window.addEventListener('scroll', this._onScroll, true);
|
|
666
|
+
},
|
|
667
|
+
beforeDestroy() {
|
|
668
|
+
document.removeEventListener('mousedown', this._onDocClick, true);
|
|
669
|
+
window.removeEventListener('scroll', this._onScroll, true);
|
|
670
|
+
},
|
|
671
|
+
methods: {
|
|
672
|
+
/** 鼠标松开时判断是否有选区 */
|
|
673
|
+
handleMouseUp() {
|
|
674
|
+
if (this.disabled) return;
|
|
675
|
+
|
|
676
|
+
// 延迟一帧让浏览器完成选区更新
|
|
677
|
+
this.$nextTick(() => {
|
|
678
|
+
setTimeout(() => {
|
|
679
|
+
this.checkSelection();
|
|
680
|
+
}, 0);
|
|
681
|
+
});
|
|
682
|
+
},
|
|
683
|
+
/** 检测当前选区 */
|
|
684
|
+
checkSelection() {
|
|
685
|
+
const selection = window.getSelection();
|
|
686
|
+
if (!selection || selection.isCollapsed || !selection.toString().trim()) {
|
|
687
|
+
this.hide();
|
|
688
|
+
return;
|
|
689
|
+
}
|
|
690
|
+
const text = selection.toString().trim();
|
|
691
|
+
if (text.length < this.minLength) {
|
|
692
|
+
this.hide();
|
|
693
|
+
return;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
// 确保选区在 wrapper 内
|
|
697
|
+
const wrapper = this.$refs.wrapper;
|
|
698
|
+
if (!wrapper) return;
|
|
699
|
+
const range = selection.getRangeAt(0);
|
|
700
|
+
if (!wrapper.contains(range.commonAncestorContainer)) {
|
|
701
|
+
this.hide();
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
this.selectedText = text;
|
|
705
|
+
this.positionToolbar(range);
|
|
706
|
+
this.visible = true;
|
|
707
|
+
},
|
|
708
|
+
/** 根据选区 Range 定位工具栏 */
|
|
709
|
+
positionToolbar(range) {
|
|
710
|
+
const rect = range.getBoundingClientRect();
|
|
711
|
+
const wrapperRect = this.$refs.wrapper.getBoundingClientRect();
|
|
712
|
+
|
|
713
|
+
// 工具栏居中于选区上方
|
|
714
|
+
const left = rect.left + rect.width / 2 - wrapperRect.left;
|
|
715
|
+
const top = rect.top - wrapperRect.top - this.offset;
|
|
716
|
+
this.toolbarStyle = {
|
|
717
|
+
left: `${left}px`,
|
|
718
|
+
top: `${top}px`
|
|
719
|
+
};
|
|
720
|
+
},
|
|
721
|
+
/** 点击按钮 */
|
|
722
|
+
handleAction(btn, idx) {
|
|
723
|
+
this.$emit('action', {
|
|
724
|
+
command: btn.command || btn.label,
|
|
725
|
+
label: btn.label,
|
|
726
|
+
index: idx,
|
|
727
|
+
text: this.selectedText
|
|
728
|
+
});
|
|
729
|
+
|
|
730
|
+
// 内置 copy 行为
|
|
731
|
+
if (btn.command === 'copy') {
|
|
732
|
+
this.doCopy(this.selectedText);
|
|
733
|
+
}
|
|
734
|
+
this.hide();
|
|
735
|
+
},
|
|
736
|
+
/** 复制文本到剪贴板 */
|
|
737
|
+
async doCopy(text) {
|
|
738
|
+
try {
|
|
739
|
+
if (navigator.clipboard && window.isSecureContext) {
|
|
740
|
+
await navigator.clipboard.writeText(text);
|
|
741
|
+
} else {
|
|
742
|
+
const textarea = document.createElement('textarea');
|
|
743
|
+
textarea.value = text;
|
|
744
|
+
textarea.style.position = 'fixed';
|
|
745
|
+
textarea.style.left = '-9999px';
|
|
746
|
+
document.body.appendChild(textarea);
|
|
747
|
+
textarea.select();
|
|
748
|
+
document.execCommand('copy');
|
|
749
|
+
document.body.removeChild(textarea);
|
|
750
|
+
}
|
|
751
|
+
this.$message && this.$message.success('已复制');
|
|
752
|
+
} catch (err) {
|
|
753
|
+
this.$message && this.$message.error('复制失败');
|
|
754
|
+
}
|
|
755
|
+
},
|
|
756
|
+
/** 隐藏工具栏 */
|
|
757
|
+
hide() {
|
|
758
|
+
this.visible = false;
|
|
759
|
+
this.selectedText = '';
|
|
760
|
+
},
|
|
761
|
+
/** 外部可调用:手动显示 */
|
|
762
|
+
show() {
|
|
763
|
+
this.checkSelection();
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
});
|
|
767
|
+
// CONCATENATED MODULE: ./src/components/N20FloatingToolbar/index.vue?vue&type=script&lang=js
|
|
768
|
+
/* harmony default export */ var components_N20FloatingToolbarvue_type_script_lang_js = (N20FloatingToolbarvue_type_script_lang_js);
|
|
769
|
+
// EXTERNAL MODULE: ./src/components/N20FloatingToolbar/index.vue?vue&type=style&index=0&id=1b434c24&prod&lang=scss&scoped=true
|
|
770
|
+
var N20FloatingToolbarvue_type_style_index_0_id_1b434c24_prod_lang_scss_scoped_true = __webpack_require__("e863");
|
|
771
|
+
|
|
772
|
+
// CONCATENATED MODULE: ./src/components/N20FloatingToolbar/index.vue
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
/* normalize component */
|
|
780
|
+
|
|
781
|
+
var N20FloatingToolbar_component = normalizeComponent(
|
|
782
|
+
components_N20FloatingToolbarvue_type_script_lang_js,
|
|
783
|
+
N20FloatingToolbarvue_type_template_id_1b434c24_scoped_true_render,
|
|
784
|
+
N20FloatingToolbarvue_type_template_id_1b434c24_scoped_true_staticRenderFns,
|
|
785
|
+
false,
|
|
786
|
+
null,
|
|
787
|
+
"1b434c24",
|
|
788
|
+
null
|
|
789
|
+
|
|
790
|
+
)
|
|
791
|
+
|
|
792
|
+
/* harmony default export */ var N20FloatingToolbar = (N20FloatingToolbar_component.exports);
|
|
793
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"45186dc4-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/N20BatchInput/index.vue?vue&type=template&id=081f8b8a&scoped=true
|
|
794
|
+
var N20BatchInputvue_type_template_id_081f8b8a_scoped_true_render = function render() {
|
|
795
|
+
var _vm = this,
|
|
796
|
+
_c = _vm._self._c;
|
|
797
|
+
return _c('div', {
|
|
798
|
+
staticClass: "n20-batch-input"
|
|
799
|
+
}, [_c('el-input', {
|
|
800
|
+
staticClass: "n20-batch-input__trigger",
|
|
801
|
+
attrs: {
|
|
802
|
+
"value": _vm.displayValue,
|
|
803
|
+
"placeholder": _vm.placeholder,
|
|
804
|
+
"disabled": _vm.disabled,
|
|
805
|
+
"readonly": ""
|
|
806
|
+
},
|
|
807
|
+
nativeOn: {
|
|
808
|
+
"click": function ($event) {
|
|
809
|
+
return _vm.handleOpen.apply(null, arguments);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
}, [_c('template', {
|
|
813
|
+
slot: "suffix"
|
|
814
|
+
}, [_c('span', {
|
|
815
|
+
staticClass: "n20-batch-input__suffix"
|
|
816
|
+
}, [_vm.value && !_vm.disabled ? _c('i', {
|
|
817
|
+
staticClass: "el-icon-circle-close n20-batch-input__clear",
|
|
818
|
+
on: {
|
|
819
|
+
"click": function ($event) {
|
|
820
|
+
$event.stopPropagation();
|
|
821
|
+
return _vm.handleClear.apply(null, arguments);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
}) : _vm._e(), _c('i', {
|
|
825
|
+
staticClass: "el-icon-edit-outline n20-batch-input__edit",
|
|
826
|
+
on: {
|
|
827
|
+
"click": function ($event) {
|
|
828
|
+
$event.stopPropagation();
|
|
829
|
+
return _vm.handleOpen.apply(null, arguments);
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
})])])], 2), _c('el-dialog', {
|
|
833
|
+
attrs: {
|
|
834
|
+
"title": _vm.dialogTitle,
|
|
835
|
+
"visible": _vm.dialogVisible,
|
|
836
|
+
"width": "520px",
|
|
837
|
+
"close-on-click-modal": false
|
|
838
|
+
},
|
|
839
|
+
on: {
|
|
840
|
+
"update:visible": function ($event) {
|
|
841
|
+
_vm.dialogVisible = $event;
|
|
842
|
+
},
|
|
843
|
+
"open": _vm.handleDialogOpen,
|
|
844
|
+
"closed": _vm.handleDialogClosed
|
|
845
|
+
}
|
|
846
|
+
}, [_c('div', {
|
|
847
|
+
staticClass: "n20-batch-input__body"
|
|
848
|
+
}, [_c('el-input', {
|
|
849
|
+
attrs: {
|
|
850
|
+
"type": "textarea",
|
|
851
|
+
"rows": 10,
|
|
852
|
+
"placeholder": _vm.textareaPlaceholder
|
|
853
|
+
},
|
|
854
|
+
on: {
|
|
855
|
+
"input": _vm.handleTextareaInput
|
|
856
|
+
},
|
|
857
|
+
model: {
|
|
858
|
+
value: _vm.draftText,
|
|
859
|
+
callback: function ($$v) {
|
|
860
|
+
_vm.draftText = $$v;
|
|
861
|
+
},
|
|
862
|
+
expression: "draftText"
|
|
863
|
+
}
|
|
864
|
+
}), _c('div', {
|
|
865
|
+
staticClass: "n20-batch-input__counter",
|
|
866
|
+
class: {
|
|
867
|
+
'is-over': _vm.isOverLimit
|
|
868
|
+
}
|
|
869
|
+
}, [_vm.isOverLimit ? _c('span', {
|
|
870
|
+
staticClass: "n20-batch-input__error"
|
|
871
|
+
}, [_vm._v(" 已超出最大条数 " + _vm._s(_vm.max) + ",请删减后提交 ")]) : _vm._e(), _c('span', {
|
|
872
|
+
staticClass: "n20-batch-input__count"
|
|
873
|
+
}, [_vm._v(" 当前 " + _vm._s(_vm.parsedItems.length) + " 条 / 最大 " + _vm._s(_vm.max) + " 条 ")])])], 1), _c('div', {
|
|
874
|
+
attrs: {
|
|
875
|
+
"slot": "footer"
|
|
876
|
+
},
|
|
877
|
+
slot: "footer"
|
|
878
|
+
}, [_c('el-button', {
|
|
879
|
+
on: {
|
|
880
|
+
"click": function ($event) {
|
|
881
|
+
_vm.dialogVisible = false;
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
}, [_vm._v("取 消")]), _c('el-button', {
|
|
885
|
+
attrs: {
|
|
886
|
+
"type": "primary",
|
|
887
|
+
"disabled": _vm.isOverLimit
|
|
888
|
+
},
|
|
889
|
+
on: {
|
|
890
|
+
"click": _vm.handleConfirm
|
|
891
|
+
}
|
|
892
|
+
}, [_vm._v(" 确 认 ")])], 1)])], 1);
|
|
893
|
+
};
|
|
894
|
+
var N20BatchInputvue_type_template_id_081f8b8a_scoped_true_staticRenderFns = [];
|
|
895
|
+
|
|
896
|
+
// CONCATENATED MODULE: ./src/components/N20BatchInput/index.vue?vue&type=template&id=081f8b8a&scoped=true
|
|
897
|
+
|
|
898
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/N20BatchInput/index.vue?vue&type=script&lang=js
|
|
899
|
+
/**
|
|
900
|
+
* N20BatchInput - 批量输入组件
|
|
901
|
+
*
|
|
902
|
+
* 点击输入框打开弹窗,支持从 Excel 粘贴内容,自动按换行/制表符/逗号拆分为多个条目。
|
|
903
|
+
* v-model 绑定逗号分隔的字符串。
|
|
904
|
+
*
|
|
905
|
+
* @example
|
|
906
|
+
* <N20BatchInput v-model="batchValue" :max="50" />
|
|
907
|
+
*/
|
|
908
|
+
/* harmony default export */ var N20BatchInputvue_type_script_lang_js = ({
|
|
909
|
+
name: 'N20BatchInput',
|
|
910
|
+
model: {
|
|
911
|
+
prop: 'value',
|
|
912
|
+
event: 'input'
|
|
913
|
+
},
|
|
914
|
+
props: {
|
|
915
|
+
/** v-model 绑定值,逗号分隔字符串 */
|
|
916
|
+
value: {
|
|
917
|
+
type: String,
|
|
918
|
+
default: ''
|
|
919
|
+
},
|
|
920
|
+
/** 最大条数限制 */
|
|
921
|
+
max: {
|
|
922
|
+
type: Number,
|
|
923
|
+
default: 100
|
|
924
|
+
},
|
|
925
|
+
/** 输入框占位符 */
|
|
926
|
+
placeholder: {
|
|
927
|
+
type: String,
|
|
928
|
+
default: '请输入'
|
|
929
|
+
},
|
|
930
|
+
/** 弹窗标题 */
|
|
931
|
+
dialogTitle: {
|
|
932
|
+
type: String,
|
|
933
|
+
default: '批量输入'
|
|
934
|
+
},
|
|
935
|
+
/** 文本域占位符 */
|
|
936
|
+
textareaPlaceholder: {
|
|
937
|
+
type: String,
|
|
938
|
+
default: '支持从 Excel 粘贴,每行 / 逗号 / Tab 自动识别为一条'
|
|
939
|
+
},
|
|
940
|
+
/** 是否禁用 */
|
|
941
|
+
disabled: {
|
|
942
|
+
type: Boolean,
|
|
943
|
+
default: false
|
|
944
|
+
}
|
|
945
|
+
},
|
|
946
|
+
data() {
|
|
947
|
+
return {
|
|
948
|
+
dialogVisible: false,
|
|
949
|
+
draftText: '',
|
|
950
|
+
parsedItems: []
|
|
951
|
+
};
|
|
952
|
+
},
|
|
953
|
+
computed: {
|
|
954
|
+
displayValue() {
|
|
955
|
+
return this.value || '';
|
|
956
|
+
},
|
|
957
|
+
isOverLimit() {
|
|
958
|
+
return this.parsedItems.length > this.max;
|
|
959
|
+
}
|
|
960
|
+
},
|
|
961
|
+
methods: {
|
|
962
|
+
handleOpen() {
|
|
963
|
+
if (this.disabled) return;
|
|
964
|
+
this.dialogVisible = true;
|
|
965
|
+
},
|
|
966
|
+
handleDialogOpen() {
|
|
967
|
+
// 将当前 value 还原为每行一条
|
|
968
|
+
if (this.value) {
|
|
969
|
+
const items = this.value.split(',').map(s => s.trim()).filter(Boolean);
|
|
970
|
+
this.draftText = items.join('\n');
|
|
971
|
+
this.parsedItems = items;
|
|
972
|
+
} else {
|
|
973
|
+
this.draftText = '';
|
|
974
|
+
this.parsedItems = [];
|
|
975
|
+
}
|
|
976
|
+
},
|
|
977
|
+
handleDialogClosed() {
|
|
978
|
+
this.draftText = '';
|
|
979
|
+
this.parsedItems = [];
|
|
980
|
+
},
|
|
981
|
+
handleTextareaInput(val) {
|
|
982
|
+
const items = val.split(/[\n\r\t,,]+/).map(s => s.trim()).filter(Boolean);
|
|
983
|
+
this.parsedItems = items;
|
|
984
|
+
},
|
|
985
|
+
handleConfirm() {
|
|
986
|
+
if (this.isOverLimit) return;
|
|
987
|
+
const result = this.parsedItems.join(',');
|
|
988
|
+
this.$emit('input', result);
|
|
989
|
+
this.$emit('change', result);
|
|
990
|
+
this.dialogVisible = false;
|
|
991
|
+
},
|
|
992
|
+
handleClear() {
|
|
993
|
+
this.$emit('input', '');
|
|
994
|
+
this.$emit('change', '');
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
});
|
|
998
|
+
// CONCATENATED MODULE: ./src/components/N20BatchInput/index.vue?vue&type=script&lang=js
|
|
999
|
+
/* harmony default export */ var components_N20BatchInputvue_type_script_lang_js = (N20BatchInputvue_type_script_lang_js);
|
|
1000
|
+
// EXTERNAL MODULE: ./src/components/N20BatchInput/index.vue?vue&type=style&index=0&id=081f8b8a&prod&scoped=true&lang=css
|
|
1001
|
+
var N20BatchInputvue_type_style_index_0_id_081f8b8a_prod_scoped_true_lang_css = __webpack_require__("b006");
|
|
1002
|
+
|
|
1003
|
+
// CONCATENATED MODULE: ./src/components/N20BatchInput/index.vue
|
|
1004
|
+
|
|
1005
|
+
|
|
1006
|
+
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
|
|
1010
|
+
/* normalize component */
|
|
1011
|
+
|
|
1012
|
+
var N20BatchInput_component = normalizeComponent(
|
|
1013
|
+
components_N20BatchInputvue_type_script_lang_js,
|
|
1014
|
+
N20BatchInputvue_type_template_id_081f8b8a_scoped_true_render,
|
|
1015
|
+
N20BatchInputvue_type_template_id_081f8b8a_scoped_true_staticRenderFns,
|
|
1016
|
+
false,
|
|
1017
|
+
null,
|
|
1018
|
+
"081f8b8a",
|
|
1019
|
+
null
|
|
1020
|
+
|
|
1021
|
+
)
|
|
1022
|
+
|
|
1023
|
+
/* harmony default export */ var N20BatchInput = (N20BatchInput_component.exports);
|
|
492
1024
|
// CONCATENATED MODULE: ./src/index.js
|
|
493
1025
|
/**
|
|
494
1026
|
* n20-project-component
|
|
@@ -499,10 +1031,14 @@ var N20CopyText_component = normalizeComponent(
|
|
|
499
1031
|
|
|
500
1032
|
|
|
501
1033
|
|
|
1034
|
+
|
|
1035
|
+
|
|
502
1036
|
// ========== 组件列表 ==========
|
|
503
1037
|
const components = {
|
|
504
1038
|
DemoButton: DemoButton,
|
|
505
|
-
N20CopyText: N20CopyText
|
|
1039
|
+
N20CopyText: N20CopyText,
|
|
1040
|
+
N20FloatingToolbar: N20FloatingToolbar,
|
|
1041
|
+
N20BatchInput: N20BatchInput
|
|
506
1042
|
};
|
|
507
1043
|
|
|
508
1044
|
// ========== 按需导出 ==========
|