iov-design 2.15.124 → 2.15.126
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/lib/dropdown.js +1 -1
- package/lib/index.js +1 -1
- package/lib/iov-design.common.js +57 -3
- package/lib/table.js +55 -1
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/dropdown.css +1 -1
- package/lib/theme-chalk/fonts/iovfont.ttf +0 -0
- package/lib/theme-chalk/fonts/iovfont.woff +0 -0
- package/lib/theme-chalk/fonts/iovfont.woff2 +0 -0
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/iovfont.css +1 -1
- package/package.json +1 -1
- package/packages/dropdown/src/dropdown.vue +1 -1
- package/packages/table/src/table-body.js +60 -1
- package/packages/theme-chalk/src/dropdown.scss +11 -0
- package/packages/theme-chalk/src/fonts/iovfont.ttf +0 -0
- package/packages/theme-chalk/src/fonts/iovfont.woff +0 -0
- package/packages/theme-chalk/src/fonts/iovfont.woff2 +0 -0
- package/packages/theme-chalk/src/iovfont.scss +7 -3
- package/src/index.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:iovfont;src:url(./fonts/iovfont.woff2?t=
|
|
1
|
+
@font-face{font-family:iovfont;src:url(./fonts/iovfont.woff2?t=1784019493607) format("woff2"),url(./fonts/iovfont.woff?t=1784019493607) format("woff"),url(./fonts/iovfont.ttf?t=1784019493607) format("truetype")}.iov-icon-diff:before{content:"\e727"}.iov-icon-partnership:before{content:"\e725"}.iov-icon-own:before{content:"\e726"}.iov-icon-ars:before{content:"\e723"}.iov-icon-afn:before{content:"\e724"}.iov-icon-fill-organize:before{content:"\e722"}.iov-icon-pdf:before{content:"\e71b"}.iov-icon-excel:before{content:"\e71c"}.iov-icon-zip:before{content:"\e71d"}.iov-icon-word:before{content:"\e71e"}.iov-icon-other:before{content:"\e71f"}.iov-icon-img:before{content:"\e720"}.iov-icon-ppt:before{content:"\e721"}.iov-icon-flash:before{content:"\e719"}.iov-icon-entity:before{content:"\e71a"}.iov-icon-push:before{content:"\e716"}.iov-icon-collapse:before{content:"\e717"}.iov-icon-sms:before{content:"\e718"}.iov-icon-payment:before{content:"\e713"}.iov-icon-charged:before{content:"\e714"}.iov-icon-file-preview:before{content:"\e715"}.iov-icon-cny:before{content:"\e708"}.iov-icon-usd:before{content:"\e709"}.iov-icon-thb:before{content:"\e70a"}.iov-icon-krw:before{content:"\e70b"}.iov-icon-aud:before{content:"\e70c"}.iov-icon-hkd:before{content:"\e70d"}.iov-icon-twd:before{content:"\e70e"}.iov-icon-gbp:before{content:"\e70f"}.iov-icon-eur:before{content:"\e710"}.iov-icon-cad:before{content:"\e711"}.iov-icon-sgd:before{content:"\e712"}.iov-icon-fill-track:before{content:"\e704"}.iov-icon-track:before{content:"\e705"}.iov-icon-strategy:before{content:"\e706"}.iov-icon-list:before{content:"\e707"}.iov-icon-card:before{content:"\e6ff"}.iov-icon-copy:before{content:"\e700"}.iov-icon-sort:before{content:"\e701"}.iov-icon-authorize:before{content:"\e702"}.iov-icon-authorize-custom:before{content:"\e703"}.iov-icon-bottle:before{content:"\e6fe"}.iov-icon-line-github:before{content:"\e6f8"}.iov-icon-sun:before{content:"\e6f9"}.iov-icon-panel:before{content:"\e6fa"}.iov-icon-fill-cube:before{content:"\e6fb"}.iov-icon-github:before{content:"\e6fc"}.iov-icon-menu-fold-right:before{content:"\e6fd"}.iov-icon-cdkey:before{content:"\e6f7"}.iov-icon-circle-minus:before{content:"\e6f6"}.iov-icon-brush:before{content:"\e6ee"}.iov-icon-code:before{content:"\e6ef"}.iov-icon-circle-plus:before{content:"\e6f0"}.iov-icon-branch:before{content:"\e6f4"}.iov-icon-swap:before{content:"\e6f5"}.iov-icon-wand:before{content:"\e6ed"}.iov-icon-notice:before{content:"\e6eb"}.iov-icon-computer:before{content:"\e6ec"}.iov-icon-img-placeholder:before{content:"\e6ea"}.iov-icon-select:before{content:"\e6e9"}.iov-icon-fold:before{content:"\e6f2"}.iov-icon-unfold:before{content:"\e6f3"}.iov-icon-clear-hover:before{content:"\e6f1"}.iov-icon-interface:before{content:"\e6e8"}.iov-icon-monitor:before{content:"\e6da"}.iov-icon-organize:before{content:"\e6d9"}.iov-icon-symbol-equal:before{content:"\e6e7"}.iov-icon-parenthesis-left:before{content:"\e6e0"}.iov-icon-symbol-minus:before{content:"\e6e1"}.iov-icon-infinite:before{content:"\e6e2"}.iov-icon-parenthesis-right:before{content:"\e6e3"}.iov-icon-symbol-times:before{content:"\e6e4"}.iov-icon-symbol-plus:before{content:"\e6e5"}.iov-icon-symbol-div:before{content:"\e6e6"}.iov-icon-brace-right:before{content:"\e6de"}.iov-icon-brace-left:before{content:"\e6df"}.iov-icon-left:before{content:"\e6dd"}.iov-icon-data-role:before{content:"\e6db"}.iov-icon-tips:before{content:"\e6dc"}.iov-icon-rotate-left:before{content:"\e6d1"}.iov-icon-rotate-right:before{content:"\e6d2"}.iov-icon-batch-listing:before{content:"\e6d3"}.iov-icon-zoom-reset:before{content:"\e6d4"}.iov-icon-delisting:before{content:"\e6d5"}.iov-icon-zoom-in:before{content:"\e6d6"}.iov-icon-fullscreen:before{content:"\e6d7"}.iov-icon-zoom-out:before{content:"\e6d8"}.iov-icon-time:before{content:"\e6cf"}.iov-icon-eye-close:before{content:"\e6d0"}.iov-icon-upload:before{content:"\e6c6"}.iov-icon-download:before{content:"\e6c7"}.iov-icon-search:before{content:"\e6c8"}.iov-icon-sync:before{content:"\e6c9"}.iov-icon-send:before{content:"\e6ca"}.iov-icon-import:before{content:"\e6cb"}.iov-icon-eye:before{content:"\e6cc"}.iov-icon-export:before{content:"\e6cd"}.iov-icon-date:before{content:"\e6ce"}.iov-icon-file-excel:before{content:"\e6bd"}.iov-icon-clear:before{content:"\e6be"}.iov-icon-file-ppt:before{content:"\e6bf"}.iov-icon-img-fail:before{content:"\e6c0"}.iov-icon-file-other:before{content:"\e6c1"}.iov-icon-file-word:before{content:"\e6c2"}.iov-icon-file-img:before{content:"\e6c3"}.iov-icon-file-zip:before{content:"\e6c4"}.iov-icon-file-pdf:before{content:"\e6c5"}.iov-icon-arrow-left:before{content:"\e6af"}.iov-icon-arrow-drop:before{content:"\e6ae"}.iov-icon-arrow-half-right:before{content:"\e6b0"}.iov-icon-arrow-right:before{content:"\e6ac"}.iov-icon-double-right-mini:before{content:"\e6ad"}.iov-icon-double-right:before{content:"\e6b1"}.iov-icon-arrow-rise:before{content:"\e6b2"}.iov-icon-arrow-up:before{content:"\e6b3"}.iov-icon-change:before{content:"\e6b4"}.iov-icon-arrow-down:before{content:"\e6b5"}.iov-icon-double-left:before{content:"\e6b6"}.iov-icon-right:before{content:"\e6b7"}.iov-icon-arrow-next:before{content:"\e6b8"}.iov-icon-switch:before{content:"\e6b9"}.iov-icon-arrow-prev:before{content:"\e6ba"}.iov-icon-move:before{content:"\e6bb"}.iov-icon-double-left-mini:before{content:"\e6bc"}.iov-icon-close-mini:before{content:"\e6a6"}.iov-icon-circle-success:before{content:"\e6a2"}.iov-icon-circle-fail:before{content:"\e6a3"}.iov-icon-separator:before{content:"\e6a4"}.iov-icon-mines:before{content:"\e6a5"}.iov-icon-circle-explain:before{content:"\e6a7"}.iov-icon-close:before{content:"\e6a8"}.iov-icon-circle-warning:before{content:"\e6a9"}.iov-icon-plus:before{content:"\e6aa"}.iov-icon-circle-waiting:before{content:"\e6ab"}.iov-icon-delete:before{content:"\e69e"}.iov-icon-update:before{content:"\e69f"}.iov-icon-edit:before{content:"\e6a0"}.iov-icon-connect:before{content:"\e6a1"}.iov-icon-message:before{content:"\e696"}.iov-icon-lock:before{content:"\e697"}.iov-icon-skin:before{content:"\e698"}.iov-icon-user:before{content:"\e699"}.iov-icon-language:before{content:"\e69a"}.iov-icon-project:before{content:"\e69b"}.iov-icon-logout:before{content:"\e69c"}.iov-icon-view:before{content:"\e69d"}.iov-icon-role:before{content:"\e68c"}.iov-icon-book:before{content:"\e68d"}.iov-icon-bill:before{content:"\e68f"}.iov-icon-user-group:before{content:"\e690"}.iov-icon-to:before{content:"\e691"}.iov-icon-not-allowed:before{content:"\e693"}.iov-icon-required:before{content:"\e694"}.iov-icon-link:before{content:"\e695"}.iov-icon-settlement:before{content:"\e680"}.iov-icon-gauge:before{content:"\e681"}.iov-icon-info:before{content:"\e682"}.iov-icon-application:before{content:"\e686"}.iov-icon-version:before{content:"\e687"}.iov-icon-page:before{content:"\e688"}.iov-icon-location:before{content:"\e689"}.iov-icon-apn:before{content:"\e68a"}.iov-icon-company:before{content:"\e685"}.iov-icon-coin:before{content:"\e67a"}.iov-icon-flow:before{content:"\e678"}.iov-icon-module:before{content:"\e679"}.iov-icon-contact:before{content:"\e67b"}.iov-icon-classification:before{content:"\e67c"}.iov-icon-chart:before{content:"\e67d"}.iov-icon-operate:before{content:"\e67f"}.iov-icon-time-interval:before{content:"\e683"}.iov-icon-goods:before{content:"\e67e"}.iov-icon-coupon:before{content:"\e672"}.iov-icon-tag:before{content:"\e673"}.iov-icon-history:before{content:"\e674"}.iov-icon-download-file:before{content:"\e675"}.iov-icon-grouping-props:before{content:"\e676"}.iov-icon-process:before{content:"\e677"}.iov-icon-scale:before{content:"\e692"}.iov-icon-drag:before{content:"\e68e"}.iov-icon-config:before{content:"\e68b"}.iov-icon-play:before{content:"\e684"}.iov-icon-img-default:before{content:"\e66e"}.iov-icon-seal:before{content:"\e66f"}.iov-icon-rmb:before{content:"\e670"}.iov-icon-focus:before{content:"\e671"}.iov-icon-fill-rise:before{content:"\e661"}.iov-icon-fill-drop:before{content:"\e662"}.iov-icon-fill-move-up:before{content:"\e663"}.iov-icon-page-left:before{content:"\e664"}.iov-icon-page-down:before{content:"\e665"}.iov-icon-fill-half-drop:before{content:"\e666"}.iov-icon-fill-move-last:before{content:"\e667"}.iov-icon-page-right:before{content:"\e668"}.iov-icon-fill-move-first:before{content:"\e669"}.iov-icon-fill-move-down:before{content:"\e66a"}.iov-icon-menu-fold-left:before{content:"\e66b"}.iov-icon-fill-half-rise:before{content:"\e66c"}.iov-icon-page-up:before{content:"\e66d"}.iov-icon-fail:before{content:"\e65a"}.iov-icon-fill-warning:before{content:"\e65b"}.iov-icon-fill-fail:before{content:"\e65c"}.iov-icon-fill-success:before{content:"\e65d"}.iov-icon-success:before{content:"\e65e"}.iov-icon-fill-explain:before{content:"\e65f"}.iov-icon-fill-waiting:before{content:"\e660"}.iov-icon-fill-search:before{content:"\e655"}.iov-icon-fill-setting:before{content:"\e656"}.iov-icon-refresh:before{content:"\e657"}.iov-icon-fill-filter:before{content:"\e658"}.iov-icon-zoom:before{content:"\e659"}.iov-icon-sort-up:before{content:"\e654"}.iov-icon-sort-down:before{content:"\e652"}.iov-icon-horizontal-more:before{content:"\e651"}.iov-icon-vertical-more:before{content:"\e650"}.iov-icon-more:before{content:"\e64f"}.iov-icon-line-drag:before{content:"\e64e"}.iov-icon-fill-dashboard:before{content:"\e648"}.iov-icon-fill-home:before{content:"\e64d"}.iov-icon-fill-form:before{content:"\e64b"}.iov-icon-fill-list:before{content:"\e64c"}.iov-icon-fill-profile:before{content:"\e647"}.iov-icon-fill-user:before{content:"\e64a"}.iov-icon-target:before{content:"\e649"}
|
package/package.json
CHANGED
|
@@ -295,7 +295,7 @@
|
|
|
295
295
|
const menuElm = disabled ? null : this.$slots.dropdown;
|
|
296
296
|
|
|
297
297
|
return (
|
|
298
|
-
<div class=
|
|
298
|
+
<div class={{ 'el-dropdown': true, 'is-visible': this.visible }} size={dropdownSize} v-clickoutside={hide} aria-disabled={disabled}>
|
|
299
299
|
{triggerElm}
|
|
300
300
|
{menuElm}
|
|
301
301
|
</div>
|
|
@@ -92,7 +92,9 @@ export default {
|
|
|
92
92
|
raf = (fn) => setTimeout(fn, 16);
|
|
93
93
|
}
|
|
94
94
|
raf(() => {
|
|
95
|
-
const rows = this.$el.querySelectorAll('.el-table__row');
|
|
95
|
+
// const rows = this.$el.querySelectorAll('.el-table__row');
|
|
96
|
+
// 使用 :scope 限定只查询当前 tbody 下的直属行,排除展开行内嵌套子表格的行
|
|
97
|
+
const rows = this.$el.querySelectorAll(':scope > tbody > .el-table__row');
|
|
96
98
|
const oldRow = rows[oldVal];
|
|
97
99
|
const newRow = rows[newVal];
|
|
98
100
|
if (oldRow) {
|
|
@@ -325,12 +327,69 @@ export default {
|
|
|
325
327
|
|
|
326
328
|
handleMouseEnter: debounce(30, function(index) {
|
|
327
329
|
this.store.commit('setHoverRow', index);
|
|
330
|
+
this.syncNestedHoverRow(index);
|
|
328
331
|
}),
|
|
329
332
|
|
|
330
333
|
handleMouseLeave: debounce(30, function() {
|
|
331
334
|
this.store.commit('setHoverRow', null);
|
|
335
|
+
this.syncNestedHoverRow(null);
|
|
332
336
|
}),
|
|
333
337
|
|
|
338
|
+
// 当子表格嵌套在父表格的展开行中且父表格有固定列时,
|
|
339
|
+
// 主体 body 中的子表格行 hover 需要同步到固定列 body 中的子表格行
|
|
340
|
+
syncNestedHoverRow(hoverIndex) {
|
|
341
|
+
const expandedCell = this.$el.closest('.el-table__expanded-cell');
|
|
342
|
+
if (!expandedCell) return;
|
|
343
|
+
|
|
344
|
+
const expandedRow = expandedCell.closest('tr');
|
|
345
|
+
if (!expandedRow) return;
|
|
346
|
+
|
|
347
|
+
const parentBodyWrapper = expandedRow.closest('.el-table__body-wrapper, .el-table__fixed-body-wrapper');
|
|
348
|
+
if (!parentBodyWrapper) return;
|
|
349
|
+
|
|
350
|
+
const parentTableEl = parentBodyWrapper.closest('.el-table');
|
|
351
|
+
if (!parentTableEl) return;
|
|
352
|
+
|
|
353
|
+
const parentTbody = parentBodyWrapper.querySelector(':scope > .el-table__body > tbody');
|
|
354
|
+
if (!parentTbody) return;
|
|
355
|
+
|
|
356
|
+
const allParentRows = Array.from(parentTbody.children);
|
|
357
|
+
const expandedRowIndex = allParentRows.indexOf(expandedRow);
|
|
358
|
+
if (expandedRowIndex < 0) return;
|
|
359
|
+
|
|
360
|
+
const allBodyWrappers = parentTableEl.querySelectorAll(
|
|
361
|
+
':scope > .el-table__body-wrapper, :scope > .el-table__fixed > .el-table__fixed-body-wrapper, :scope > .el-table__fixed-right > .el-table__fixed-body-wrapper'
|
|
362
|
+
);
|
|
363
|
+
|
|
364
|
+
allBodyWrappers.forEach(wrapper => {
|
|
365
|
+
if (wrapper === parentBodyWrapper) return;
|
|
366
|
+
|
|
367
|
+
const tbody = wrapper.querySelector(':scope > .el-table__body > tbody');
|
|
368
|
+
if (!tbody) return;
|
|
369
|
+
|
|
370
|
+
const targetExpandedRow = tbody.children[expandedRowIndex];
|
|
371
|
+
if (!targetExpandedRow) return;
|
|
372
|
+
|
|
373
|
+
// 找到展开行中的子表格,分别同步其所有 body(主体、左固定、右固定)中的行
|
|
374
|
+
const subTable = targetExpandedRow.querySelector('.el-table');
|
|
375
|
+
if (!subTable) return;
|
|
376
|
+
|
|
377
|
+
const subTbodies = subTable.querySelectorAll(
|
|
378
|
+
':scope > .el-table__body-wrapper > table.el-table__body > tbody, :scope > .el-table__fixed > .el-table__fixed-body-wrapper > table.el-table__body > tbody, :scope > .el-table__fixed-right > .el-table__fixed-body-wrapper > table.el-table__body > tbody'
|
|
379
|
+
);
|
|
380
|
+
subTbodies.forEach(subTbody => {
|
|
381
|
+
const subRows = subTbody.querySelectorAll(':scope > .el-table__row');
|
|
382
|
+
subRows.forEach((row, i) => {
|
|
383
|
+
if (hoverIndex !== null && i === hoverIndex) {
|
|
384
|
+
addClass(row, 'hover-row');
|
|
385
|
+
} else {
|
|
386
|
+
removeClass(row, 'hover-row');
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
},
|
|
392
|
+
|
|
334
393
|
handleContextMenu(event, row) {
|
|
335
394
|
this.handleEvent(event, row, 'contextmenu');
|
|
336
395
|
},
|
|
@@ -16,10 +16,21 @@
|
|
|
16
16
|
margin-left: 4px;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
.el-button.is-round {
|
|
20
|
+
padding-right: 8px;
|
|
21
|
+
}
|
|
19
22
|
.el-button {
|
|
20
23
|
padding-right: 8px;
|
|
21
24
|
.iov-icon-arrow-down {
|
|
22
25
|
margin-left: 8px;
|
|
26
|
+
transition: all .25s ease;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
&.is-visible {
|
|
30
|
+
.el-button {
|
|
31
|
+
.iov-icon-arrow-down {
|
|
32
|
+
transform: rotate(180deg);
|
|
33
|
+
}
|
|
23
34
|
}
|
|
24
35
|
}
|
|
25
36
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: 'iovfont'; /* Project id 4466910 */
|
|
3
|
-
src: url('./fonts/iovfont.woff2?t=
|
|
4
|
-
url('./fonts/iovfont.woff?t=
|
|
5
|
-
url('./fonts/iovfont.ttf?t=
|
|
3
|
+
src: url('./fonts/iovfont.woff2?t=1784019493607') format('woff2'),
|
|
4
|
+
url('./fonts/iovfont.woff?t=1784019493607') format('woff'),
|
|
5
|
+
url('./fonts/iovfont.ttf?t=1784019493607') format('truetype');
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
.iov-icon-diff:before {
|
|
11
|
+
content: "\e727";
|
|
12
|
+
}
|
|
13
|
+
|
|
10
14
|
.iov-icon-partnership:before {
|
|
11
15
|
content: "\e725";
|
|
12
16
|
}
|