@king-design/vue 2.0.1 → 2.0.2
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/__tests__/__snapshots__/Vue Next Demos.md +8 -8
- package/components/cascader/index.spec.js +88 -0
- package/components/cascader/index.vdt.js +4 -4
- package/components/cascader/useLabel.js +8 -12
- package/components/form/index.spec.js +2 -4
- package/components/menu/index.spec.js +13 -6
- package/components/menu/item.d.ts +0 -1
- package/components/menu/item.js +6 -4
- package/components/menu/item.vdt.js +4 -4
- package/components/menu/menu.d.ts +3 -0
- package/components/menu/menu.js +4 -0
- package/components/menu/useExpanded.d.ts +1 -4
- package/components/menu/useHighlight.d.ts +5 -8
- package/components/menu/useHighlight.js +44 -33
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/package.json +2 -2
|
@@ -711,7 +711,7 @@
|
|
|
711
711
|
#### `Menu collapse`
|
|
712
712
|
|
|
713
713
|
```
|
|
714
|
-
"<div><div class=\"k-switch k-default css-1r7l1sz\" tabindex=\"0\" style=\"margin-right: 16px; width: 60px;\"><input type=\"checkbox\" tabindex=\"-1\"><div class=\"k-switch-off\" style=\"width: px;\">展开</div><div class=\"k-switch-bar\"><div class=\"k-switch-on\" style=\"width: 60px;\">收起</div><div class=\"k-switch-wrapper\"><div class=\"k-switch-handle\"><img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"></div></div></div></div><div class=\"k-switch k-default css-1r7l1sz\" tabindex=\"0\" style=\"width: 60px;\"><input type=\"checkbox\" tabindex=\"-1\"><div class=\"k-switch-off\" style=\"width: px;\">dark</div><div class=\"k-switch-bar\"><div class=\"k-switch-on\" style=\"width: 60px;\">light</div><div class=\"k-switch-wrapper\"><div class=\"k-switch-handle\"><img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"></div></div></div></div><br><br><div class=\"k-menu k-dark k-vertical css-drqtdg\"><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-flag css-x0ey6t\"></i>menu 1</div></div></div><div class=\"k-menu-item k-disabled css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-star css-x0ey6t\"></i>menu 2</div></div></div><div class=\"k-menu-item k-expanded css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-heart css-x0ey6t\"></i>menu 3 </div><i class=\"k-menu-arrow ion-ios-arrow-down\"></i></div><div class=\"k-menu css-drqtdg\"><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">sub menu 1</div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">sub menu 2</div></div></div><div class=\"k-menu-item k-disabled css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">sub menu 3</div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"> sub menu 4 </div><i class=\"k-menu-arrow ion-ios-arrow-down\"></i></div><div class=\"k-menu css-drqtdg\" style=\"display: none;\"><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">option 1</div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">option 2</div></div></div></div></div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-gear-b css-x0ey6t\"></i>menu 4</div></div></div></div></div>"
|
|
714
|
+
"<div><div class=\"k-switch k-default css-1r7l1sz\" tabindex=\"0\" style=\"margin-right: 16px; width: 60px;\"><input type=\"checkbox\" tabindex=\"-1\"><div class=\"k-switch-off\" style=\"width: px;\">展开</div><div class=\"k-switch-bar\"><div class=\"k-switch-on\" style=\"width: 60px;\">收起</div><div class=\"k-switch-wrapper\"><div class=\"k-switch-handle\"><img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"></div></div></div></div><div class=\"k-switch k-default css-1r7l1sz\" tabindex=\"0\" style=\"width: 60px;\"><input type=\"checkbox\" tabindex=\"-1\"><div class=\"k-switch-off\" style=\"width: px;\">dark</div><div class=\"k-switch-bar\"><div class=\"k-switch-on\" style=\"width: 60px;\">light</div><div class=\"k-switch-wrapper\"><div class=\"k-switch-handle\"><img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"></div></div></div></div><br><br><div class=\"k-menu k-dark k-vertical css-drqtdg\"><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-flag css-x0ey6t\"></i>menu 1</div></div></div><div class=\"k-menu-item k-disabled css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-star css-x0ey6t\"></i>menu 2</div></div></div><div class=\"k-menu-item k-expanded k-highlighted css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-heart css-x0ey6t\"></i>menu 3 </div><i class=\"k-menu-arrow ion-ios-arrow-down\"></i></div><div class=\"k-menu css-drqtdg\"><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">sub menu 1</div></div></div><div class=\"k-menu-item k-active css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">sub menu 2</div></div></div><div class=\"k-menu-item k-disabled css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">sub menu 3</div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"> sub menu 4 </div><i class=\"k-menu-arrow ion-ios-arrow-down\"></i></div><div class=\"k-menu css-drqtdg\" style=\"display: none;\"><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">option 1</div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\">option 2</div></div></div></div></div></div></div><div class=\"k-menu-item css-kt9fag\"><div class=\"k-menu-title css-r08qjw\"><div class=\"k-menu-name\"><i class=\"k-icon ion-gear-b css-x0ey6t\"></i>menu 4</div></div></div></div></div>"
|
|
715
715
|
```
|
|
716
716
|
|
|
717
717
|
#### `Menu dot`
|
|
@@ -1604,7 +1604,7 @@
|
|
|
1604
1604
|
#### `Transfer basic`
|
|
1605
1605
|
|
|
1606
1606
|
```
|
|
1607
|
-
"<div><div class=\"k-transfer css-
|
|
1607
|
+
"<div><div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1608
1608
|
3</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">请选择</span></label></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"2\"></span><span class=\"k-checkbox-text\">主机名2</span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"left\" value=\"3\"></span><span class=\"k-checkbox-text\">主机名3</span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"4\"></span><span class=\"k-checkbox-text\">主机名4</span></label></div></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1609
1609
|
2</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">已选择</span></label></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"right\" value=\"0\"></span><span class=\"k-checkbox-text\">主机名0</span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"right\" value=\"1\"></span><span class=\"k-checkbox-text\">主机名1</span></label></div></div></div></div><p>You selected: [0,1]</p></div>"
|
|
1610
1610
|
```
|
|
@@ -1612,7 +1612,7 @@
|
|
|
1612
1612
|
#### `Transfer customFilter`
|
|
1613
1613
|
|
|
1614
1614
|
```
|
|
1615
|
-
"<div><div class=\"k-transfer css-
|
|
1615
|
+
"<div><div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1616
1616
|
0</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">请选择</span></label></div><div class=\"k-input k-small k-group k-clearable css-1cug0ah\"><div class=\"k-input-prepend\"><div class=\"k-select k-small css-1mhb480\" tabindex=\"0\" style=\"width: px;\"><div class=\"k-select-main\"><input type=\"hidden\" value=\"all\"><div class=\"k-select-value c-ellipsis\">全部策略</div></div><span class=\"k-select-suffix\"><span class=\"k-select-suffix-icon\"><i class=\"k-icon k-select-arrow ion-ios-arrow-down css-x0ey6t\"></i></span></span></div><!--portal--></div><div class=\"k-input-wrapper\"><input class=\"k-input-inner\" placeholder=\"请输入\" type=\"text\"><div class=\"k-input-suffix\"><i class=\"k-icon k-hoverable k-input-clear ion-ios-close css-x0ey6t\"></i> </div></div></div><div class=\"k-transfer-list\"></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1617
1617
|
0</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">已选择</span></label></div><div class=\"k-input k-small k-with-prefix k-clearable css-1cug0ah\"><div class=\"k-input-wrapper\"><div class=\"k-input-prefix\"><i class=\"ion-ios-search\"></i></div><input class=\"k-input-inner\" placeholder=\"请输入\" type=\"text\"><div class=\"k-input-suffix\"><i class=\"k-icon k-hoverable k-input-clear ion-ios-close css-x0ey6t\"></i> </div></div></div><div class=\"k-transfer-list\"></div></div></div><p>You selected: []</p></div>"
|
|
1618
1618
|
```
|
|
@@ -1620,13 +1620,13 @@
|
|
|
1620
1620
|
#### `Transfer customList`
|
|
1621
1621
|
|
|
1622
1622
|
```
|
|
1623
|
-
"<div><div class=\"k-transfer css-
|
|
1623
|
+
"<div><div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div>未分配</div></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">刘一 </span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">陈二 </span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">张三 </span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">李四 </span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">王五 </span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">赵六 </span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">孙七 </span></label></div></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div>标准双人间</div></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">标准双人间1 <span>(当前人数:0)</span></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">标准双人间2 <span>(当前人数:0)</span></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">标准双人间3 <span>(当前人数:0)</span></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">标准双人间4 <span>(当前人数:0)</span></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"[object Object]\"></span><span class=\"k-checkbox-text\">标准双人间5 <span>(当前人数:0)</span></span></label></div></div></div></div></div>"
|
|
1624
1624
|
```
|
|
1625
1625
|
|
|
1626
1626
|
#### `Transfer getData`
|
|
1627
1627
|
|
|
1628
1628
|
```
|
|
1629
|
-
"<div><button class=\"k-btn css-12uxt25\" tabindex=\"0\" type=\"button\">get data</button><button class=\"k-btn css-12uxt25\" tabindex=\"0\" type=\"button\">get left checked data</button><button class=\"k-btn css-12uxt25\" tabindex=\"0\" type=\"button\">get right checked data</button><br><br><div class=\"k-transfer css-
|
|
1629
|
+
"<div><button class=\"k-btn css-12uxt25\" tabindex=\"0\" type=\"button\">get data</button><button class=\"k-btn css-12uxt25\" tabindex=\"0\" type=\"button\">get left checked data</button><button class=\"k-btn css-12uxt25\" tabindex=\"0\" type=\"button\">get right checked data</button><br><br><div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1630
1630
|
3</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">请选择</span></label></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"2\"></span><span class=\"k-checkbox-text\">主机名2</span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"left\" value=\"3\"></span><span class=\"k-checkbox-text\">主机名3</span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"4\"></span><span class=\"k-checkbox-text\">主机名4</span></label></div></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1631
1631
|
2</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">已选择</span></label></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"right\" value=\"0\"></span><span class=\"k-checkbox-text\">主机名0</span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"right\" value=\"1\"></span><span class=\"k-checkbox-text\">主机名1</span></label></div></div></div></div><p>You selected: [0,1]</p></div>"
|
|
1632
1632
|
```
|
|
@@ -1634,7 +1634,7 @@
|
|
|
1634
1634
|
#### `Transfer label`
|
|
1635
1635
|
|
|
1636
1636
|
```
|
|
1637
|
-
"<div class=\"k-transfer css-
|
|
1637
|
+
"<div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1638
1638
|
5</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">请选择</span></label></div><div class=\"k-input k-small k-with-prefix k-clearable css-1cug0ah\"><div class=\"k-input-wrapper\"><div class=\"k-input-prefix\"><i class=\"ion-ios-search\"></i></div><input class=\"k-input-inner\" placeholder=\"请输入\" type=\"text\"><div class=\"k-input-suffix\"><i class=\"k-icon k-hoverable k-input-clear ion-ios-close css-x0ey6t\"></i> </div></div></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"主机名0\"></span><span class=\"k-checkbox-text\"><div><div>主机名0</div><p>前端服务器0 | 192.168.1.0</p></div></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"主机名1\"></span><span class=\"k-checkbox-text\"><div><div>主机名1</div><p>前端服务器1 | 192.168.1.1</p></div></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"主机名2\"></span><span class=\"k-checkbox-text\"><div><div>主机名2</div><p>前端服务器2 | 192.168.1.2</p></div></span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"left\" value=\"主机名3\"></span><span class=\"k-checkbox-text\"><div><div>主机名3</div><p>前端服务器3 | 192.168.1.3</p></div></span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"主机名4\"></span><span class=\"k-checkbox-text\"><div><div>主机名4</div><p>前端服务器4 | 192.168.1.4</p></div></span></label></div></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1639
1639
|
0</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">已选择</span></label></div><div class=\"k-input k-small k-with-prefix k-clearable css-1cug0ah\"><div class=\"k-input-wrapper\"><div class=\"k-input-prefix\"><i class=\"ion-ios-search\"></i></div><input class=\"k-input-inner\" placeholder=\"请输入\" type=\"text\"><div class=\"k-input-suffix\"><i class=\"k-icon k-hoverable k-input-clear ion-ios-close css-x0ey6t\"></i> </div></div></div><div class=\"k-transfer-list\"></div></div></div>"
|
|
1640
1640
|
```
|
|
@@ -1642,7 +1642,7 @@
|
|
|
1642
1642
|
#### `Transfer leftChecked`
|
|
1643
1643
|
|
|
1644
1644
|
```
|
|
1645
|
-
"<div><div class=\"k-transfer css-
|
|
1645
|
+
"<div><div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">2 /
|
|
1646
1646
|
5</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">请选择</span></label></div><div class=\"k-transfer-list\"><div class=\"k-transfer-item\"><label class=\"k-checkbox k-checked css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"0\"></span><span class=\"k-checkbox-text\">主机名0</span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"left\" value=\"1\"></span><span class=\"k-checkbox-text\">主机名1</span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox k-checked css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"2\"></span><span class=\"k-checkbox-text\">主机名2</span></label></div><div class=\"k-transfer-item k-disabled\"><label class=\"k-checkbox k-disabled css-rt2md4\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" disabled=\"\" tabindex=\"-1\" name=\"left\" value=\"3\"></span><span class=\"k-checkbox-text\">主机名3</span></label></div><div class=\"k-transfer-item\"><label class=\"k-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" name=\"left\" value=\"4\"></span><span class=\"k-checkbox-text\">主机名4</span></label></div></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle css-12uxt25\" tabindex=\"0\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div class=\"k-transfer-count\">0 /
|
|
1647
1647
|
0</div><label class=\"k-checkbox c-ellipsis css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span><span class=\"k-checkbox-text\">已选择</span></label></div><div class=\"k-transfer-list\"></div></div></div><p>You checked left side: [0,2]</p></div>"
|
|
1648
1648
|
```
|
|
@@ -1650,7 +1650,7 @@
|
|
|
1650
1650
|
#### `Transfer tree`
|
|
1651
1651
|
|
|
1652
1652
|
```
|
|
1653
|
-
"<div class=\"k-transfer css-
|
|
1653
|
+
"<div class=\"k-transfer css-160ohl7\"><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div>请选择</div></div><div class=\"k-transfer-list\"><div class=\"k-tree k-line k-selectable css-192otbj\"><div class=\"k-tree-node k-expanded k-expand-enter-from k-expand-enter-active\" style=\"height: 0px;\"><div class=\"k-tree-label\"><i class=\"k-icon k-hoverable k-tree-icon ion-android-arrow-dropdown css-x0ey6t\"></i><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">database</div></div><div class=\"k-tree\"><div class=\"k-tree-node k-expanded\"><div class=\"k-tree-label\"><i class=\"k-icon k-hoverable k-tree-icon ion-android-arrow-dropdown css-x0ey6t\"></i><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">table1</div></div><div class=\"k-tree\"><div class=\"k-tree-node k-expanded\"><div class=\"k-tree-label k-tree-leaf\"><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">class</div></div></div><div class=\"k-tree-node k-expanded\"><div class=\"k-tree-label k-tree-leaf\"><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">student</div></div></div></div></div><div class=\"k-tree-node k-expanded\"><div class=\"k-tree-label\"><i class=\"k-icon k-hoverable k-tree-icon ion-android-arrow-dropdown css-x0ey6t\"></i><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">table2</div></div><div class=\"k-tree\"><div class=\"k-tree-node k-expanded\"><div class=\"k-tree-label k-tree-leaf\"><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">id</div></div></div><div class=\"k-tree-node k-expanded\"><div class=\"k-tree-label k-tree-leaf\"><label class=\"k-checkbox k-tree-checkbox css-rt2md4\" tabindex=\"0\"><span class=\"k-checkbox-wrapper\"><input type=\"checkbox\" tabindex=\"-1\" value=\"true\"></span></label><div class=\"k-tree-text c-ellipsis\">name</div></div></div></div></div></div></div></div></div></div><div class=\"k-transfer-arrows\"><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-left\"></i></button><button class=\"k-btn k-primary k-large k-btn-icon k-circle k-disabled css-12uxt25\" tabindex=\"-1\" type=\"button\"><i class=\"k-transfer-icon ion-ios-arrow-right\"></i></button></div><div class=\"k-transfer-panel\"><div class=\"k-transfer-title\"><div>已选择</div></div><div class=\"k-transfer-list\"><div class=\"k-tree k-line k-selectable css-192otbj\"></div></div></div></div>"
|
|
1654
1654
|
```
|
|
1655
1655
|
|
|
1656
1656
|
## `tree`
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
|
|
1
2
|
import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator";
|
|
3
|
+
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
|
|
2
4
|
import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
|
|
3
5
|
import BasicDemo from '~/components/cascader/demos/basic';
|
|
4
6
|
import CustomDemo from '~/components/cascader/demos/custom';
|
|
@@ -6,6 +8,8 @@ import ChangeOnSelectDemo from '~/components/cascader/demos/changeOnSelect';
|
|
|
6
8
|
import LoadDataDemo from '~/components/cascader/demos/loadData';
|
|
7
9
|
import FilterDemo from '~/components/cascader/demos/filterable';
|
|
8
10
|
import { mount, unmount, dispatchEvent, getElement, getElements, wait } from '../../test/utils';
|
|
11
|
+
import { Cascader } from './';
|
|
12
|
+
import { Component } from 'intact-vue-next';
|
|
9
13
|
describe('Cascader', function () {
|
|
10
14
|
afterEach( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
11
15
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -278,4 +282,88 @@ describe('Cascader', function () {
|
|
|
278
282
|
}
|
|
279
283
|
}, _callee7);
|
|
280
284
|
})));
|
|
285
|
+
it('duplicated sub data', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
|
|
286
|
+
var Demo, _mount7, instance, element, _getElements2, dropdown1, dropdown2, _dropdown1$querySelec4, item1, item2, _dropdown2$querySelec3, item21, dropdown3, _dropdown3$querySelec2, item31;
|
|
287
|
+
|
|
288
|
+
return _regeneratorRuntime.wrap(function _callee8$(_context9) {
|
|
289
|
+
while (1) {
|
|
290
|
+
switch (_context9.prev = _context9.next) {
|
|
291
|
+
case 0:
|
|
292
|
+
Demo = /*#__PURE__*/function (_Component) {
|
|
293
|
+
_inheritsLoose(Demo, _Component);
|
|
294
|
+
|
|
295
|
+
function Demo() {
|
|
296
|
+
var _context8;
|
|
297
|
+
|
|
298
|
+
var _this;
|
|
299
|
+
|
|
300
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
301
|
+
args[_key] = arguments[_key];
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
_this = _Component.call.apply(_Component, _concatInstanceProperty(_context8 = [this]).call(_context8, args)) || this;
|
|
305
|
+
_this.Cascader = Cascader;
|
|
306
|
+
return _this;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
Demo.defaults = function defaults() {
|
|
310
|
+
return {
|
|
311
|
+
value: ['beijing', 'haidian'],
|
|
312
|
+
data: [{
|
|
313
|
+
value: 'beijing',
|
|
314
|
+
label: '北京',
|
|
315
|
+
children: [{
|
|
316
|
+
value: 'haidian',
|
|
317
|
+
label: '海淀区'
|
|
318
|
+
}]
|
|
319
|
+
}, {
|
|
320
|
+
value: 'hunan',
|
|
321
|
+
label: '湖南',
|
|
322
|
+
children: [{
|
|
323
|
+
value: 'haidian',
|
|
324
|
+
label: '海淀区'
|
|
325
|
+
}]
|
|
326
|
+
}]
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
return Demo;
|
|
331
|
+
}(Component);
|
|
332
|
+
|
|
333
|
+
Demo.template = "const {Cascader} = this; <Cascader data={this.get('data')} v-model=\"value\" />";
|
|
334
|
+
_mount7 = mount(Demo), instance = _mount7[0], element = _mount7[1];
|
|
335
|
+
dispatchEvent(element, 'click');
|
|
336
|
+
_context9.next = 6;
|
|
337
|
+
return wait();
|
|
338
|
+
|
|
339
|
+
case 6:
|
|
340
|
+
_getElements2 = getElements('.k-cascader-menu'), dropdown1 = _getElements2[0], dropdown2 = _getElements2[1];
|
|
341
|
+
_dropdown1$querySelec4 = dropdown1.querySelectorAll(':scope > .k-dropdown-item'), item1 = _dropdown1$querySelec4[0], item2 = _dropdown1$querySelec4[1];
|
|
342
|
+
expect(item1.classList.contains('k-selected')).to.be.true;
|
|
343
|
+
expect(item2.classList.contains('k-selected')).to.be.false;
|
|
344
|
+
_dropdown2$querySelec3 = dropdown2.querySelectorAll(':scope > .k-dropdown-item'), item21 = _dropdown2$querySelec3[0];
|
|
345
|
+
expect(item21.classList.contains('k-selected')).to.be.true;
|
|
346
|
+
dispatchEvent(item2, 'click');
|
|
347
|
+
_context9.next = 15;
|
|
348
|
+
return wait();
|
|
349
|
+
|
|
350
|
+
case 15:
|
|
351
|
+
dropdown3 = getElement('.k-cascader-menu');
|
|
352
|
+
_dropdown3$querySelec2 = dropdown3.querySelectorAll(':scope > .k-dropdown-item'), item31 = _dropdown3$querySelec2[0];
|
|
353
|
+
expect(item31.classList.contains('k-selected')).to.be.false;
|
|
354
|
+
dispatchEvent(item31, 'click');
|
|
355
|
+
_context9.next = 21;
|
|
356
|
+
return wait();
|
|
357
|
+
|
|
358
|
+
case 21:
|
|
359
|
+
expect(instance.get('value')).to.eql(['hunan', 'haidian']);
|
|
360
|
+
expect(element.textContent).to.eql('湖南 / 海淀区');
|
|
361
|
+
|
|
362
|
+
case 23:
|
|
363
|
+
case "end":
|
|
364
|
+
return _context9.stop();
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}, _callee8);
|
|
368
|
+
})));
|
|
281
369
|
});
|
|
@@ -41,7 +41,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
41
41
|
onSelect = _this$value.onSelect,
|
|
42
42
|
toggleShowedValue = _this$value.toggleShowedValue;
|
|
43
43
|
|
|
44
|
-
var Options = function Options(data, level, loaded) {
|
|
44
|
+
var Options = function Options(data, level, loaded, parentSelected) {
|
|
45
45
|
if (!data.length) {
|
|
46
46
|
if (!loaded) {
|
|
47
47
|
return _$cc(Icon, _$tmp0);
|
|
@@ -53,7 +53,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
53
53
|
return _mapInstanceProperty(data).call(data, function (item, index) {
|
|
54
54
|
var value = item.value;
|
|
55
55
|
var showed = isShowed(value, level);
|
|
56
|
-
var selected = isSelected(value, level);
|
|
56
|
+
var selected = parentSelected && isSelected(value, level);
|
|
57
57
|
var children = item.children;
|
|
58
58
|
|
|
59
59
|
var Item = function Item() {
|
|
@@ -79,7 +79,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
79
79
|
'ev-show': _this.load.bind(null, item),
|
|
80
80
|
'children': [Item(), _$cc(DropdownMenu, {
|
|
81
81
|
'className': _$cn(classNameObj),
|
|
82
|
-
'children': showed ? Options(children, level + 1, item.loaded) : null
|
|
82
|
+
'children': showed ? Options(children, level + 1, item.loaded, selected) : null
|
|
83
83
|
})]
|
|
84
84
|
}) : Item();
|
|
85
85
|
});
|
|
@@ -100,7 +100,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
100
100
|
return !filterable || !keywords ? _$cc(DropdownMenu, {
|
|
101
101
|
'className': _$cn(classNameObj),
|
|
102
102
|
'key': 'common',
|
|
103
|
-
'children': Options(data, 0, true)
|
|
103
|
+
'children': Options(data, 0, true, true)
|
|
104
104
|
}, 'common') : _$cc(DropdownMenu, {
|
|
105
105
|
'key': 'filter',
|
|
106
106
|
'className': _$cn((_$cn2 = {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js/instance/includes";
|
|
2
1
|
import { useInstance } from 'intact-vue-next';
|
|
3
2
|
import { useBaseLabel } from '../select/useBaseLabel';
|
|
4
3
|
export function useLabel() {
|
|
@@ -11,27 +10,24 @@ export function useLabel() {
|
|
|
11
10
|
var labels = [];
|
|
12
11
|
var length = value.length;
|
|
13
12
|
|
|
14
|
-
var loop = function loop(data) {
|
|
13
|
+
var loop = function loop(data, level) {
|
|
14
|
+
if (level === length) return;
|
|
15
|
+
|
|
15
16
|
for (var i = 0; i < data.length; i++) {
|
|
16
17
|
var item = data[i];
|
|
17
18
|
|
|
18
|
-
if (
|
|
19
|
+
if (item.value === value[level]) {
|
|
19
20
|
labels.push(item.label);
|
|
21
|
+
var children = item.children;
|
|
20
22
|
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
+
if (children) {
|
|
24
|
+
loop(children, level + 1);
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
|
-
|
|
26
|
-
var children = item.children;
|
|
27
|
-
|
|
28
|
-
if (children) {
|
|
29
|
-
loop(children);
|
|
30
|
-
}
|
|
31
27
|
}
|
|
32
28
|
};
|
|
33
29
|
|
|
34
|
-
loop(data);
|
|
30
|
+
loop(data, 0);
|
|
35
31
|
return labels.length ? format(labels) : null;
|
|
36
32
|
}
|
|
37
33
|
|
|
@@ -8,7 +8,7 @@ import BasicDemo, { data as basicDemoData } from '~/components/form/demos/basic'
|
|
|
8
8
|
import CustomDemo from '~/components/form/demos/custom';
|
|
9
9
|
import VariableDemo from '~/components/form/demos/variable';
|
|
10
10
|
import RemoteDemo from '~/components/form/demos/remote';
|
|
11
|
-
import { mount,
|
|
11
|
+
import { mount, dispatchEvent, wait } from '../../test/utils';
|
|
12
12
|
import { Component } from 'intact-vue-next';
|
|
13
13
|
import { Form, FormItem } from './';
|
|
14
14
|
import { Input } from '../input';
|
|
@@ -29,9 +29,7 @@ RemoteDemo.prototype.validateUserName = function (value) {
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
describe('Form', function () {
|
|
32
|
-
afterEach(
|
|
33
|
-
return unmount();
|
|
34
|
-
});
|
|
32
|
+
// afterEach(() => unmount());
|
|
35
33
|
it('validate', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
36
34
|
var _mount, instance, element, form, item, input;
|
|
37
35
|
|
|
@@ -39,14 +39,14 @@ describe('Menu', function () {
|
|
|
39
39
|
}, _callee);
|
|
40
40
|
})));
|
|
41
41
|
it('select', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
42
|
-
var _mount2, instance, element,
|
|
42
|
+
var _mount2, instance, element, _element$querySelecto, title, disabledTitle, subTitle;
|
|
43
43
|
|
|
44
44
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
45
45
|
while (1) {
|
|
46
46
|
switch (_context2.prev = _context2.next) {
|
|
47
47
|
case 0:
|
|
48
48
|
_mount2 = mount(CollapseDemo), instance = _mount2[0], element = _mount2[1];
|
|
49
|
-
|
|
49
|
+
expect(element.innerHTML).to.matchSnapshot();
|
|
50
50
|
_element$querySelecto = element.querySelectorAll('.k-menu-title'), title = _element$querySelecto[0], disabledTitle = _element$querySelecto[1];
|
|
51
51
|
title.click();
|
|
52
52
|
_context2.next = 6;
|
|
@@ -54,14 +54,14 @@ describe('Menu', function () {
|
|
|
54
54
|
|
|
55
55
|
case 6:
|
|
56
56
|
expect(element.outerHTML).to.matchSnapshot();
|
|
57
|
-
expect(
|
|
57
|
+
expect(instance.get('selectedKey')).to.eql('1');
|
|
58
58
|
disabledTitle.click();
|
|
59
59
|
_context2.next = 11;
|
|
60
60
|
return wait();
|
|
61
61
|
|
|
62
62
|
case 11:
|
|
63
63
|
expect(element.outerHTML).to.matchSnapshot();
|
|
64
|
-
expect(
|
|
64
|
+
expect(instance.get('selectedKey')).to.eql('1');
|
|
65
65
|
subTitle = element.querySelector('.k-expanded .k-menu .k-menu-title');
|
|
66
66
|
subTitle.click();
|
|
67
67
|
_context2.next = 17;
|
|
@@ -69,9 +69,16 @@ describe('Menu', function () {
|
|
|
69
69
|
|
|
70
70
|
case 17:
|
|
71
71
|
expect(element.outerHTML).to.matchSnapshot();
|
|
72
|
-
expect(
|
|
72
|
+
expect(instance.get('selectedKey')).to.eql('3-1'); // clear
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
instance.set('selectedKey', '');
|
|
75
|
+
_context2.next = 22;
|
|
76
|
+
return wait();
|
|
77
|
+
|
|
78
|
+
case 22:
|
|
79
|
+
expect(element.querySelector('.k-highlighted')).to.be.null;
|
|
80
|
+
|
|
81
|
+
case 23:
|
|
75
82
|
case "end":
|
|
76
83
|
return _context2.stop();
|
|
77
84
|
}
|
package/components/menu/item.js
CHANGED
|
@@ -5,10 +5,11 @@ import { Component, inject, provide } from 'intact-vue-next';
|
|
|
5
5
|
import { ROOT_MENU, MENU } from './menu';
|
|
6
6
|
import template from './item.vdt';
|
|
7
7
|
import { bind } from '../utils';
|
|
8
|
-
import { useHighlight } from './useHighlight';
|
|
9
8
|
import { useExpanded } from './useExpanded';
|
|
10
9
|
import { useDropdown } from './useDropdown';
|
|
11
10
|
import { useRouter, navigate } from '../../hooks/useRouter';
|
|
11
|
+
import { useRecordItem } from '../../hooks/useRecordComponent';
|
|
12
|
+
import { MENU_RECORD_KEY } from './useHighlight';
|
|
12
13
|
var typeDefs = {
|
|
13
14
|
key: {
|
|
14
15
|
type: [String, Number],
|
|
@@ -36,7 +37,6 @@ export var MenuItem = /*#__PURE__*/function (_Component) {
|
|
|
36
37
|
_this.parentMenu = inject(MENU);
|
|
37
38
|
_this.parentMenuItem = inject(MENU_ITEM, null);
|
|
38
39
|
_this.expanded = useExpanded(_this.rootMenu, _this.parentMenu);
|
|
39
|
-
_this.highlight = useHighlight(_this.rootMenu, _this.parentMenuItem);
|
|
40
40
|
_this.dropdown = useDropdown(_this.rootMenu, _this.parentMenu);
|
|
41
41
|
_this.router = useRouter();
|
|
42
42
|
return _this;
|
|
@@ -46,19 +46,21 @@ export var MenuItem = /*#__PURE__*/function (_Component) {
|
|
|
46
46
|
|
|
47
47
|
_proto.init = function init() {
|
|
48
48
|
provide(MENU_ITEM, this);
|
|
49
|
+
useRecordItem(MENU_RECORD_KEY);
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
_proto.onClick = function onClick(hasSubMenu, e) {
|
|
52
53
|
var _this$get = this.get(),
|
|
53
54
|
disabled = _this$get.disabled,
|
|
54
|
-
to = _this$get.to
|
|
55
|
+
to = _this$get.to,
|
|
56
|
+
key = _this$get.key;
|
|
55
57
|
|
|
56
58
|
if (disabled) return;
|
|
57
59
|
|
|
58
60
|
if (hasSubMenu) {
|
|
59
61
|
this.expanded.toggle();
|
|
60
62
|
} else {
|
|
61
|
-
this.highlight.select();
|
|
63
|
+
this.rootMenu.highlight.select(key);
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
this.trigger('click', e);
|
|
@@ -32,9 +32,9 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
32
32
|
disabled = _this$get.disabled,
|
|
33
33
|
dot = _this$get.dot;
|
|
34
34
|
|
|
35
|
-
var
|
|
36
|
-
isHighlighted =
|
|
37
|
-
isSelected =
|
|
35
|
+
var _rootMenu$highlight = rootMenu.highlight,
|
|
36
|
+
isHighlighted = _rootMenu$highlight.isHighlighted,
|
|
37
|
+
isSelected = _rootMenu$highlight.isSelected;
|
|
38
38
|
var isExpandedKey = this.expanded.isExpanded;
|
|
39
39
|
var isExpanded = isExpandedKey(key);
|
|
40
40
|
|
|
@@ -50,7 +50,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
50
50
|
|
|
51
51
|
var classNameObj = (_classNameObj = {
|
|
52
52
|
'k-menu-item': true
|
|
53
|
-
}, _classNameObj[className] = className, _classNameObj['k-expanded'] = isExpanded, _classNameObj['k-disabled'] = disabled, _classNameObj['k-active'] = isSelected(), _classNameObj['k-highlighted'] = isHighlighted(), _classNameObj[makeItemStyles()] = true, _classNameObj);
|
|
53
|
+
}, _classNameObj[className] = className, _classNameObj['k-expanded'] = isExpanded, _classNameObj['k-disabled'] = disabled, _classNameObj['k-active'] = isSelected(key), _classNameObj['k-highlighted'] = isHighlighted(key), _classNameObj[makeItemStyles()] = true, _classNameObj);
|
|
54
54
|
var showDot = isTopItem && !iconVNode && isNullOrUndefined(dot) ? rootDot : dot;
|
|
55
55
|
|
|
56
56
|
var title = function title(children) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, TypeDefs, Key } from 'intact-vue-next';
|
|
2
|
+
import { useHighlight } from './useHighlight';
|
|
2
3
|
export interface MenuProps<K extends Key = Key> {
|
|
3
4
|
expandedKeys?: K[];
|
|
4
5
|
selectedKey?: K;
|
|
@@ -22,5 +23,7 @@ export declare class Menu<K extends Key = Key> extends Component<MenuProps<K>, M
|
|
|
22
23
|
static defaults: () => Partial<MenuProps<Key>>;
|
|
23
24
|
rootMenu: Menu<Key> | null;
|
|
24
25
|
parentMenu: Menu<Key> | null;
|
|
26
|
+
subExpandedKeys?: Set<K>;
|
|
27
|
+
highlight?: ReturnType<typeof useHighlight>;
|
|
25
28
|
init(): void;
|
|
26
29
|
}
|
package/components/menu/menu.js
CHANGED
|
@@ -2,6 +2,7 @@ import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
|
|
|
2
2
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
|
|
3
3
|
import { Component, provide, inject } from 'intact-vue-next';
|
|
4
4
|
import template from './menu.vdt';
|
|
5
|
+
import { useHighlight } from './useHighlight';
|
|
5
6
|
var typeDefs = {
|
|
6
7
|
expandedKeys: Array,
|
|
7
8
|
selectedKey: [String, Number],
|
|
@@ -39,6 +40,8 @@ export var Menu = /*#__PURE__*/function (_Component) {
|
|
|
39
40
|
_this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
|
|
40
41
|
_this.rootMenu = inject(ROOT_MENU, null);
|
|
41
42
|
_this.parentMenu = inject(MENU, null);
|
|
43
|
+
_this.subExpandedKeys = void 0;
|
|
44
|
+
_this.highlight = void 0;
|
|
42
45
|
return _this;
|
|
43
46
|
}
|
|
44
47
|
|
|
@@ -49,6 +52,7 @@ export var Menu = /*#__PURE__*/function (_Component) {
|
|
|
49
52
|
|
|
50
53
|
if (!this.rootMenu) {
|
|
51
54
|
provide(ROOT_MENU, this);
|
|
55
|
+
this.highlight = useHighlight();
|
|
52
56
|
}
|
|
53
57
|
};
|
|
54
58
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { Key } from 'intact-vue-next';
|
|
2
1
|
import type { Menu } from './';
|
|
3
|
-
export declare function useExpanded(rootMenu: Menu, parentMenu: Menu
|
|
4
|
-
subExpandedKeys?: Set<Key>;
|
|
5
|
-
}): {
|
|
2
|
+
export declare function useExpanded(rootMenu: Menu, parentMenu: Menu): {
|
|
6
3
|
isExpanded: () => boolean;
|
|
7
4
|
expand: () => void;
|
|
8
5
|
shrink: () => void;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { Key } from 'intact-vue-next';
|
|
2
|
-
|
|
3
|
-
export declare function useHighlight(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
updateStatus: (v: Key | undefined) => void;
|
|
8
|
-
select: () => void;
|
|
9
|
-
isSelected: () => boolean;
|
|
2
|
+
export declare const MENU_RECORD_KEY = "MenuKeys";
|
|
3
|
+
export declare function useHighlight(): {
|
|
4
|
+
isHighlighted: (key: Key) => boolean;
|
|
5
|
+
select: (key: Key) => void;
|
|
6
|
+
isSelected: (key: Key) => boolean;
|
|
10
7
|
};
|
|
@@ -2,56 +2,67 @@ import _Set from "@babel/runtime-corejs3/core-js/set";
|
|
|
2
2
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js/instance/map";
|
|
3
3
|
import _Array$from from "@babel/runtime-corejs3/core-js/array/from";
|
|
4
4
|
import { useInstance } from 'intact-vue-next';
|
|
5
|
-
import {
|
|
5
|
+
import { useRecordParent } from '../../hooks/useRecordComponent';
|
|
6
|
+
import { inArray } from '../table/useChecked';
|
|
7
|
+
import { useState } from '../../hooks/useState';
|
|
8
|
+
export var MENU_RECORD_KEY = 'MenuKeys';
|
|
9
|
+
export function useHighlight() {
|
|
10
|
+
var instance = useInstance();
|
|
11
|
+
var menuItems = useRecordParent(MENU_RECORD_KEY);
|
|
12
|
+
var highlightedKeys = useState([]);
|
|
13
|
+
instance.watch('selectedKey', updateStatus, {
|
|
14
|
+
presented: true
|
|
15
|
+
});
|
|
6
16
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
17
|
+
function updateStatus(newValue) {
|
|
18
|
+
var _loop = function _loop(i) {
|
|
19
|
+
var menuItem = menuItems[i];
|
|
20
|
+
var key = menuItem.get('key');
|
|
21
|
+
if (newValue !== key) return "continue";
|
|
22
|
+
var items = [];
|
|
23
|
+
var parentItem = menuItem.parentMenuItem;
|
|
11
24
|
|
|
12
|
-
|
|
13
|
-
|
|
25
|
+
while (parentItem) {
|
|
26
|
+
items.push(parentItem);
|
|
27
|
+
parentItem = parentItem.parentMenuItem;
|
|
28
|
+
}
|
|
14
29
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
key =
|
|
30
|
+
var expandedKeys = new _Set(instance.get('expandedKeys'));
|
|
31
|
+
highlightedKeys.set(_mapInstanceProperty(items).call(items, function (item) {
|
|
32
|
+
var key = item.get('key');
|
|
33
|
+
expandedKeys.add(key);
|
|
34
|
+
return key;
|
|
35
|
+
}));
|
|
36
|
+
instance.set('expandedKeys', _Array$from(expandedKeys));
|
|
37
|
+
return {
|
|
38
|
+
v: void 0
|
|
39
|
+
};
|
|
40
|
+
};
|
|
18
41
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var parentItem = parentMenuItem;
|
|
42
|
+
for (var i = 0; i < menuItems.length; i++) {
|
|
43
|
+
var _ret = _loop(i);
|
|
22
44
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
parentItem = parentItem.parentMenuItem;
|
|
45
|
+
if (_ret === "continue") continue;
|
|
46
|
+
if (typeof _ret === "object") return _ret.v;
|
|
26
47
|
}
|
|
27
48
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var highlightedKeys = _mapInstanceProperty(items).call(items, function (item) {
|
|
31
|
-
var key = item.get('key');
|
|
32
|
-
expandedKeys.add(key);
|
|
33
|
-
return key;
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
rootMenu.highlightedKeys = highlightedKeys;
|
|
37
|
-
rootMenu.set('expandedKeys', _Array$from(expandedKeys));
|
|
49
|
+
highlightedKeys.set([]);
|
|
38
50
|
}
|
|
39
51
|
|
|
40
|
-
function isHighlighted() {
|
|
41
|
-
return inArray(
|
|
52
|
+
function isHighlighted(key) {
|
|
53
|
+
return inArray(highlightedKeys.value, key);
|
|
42
54
|
}
|
|
43
55
|
|
|
44
|
-
function select() {
|
|
45
|
-
|
|
56
|
+
function select(key) {
|
|
57
|
+
instance.set('selectedKey', key);
|
|
46
58
|
}
|
|
47
59
|
|
|
48
|
-
function isSelected() {
|
|
49
|
-
return
|
|
60
|
+
function isSelected(key) {
|
|
61
|
+
return instance.get('selectedKey') === key;
|
|
50
62
|
}
|
|
51
63
|
|
|
52
64
|
return {
|
|
53
65
|
isHighlighted: isHighlighted,
|
|
54
|
-
updateStatus: updateStatus,
|
|
55
66
|
select: select,
|
|
56
67
|
isSelected: isSelected
|
|
57
68
|
};
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @king-design v2.0.
|
|
2
|
+
* @king-design v2.0.2
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Kingsoft Cloud
|
|
5
5
|
* Released under the MIT License
|
|
@@ -56,7 +56,7 @@ export * from './components/tree';
|
|
|
56
56
|
export * from './components/treeSelect';
|
|
57
57
|
export * from './components/upload';
|
|
58
58
|
export * from './components/wave';
|
|
59
|
-
export declare const version = "2.0.
|
|
59
|
+
export declare const version = "2.0.2";
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
export {normalize} from 'intact-vue-next';
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @king-design v2.0.
|
|
2
|
+
* @king-design v2.0.2
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Kingsoft Cloud
|
|
5
5
|
* Released under the MIT License
|
|
@@ -58,7 +58,7 @@ export * from './components/tree';
|
|
|
58
58
|
export * from './components/treeSelect';
|
|
59
59
|
export * from './components/upload';
|
|
60
60
|
export * from './components/wave';
|
|
61
|
-
export var version = '2.0.
|
|
61
|
+
export var version = '2.0.2';
|
|
62
62
|
/* generate end */
|
|
63
63
|
|
|
64
64
|
export {normalize} from 'intact-vue-next';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@king-design/vue",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "King-Design UI components for Vue3.0.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"component",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dayjs": "^1.10.7",
|
|
39
39
|
"downloadjs": "^1.4.7",
|
|
40
40
|
"enquire.js": "^2.1.6",
|
|
41
|
-
"intact-vue-next": "^3.0.
|
|
41
|
+
"intact-vue-next": "^3.0.3",
|
|
42
42
|
"monaco-editor": "^0.26.1",
|
|
43
43
|
"mxgraphx": "^4.0.7",
|
|
44
44
|
"resize-observer-polyfill": "^1.5.1",
|