Merge pull request #1226 from layui/2.x

release v2.8.0-rc.16
pull/1228/head
贤心 2023-04-21 10:45:41 +08:00 committed by GitHub
commit 34a10e2e4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 293 additions and 135 deletions

View File

@ -1,23 +1,23 @@
# 🍀 提 issue 的正确方式 # 🍀 提 Issue 的正确方式
## 标题 ## 标题
为了保持 issues 区域版面整洁可读, **创建 issue 时标题应尽量言简意赅** (一句话概括问题) 为了保持 Issues 区域版面整洁可读, 创建 Issue 时,**标题应尽量言简意赅** (一句话概括问题)
## 说明 ## 说明
创建 Issue 时,**[请按照文本框中的文字模板规范填写(点击查看示例)](https://foruda.gitee.com/images/1660197253451887123/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png)** ,尽量将您所遇到的问题描述详细,如: 创建 Issue 时,**[内容请按照文本框中的文字模板规范填写(点击查看示例)](https://foruda.gitee.com/images/1660197253451887123/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png)**,尽量将您所遇到的问题描述详细,如:
- **版本:** 提供所使用的 Layui 版本号。 - **版本:** 提供所使用的 Layui 版本号。
- **描述:** 提供尽可能详细的问题描述和具体操作步骤等信息,以便我们也能够更轻松地将问题复现。 - **描述:** 提供尽可能详细的问题描述和具体操作步骤等信息,以便我们也能够更轻松地将问题复现。
- **代码:** 提供与问题对应的业务代码,以便我们更好排查。 - **代码:** 提供与问题对应的业务代码,以便我们更好排查。
- **补充:** 如若必要,还可以提供其他补充,如截图等信息。 - **补充:** 如若必要,还可以提供其他补充,如截图等信息。
按照模板规范填写的初衷,是为了减少大家不必要的时间消耗,还望遵循并理解 > 按照模板规范填写的初衷,是为了减少大家不必要的时间消耗,还望遵循并理解
> **若 issue 未遵循模板规范,可能将无法获得相关回答,敬请知晓** - **若 Issue 未遵循模板规范,可能将无法获得相关回答,敬请知晓**
> 若 issue 是建议/分享/讨论性质的 ,则可以自由发挥 - 若 issue 是建议/分享/讨论性质的 ,则可以自由发挥
## 对接 ## 对接
- 在 issue 交流过程中,若问题已经得到解决,或 issue 并非项目相关的问题,请及时将状态设置为 「已完成」 - 在 Issue 交流过程中,若问题已经得到解决,或 Issue 并非项目相关的问题,请及时将状态设置为 「已完成」
- 大家本着相互尊重、理解和友善的态度进行交流,共同维护好 Layui 来之不易的良好社区氛围。谢谢 :sparkling_heart: - 大家本着相互尊重、理解和友善的态度进行交流,共同维护好 Layui 来之不易的良好社区氛围。谢谢 :sparkling_heart:

View File

@ -1,14 +1,14 @@
# Layui 《免责声明》 # Layui 《免责声明》
> 任何用户在使用由 Layui 技术开发团队以下简称「本团队」研发的系列开源界面组件库以下简称「Layui 开源界面组件库」)前,请您仔细阅读并透彻理解本声明。您可以选择不使用 Layui 开源界面组件库,若您一旦使用 Layui 开源界面组件库,您的使用行为即被视为对本声明全部内容的认可和接受。 > 任何用户在使用由 Layui 技术开发团队以下简称「本团队」研发的系列开源界面组件库以下简称「Layui」请您仔细阅读并透彻理解本声明。您可以选择不使用 Layui ,若您一旦使用 Layui ,您的使用行为即被视为对本声明全部内容的认可和接受。
1. Layui 开源界面组件库是一款开源免费的 Web UI 纯静态主题,主要用于更高效地开发网页界面。且 Layui 开源界面组件库并不具备「互联网接入、网络数据存储、通讯传输以及窃取用户隐私」中的任何一项与用户数据等信息相关的动态功能Layui 开源界面组件库仅是 UI 组件或素材类的本地资源。 1. Layui 是一款开源免费的 Web UI 纯静态主题,主要用于更高效地开发网页界面。且 Layui 并不具备「互联网接入、网络数据存储、通讯传输以及窃取用户隐私」中的任何一项与用户数据等信息相关的动态功能Layui 仅是 UI 组件或素材类的本地资源。
2. Layui 开源界面组件库仅属于 Web 前端的 UI 组件库,并不涉及任何后台程序代码;其尊重并保护所有用户的个人隐私权,不窃取任何用户计算机中的信息。更不具备用户数据存储等网络传输功能。 2. Layui 仅属于 Web 前端的 UI 组件库,并不涉及任何后台程序代码;其尊重并保护所有用户的个人隐私权,不窃取任何用户计算机中的信息。更不具备用户数据存储等网络传输功能。
3. 您承诺秉着合法、合理的原则使用 Layui 开源界面组件库,不利用 Layui 开源界面组件库进行任何违法、侵害他人合法利益等恶意的行为,亦不将 Layui 开源界面组件库运用于任何违反我国法律法规的 Web 平台。 3. 您承诺秉着合法、合理的原则使用 Layui ,不利用 Layui 进行任何违法、侵害他人合法利益等恶意的行为,亦不将 Layui 运用于任何违反我国法律法规的 Web 平台。
4. 任何单位或个人因下载使用 Layui 开源界面组件库而产生的任何意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带或衍生的损失等),本团队不承担任何法律责任。 4. 任何单位或个人因下载使用 Layui 而产生的任何意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带或衍生的损失等),本团队不承担任何法律责任。
5. 用户明确并同意本声明条款列举的全部内容,对使用 Layui 开源界面组件库可能存在的风险和相关后果将完全由用户自行承担,本团队不承担任何法律责任。 5. 用户明确并同意本声明条款列举的全部内容,对使用 Layui 可能存在的风险和相关后果将完全由用户自行承担,本团队不承担任何法律责任。
6. 任何单位或个人在阅读本免责声明后应在《MIT 开源许可证》所允许的范围内进行合法的发布、传播和使用 Layui 开源界面组件库等行为,若违反本免责声明条款或违反法律法规所造成的法律责任(包括但不限于民事赔偿和刑事责任),由违约者自行承担。 6. 任何单位或个人在阅读本免责声明后应在《MIT 开源许可证》所允许的范围内进行合法的发布、传播和使用 Layui 等行为,若违反本免责声明条款或违反法律法规所造成的法律责任(包括但不限于民事赔偿和刑事责任),由违约者自行承担。
7. 本团队对 Layui 开源界面组件库拥有知识产权(包括但不限于商标权、专利权、著作权、商业秘密等),上述产品均受到相关法律法规的保护。 7. 本团队对 Layui 拥有知识产权(包括但不限于商标权、专利权、著作权、商业秘密等),上述产品均受到相关法律法规的保护。
8. 任何单位或个人不得在未经本团队书面授权的情况下对 Layui 开源界面组件库本身申请相关的知识产权。 8. 任何单位或个人不得在未经本团队书面授权的情况下对 Layui 本身申请相关的知识产权。
9. 如果本声明的任何部分被认为无效或不可执行,则该部分将被解释为反映本团队的初衷,其余部分仍具有完全效力。不可执行的部分声明,并不构成我们放弃执行该声明的权利。 9. 如果本声明的任何部分被认为无效或不可执行,则该部分将被解释为反映本团队的初衷,其余部分仍具有完全效力。不可执行的部分声明,并不构成我们放弃执行该声明的权利。
10. 本团队有权随时对本声明条款及附件内容进行单方面的变更,并以消息推送、网页公告等方式予以公布,公布后立即自动生效,无需另行单独通知;若您在本声明内容公告变更后继续使用的,表示您已充分阅读、理解并接受修改后的声明内容。 10. 本团队有权随时对本声明条款及附件内容进行单方面的变更,并以消息推送、网页公告等方式予以公布,公布后立即自动生效,无需另行单独通知;若您在本声明内容公告变更后继续使用的,表示您已充分阅读、理解并接受修改后的声明内容。

2
dist/css/layui.css vendored

File diff suppressed because one or more lines are too long

BIN
dist/font/iconfont.eot vendored

Binary file not shown.

View File

@ -14,7 +14,15 @@
/> />
<missing-glyph /> <missing-glyph />
<glyph glyph-name="github" unicode="&#59047;" d="M512 852.11428587c258.43809493 0 468.11428587-209.67619093 468.11428587-468.11428587 0-206.63344747-134.07573333-382.17630507-319.99512427-444.35748587-23.7568-4.2520384-32.29988587 10.37653333-32.29988587 22.54750507 0 15.25272427 0.62415253 65.80906667 0.62415254 128.6144 0 43.88571413-14.62857173 71.9335616-31.67573334 86.56213333 104.23344747 11.58582827 213.92822827 51.21950507 213.92822934 231.0144 0 51.21950507-18.29546667 92.6476192-48.13775254 125.57165654 4.87619093 12.2099808 20.7140576 59.7235808-4.87619093 124.32335253-39.00952427 12.2099808-128.6144-48.13775253-128.6144-48.13775253a440.02742827 440.02742827 0 0 1-234.0571424 0S305.4055616 670.4859424 266.3960384 658.2759616c-25.59024747-64.59977173-9.7523808-112.1523808-4.87619093-124.32335253-29.88129493-32.9240384-48.13775253-74.35215253-48.13775254-125.57165654 0-179.20975253 109.1096384-219.42857173 213.34308587-231.0144-13.41927573-12.2099808-25.59024747-32.9240384-29.88129493-62.76632426-26.83855253-12.2099808-95.1052192-32.9240384-135.9091808 39.00952426-25.59024747 44.50986667-71.9335616 48.13775253-71.93356267 48.13775254-45.7191616 0.62415253-3.0427424-28.63299093-3.0427424-28.63299094 30.4664384-14.0044192 51.80464747-68.26666667 51.80464747-68.26666666 27.42369493-83.51939093 157.8715424-55.4715424 157.87154346-55.4715424 0-39.00952427 0.62415253-75.56144747 0.62415147-87.1472768 0-12.2099808-8.54308587-26.83855253-32.2998848-22.547504C178.03946667 1.8627050699999472 43.96373333 177.40556160000006 43.96373333 384.03900907c0 258.43809493 209.67619093 468.11428587 468.11428587 468.11428586zM221.2620192 179.82415253c1.20929493 2.4576-0.62415253 5.5003424-4.2520384 7.2947808-3.66689493 1.20929493-6.7096384 0.62415253-7.91893333-1.20929493-1.20929493-2.4576 0.62415253-5.5003424 4.2520384-7.2947808 3.0427424-1.83344747 6.7096384-1.20929493 7.91893333 1.20929493z m18.88060907-20.75306666c2.4576 1.83344747 1.83344747 6.08548587-1.20929494 9.7523808-3.0427424 3.0427424-7.2947808 4.2520384-9.7523808 1.83344746-2.4576-1.83344747-1.83344747-6.08548587 1.20929494-9.7523808 3.0427424-3.0427424 7.2947808-4.2520384 9.7523808-1.83344746z m18.29546666-27.42369494c3.0427424 2.4576 3.0427424 7.2947808 0 11.58582827-2.4576 4.2520384-7.2947808 6.08548587-10.37653333 3.66689493-3.0427424-1.83344747-3.0427424-6.7096384 0-10.96167573s7.91893333-6.08548587 10.37653333-4.2520384z m25.59024747-25.59024853c2.4576 2.4576 1.20929493 7.91893333-2.4576 11.58582933-4.2520384 4.2520384-9.7523808 4.87619093-12.2099808 1.83344747-3.0427424-2.4576-1.83344747-7.91893333 2.4576-11.58582827 4.2520384-4.2520384 9.7523808-4.87619093 12.2099808-1.83344853z m34.75748587-15.2527232c1.20929493 3.66689493-2.4576 7.91893333-7.91893334 9.7523808-4.87619093 1.20929493-10.37653333-0.62415253-11.58582826-4.2520384s2.4576-7.91893333 7.91893333-9.12822827c4.87619093-1.83344747 10.37653333 0 11.58582827 3.66689494z m38.38537173-3.04274347c0 4.2520384-4.87619093 7.2947808-10.37653333 6.7096384-5.5003424 0-9.7523808-3.0427424-9.7523808-6.7096384 0-4.2520384 4.2520384-7.2947808 10.37653333-6.70963733 5.5003424 0 9.7523808 3.0427424 9.7523808 6.70963733z m35.34262827 6.08548587c-0.62415253 3.66689493-5.5003424 6.08548587-10.96167574 5.50034347-5.5003424-1.20929493-9.12822827-4.87619093-8.54308586-9.12822934 0.62415253-3.66689493 5.5003424-6.08548587 10.96167573-4.87618986s9.12822827 4.87619093 8.54308587 8.54308586z" horiz-adv-x="1024" /> <glyph glyph-name="leaf" unicode="&#59137;" d="M1017.948269 886.876437c-4.863707 5.785251-12.031275 9.113051-19.557222 9.113051l-26.110427 0c-258.032454 0.102394-461.847374 0.153591-611.905533-35.735447-80.635142-19.301237-142.992985-48.432282-190.606116-89.031436-51.401703-43.82456-86.420393-101.216302-107.155144-175.554223-13.77197-49.353826-20.222782-138.487656 6.96278-227.160714 10.034595-32.766026 25.700852-63.688963 46.589193-92.103251-62.255449-97.530124-116.063407-225.983185-116.063407-378.805977 0-14.130349 11.468109-25.598458 25.598458-25.598458s25.598458 11.468109 25.598458 25.598458c0 235.761795 139.665185 410.650458 222.91137 493.845446 59.7468 59.7468 127.275532 110.175762 195.367429 145.808815 63.381781 33.175601 123.947732 51.4529 170.536925 51.4529 14.130349 0 25.598458 11.468109 25.598458 25.598458s-11.468109 25.598458-25.598458 25.598458c-55.497456 0-122.667809-19.813206-194.241097-57.340545-72.597226-38.039308-144.477695-91.591282-207.80828-154.973063-26.72479-26.72479-58.876453-62.357843-90.823328-105.977615-12.389654 19.506025-22.014674 40.189579-28.619076 61.794677-25.598458 83.553366-16.178225 164.034917-6.604402 198.388047 73.211589 262.384191 351.313233 263.049751 855.858835 262.896161-60.156376-321.926204-172.328817-530.29765-333.599101-619.533873-149.597387-82.785412-297.966048-37.629733-354.845821-14.335136-11.980078 4.914904-24.06255 10.95614-35.786644 17.91892-12.133669 7.218765-27.851122 3.225406-35.069887-8.908263s-3.225406-27.851122 8.908263-35.069887c13.925561-8.2939 28.260697-15.461468 42.595834-21.349114 31.844481-13.004017 83.143791-29.694211 146.679163-35.172281 14.027955-1.228726 27.902319-1.791892 41.674289-1.791892 75.208269 0 145.860012 18.072511 210.675307 53.910352 82.375837 45.565255 153.641943 119.749585 211.904033 220.351524 68.296685 118.00889 119.698388 274.51786 152.720399 465.175173 1.279923 7.423553-0.767954 15.051893-5.631661 20.837145z" horiz-adv-x="1025" />
<glyph glyph-name="folder" unicode="&#60094;" d="M970.666667 682.666667H542.173333L429.793333 795.046667A52.986667 52.986667 0 0 1 392.08 810.666667H96a53.393333 53.393333 0 0 1-53.333333-53.333334v-704a53.393333 53.393333 0 0 1 53.333333-53.333333h874.666667a53.393333 53.393333 0 0 1 53.333333 53.333333V629.333333a53.393333 53.393333 0 0 1-53.333333 53.333334zM96 768h296.08a10.573333 10.573333 0 0 0 7.54-3.126667L481.826667 682.666667H96a53.546667 53.546667 0 0 1-10.666667-1.073334V757.333333a10.666667 10.666667 0 0 0 10.666667 10.666667z m885.333333-714.666667a10.666667 10.666667 0 0 0-10.666666-10.666666H96a10.666667 10.666667 0 0 0-10.666667 10.666666V629.333333a10.666667 10.666667 0 0 0 10.666667 10.666667h874.666667a10.666667 10.666667 0 0 0 10.666666-10.666667z" horiz-adv-x="1024" />
<glyph glyph-name="folder-open" unicode="&#60097;" d="M1003.153333 491.04a52.933333 52.933333 0 0 1-42.38 20.96H896V629.333333a53.393333 53.393333 0 0 1-53.333333 53.333334H461.253333a10.573333 10.573333 0 0 0-7.54 3.126666L344.46 795.046667A52.986667 52.986667 0 0 1 306.746667 810.666667H53.333333a53.393333 53.393333 0 0 1-53.333333-53.333334v-704a53.393333 53.393333 0 0 1 53.333333-53.333333h796.893334a53.453333 53.453333 0 0 1 51.453333 39.333333l110.546667 405.333334a52.953333 52.953333 0 0 1-9.073334 46.373333zM53.333333 768h253.413334a10.573333 10.573333 0 0 0 7.54-3.126667l109.253333-109.253333A52.986667 52.986667 0 0 1 461.253333 640H842.666667a10.666667 10.666667 0 0 0 10.666666-10.666667v-117.333333H173.773333a53.453333 53.453333 0 0 1-51.453333-39.333333L42.666667 180.633333V757.333333a10.666667 10.666667 0 0 0 10.666666 10.666667z m917.726667-312.14l-110.546667-405.333333a10.666667 10.666667 0 0 0-10.286666-7.86H63.226667a10.666667 10.666667 0 0 0-10.286667 13.473333l110.546667 405.333333A10.666667 10.666667 0 0 0 173.773333 469.333333h787a10.666667 10.666667 0 0 0 10.286667-13.473333z" horiz-adv-x="1024" />
<glyph glyph-name="gitee" unicode="&#59035;" d="M512-128C229.222-128 0 101.222 0 384S229.222 896 512 896s512-229.222 512-512-229.222-512-512-512z m259.149 568.883h-290.74a25.293 25.293 0 0 1-25.292-25.293l-0.026-63.206c0-13.952 11.315-25.293 25.267-25.293h177.024c13.978 0 25.293-11.315 25.293-25.267v-12.646a75.853 75.853 0 0 0-75.853-75.853h-240.23a25.293 25.293 0 0 0-25.267 25.293V478.797a75.853 75.853 0 0 0 75.827 75.853h353.946a25.293 25.293 0 0 1 25.267 25.292l0.077 63.207a25.293 25.293 0 0 1-25.268 25.293H417.152a189.62 189.62 0 0 1-189.62-189.645V124.85c0-13.977 11.316-25.293 25.294-25.293h372.94a170.65 170.65 0 0 1 170.65 170.65V415.616a25.293 25.293 0 0 1-25.293 25.267z" horiz-adv-x="1024" />
<glyph glyph-name="github" unicode="&#59047;" d="M512 883.32190493c275.66730126 0 499.32190493-223.65460366 499.32190493-499.32190493 0-220.40901063-143.01411555-407.65472541-341.32813256-473.98131826-25.34058667-4.53550763-34.45321159 11.06830222-34.45321159 24.05067207 0 16.26957255 0.6657627 70.19633778 0.66576271 137.18869334 0 46.81142841-15.60380985 76.72913237-33.7874489 92.33294222 111.18234397 12.35821682 228.19011015 54.63413874 228.1901113 246.41536 0 54.63413874-19.51516445 98.82412715-51.34693604 133.9431003 5.20127033 13.02397952 22.09499477 63.70515285-5.20127033 132.61157604-41.61015922 13.02397952-137.18869333-51.34693603-137.18869333-51.34693604a469.36259015 469.36259015 0 0 1-249.6609519 0S291.63259904 689.58500523 250.02244096 676.56102571c-27.29626397-68.90642318-10.40253952-119.62920619-5.20127033-132.61157604-31.87338126-35.11897429-51.34693603-79.3089627-51.34693604-133.9431003 0-191.15706937 116.38361429-234.05714318 227.56595826-246.41536-14.31389411-13.02397952-27.29626397-35.11897429-31.87338126-66.95074588-28.62778937-13.02397952-101.44556715-35.11897429-144.96979285 41.61015921-27.29626397 47.47719111-76.72913237 51.34693603-76.72913351 51.34693604-48.76710571 0.6657627-3.24559189-30.54185699-3.2455919-30.541857 32.49753429-14.93804715 55.25829063-72.81777778 55.25829064-72.81777777 29.25194126-89.08735033 168.39631189-59.16964523 168.39631302-59.16964523 0-41.61015922 0.6657627-80.5988773 0.66576157-92.95709525 0-13.02397952-9.11262493-28.62778937-34.45321045-24.05067094C155.77543111-23.61311459000001 12.76131555 163.63259903999995 12.76131555 384.04160967c0 275.66730126 223.65460366 499.32190493 499.32190493 499.32190492zM201.87948715 166.21242937c1.28991459 2.62144-0.6657627 5.86703189-4.53550763 7.78109952-3.91135459 1.28991459-7.15694763 0.6657627-8.44686222-1.2899146-1.28991459-2.62144 0.6657627-5.86703189 4.53550763-7.78109952 3.24559189-1.9556773 7.15694763-1.28991459 8.44686222 1.2899146z m20.13931634-22.13660444c2.62144 1.9556773 1.9556773 6.49118493-1.2899146 10.40253952-3.24559189 3.24559189-7.78109952 4.53550763-10.40253952 1.95567729-2.62144-1.9556773-1.9556773-6.49118493 1.2899146-10.40253952 3.24559189-3.24559189 7.78109952-4.53550763 10.40253952-1.95567729z m19.51516444-29.25194127c3.24559189 2.62144 3.24559189 7.78109952 0 12.35821682-2.62144 4.53550763-7.78109952 6.49118493-11.06830222 3.91135459-3.24559189-1.9556773-3.24559189-7.15694763 0-11.69245411s8.44686222-6.49118493 11.06830222-4.53550763z m27.29626396-27.2962651c2.62144 2.62144 1.28991459 8.44686222-2.62144 12.35821795-4.53550763 4.53550763-10.40253952 5.20127033-13.02397952 1.9556773-3.24559189-2.62144-1.9556773-8.44686222 2.62144-12.35821682 4.53550763-4.53550763 10.40253952-5.20127033 13.02397952-1.95567843z m37.0746516-16.26957141c1.28991459 3.91135459-2.62144 8.44686222-8.44686223 10.40253952-5.20127033 1.28991459-11.06830222-0.6657627-12.35821681-4.53550763s2.62144-8.44686222 8.44686222-9.73677682c5.20127033-1.9556773 11.06830222 0 12.35821682 3.9113546z m40.94439651-3.24559304c0 4.53550763-5.20127033 7.78109952-11.06830222 7.15694763-5.86703189 0-10.40253952-3.24559189-10.40253952-7.15694763 0-4.53550763 4.53550763-7.78109952 11.06830222-7.15694648 5.86703189 0 10.40253952 3.24559189 10.40253952 7.15694648z m37.69880349 6.49118493c-0.6657627 3.91135459-5.86703189 6.49118493-11.69245412 5.86703303-5.86703189-1.28991459-9.73677682-5.20127033-9.11262492-9.73677796 0.6657627-3.91135459 5.86703189-6.49118493 11.69245411-5.20126918s9.73677682 5.20127033 9.11262493 9.11262492z" horiz-adv-x="1024" />
<glyph glyph-name="disabled" unicode="&#59084;" d="M509.20496914 834c-245.9627332 0-447.20496914-201.24223594-447.20496914-447.20496914s201.24223594-447.20496914 447.20496914-447.20496914 447.20496914 201.24223594 447.20496914 447.20496914-201.24223594 447.20496914-447.20496914 447.20496914zM509.20496914-10.09937930000001C291.19254628-10.09937930000001 112.31055898 168.78260888 112.31055898 386.79503086c0 95.03105625 33.54037295 184.4720499 95.03105625 257.14285752l553.41614883-553.41614883C693.67701904 23.440993649999996 604.23602451-10.09937930000001 509.20496914-10.09937930000001z m296.27329131 134.16149092l-559.00621055 553.41614883C319.14285752 738.96894375 408.58385117 778.0993793 509.20496914 778.0993793c218.01242197 0 396.89441016-178.8819873 396.89441016-396.89441016 0-95.03105625-39.13043467-190.06211162-100.62111885-257.14285752z" horiz-adv-x="1024" /> <glyph glyph-name="disabled" unicode="&#59084;" d="M509.20496914 834c-245.9627332 0-447.20496914-201.24223594-447.20496914-447.20496914s201.24223594-447.20496914 447.20496914-447.20496914 447.20496914 201.24223594 447.20496914 447.20496914-201.24223594 447.20496914-447.20496914 447.20496914zM509.20496914-10.09937930000001C291.19254628-10.09937930000001 112.31055898 168.78260888 112.31055898 386.79503086c0 95.03105625 33.54037295 184.4720499 95.03105625 257.14285752l553.41614883-553.41614883C693.67701904 23.440993649999996 604.23602451-10.09937930000001 509.20496914-10.09937930000001z m296.27329131 134.16149092l-559.00621055 553.41614883C319.14285752 738.96894375 408.58385117 778.0993793 509.20496914 778.0993793c218.01242197 0 396.89441016-178.8819873 396.89441016-396.89441016 0-95.03105625-39.13043467-190.06211162-100.62111885-257.14285752z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 316 KiB

After

Width:  |  Height:  |  Size: 321 KiB

BIN
dist/font/iconfont.ttf vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

2
dist/layui.js vendored

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>文档中转页</title>
</head>
<body>
<script>
setTimeout(function(){
location.href = 'https://layui.gitee.io/v2';
});
</script>
</body>

File diff suppressed because one or more lines are too long

93
examples/treeTable.html Normal file
View File

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>树形表格 - layui</title>
<link rel="stylesheet" href="../src/css/layui.css">
<style>
body {padding: 32px;}
</style>
</head>
<body>
<table class="layui-hide" id="test"></table>
<script src="../src/layui.js"></script>
<script>
layui.use(['treeTable'], function(){
var treeTable = layui.treeTable;
// 渲染
treeTable.render({
elem: '#test',
url: './json/treeTable/demo-1.json',
maxHeight: 'full-32',
cols: [[
{type: 'numbers', fixed: 'left'},
{field: 'id', title: 'ID', width: 145, sort: true, fixed: 'left', totalRow: '合计:'},
{field: 'name', title: '用户名', width: 180, fixed: 'left'},
{field: 'experience', title: '积分', width: 90, sort: true},
{field: 'sex', title: '性别', width: 80, sort: true},
{field: 'score', title: '评分', width: 80, sort: true},
{field: 'city', title: '城市', width: 150},
{field: 'description', title: '描述', minWidth: 200},
{field: 'createTime', title: '创建时间', width: 170},
]],
page: true
});
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Mock.js/1.0.0/mock-min.js"></script>
<script>
// 生成模拟数据
const createData = () => {
// 生成随机 ID 函数
const createId = (() => {
let nextId = 1
return () => nextId++
})()
// 生成节点函数
const createNode = (parentId = null, level = 0) => {
const id = createId()
const children = level < 3 ? Mock.mock({
'array|0-5': [
createNode.bind(null, id, level + 1)
]
}).array : []
return {
id,
name: `User-${id}`,
type: Mock.mock('@d6'),
status: Mock.Random.d4(),
score: Mock.Random.d100(),
experience: Mock.Random.integer(1000, 99999),
sex: Mock.Random.cword('男女', 1),
city: Mock.Random.city(),
description: '-',
createTime: Mock.mock('@datetime'),
parentId,
children,
isParent: !!children.length
}
}
// 生成树
const rootNodes = Mock.mock({
'array|10-20': [
createNode
]
}).array
const getTreeData = function (nodes) {
let result = []
nodes.forEach(node => {
result.push({...node, parentId: null, children: getTreeData(node.children)});
})
return result
};
return getTreeData(rootNodes);
};
</script>
</body>
</html>

View File

@ -1,6 +1,6 @@
{ {
"name": "layui", "name": "layui",
"version": "2.8.0-rc.15", "version": "2.8.0-rc.16",
"description": "Classic modular Front-End UI library", "description": "Classic modular Front-End UI library",
"main": "dist/layui.js", "main": "dist/layui.js",
"license": "MIT", "license": "MIT",

View File

@ -65,6 +65,10 @@ a cite{font-style: normal; *cursor:pointer;}
} }
/* font-class */ /* font-class */
.layui-icon-leaf:before{content: "\e701";}
.layui-icon-folder:before{content: "\eabe";}
.layui-icon-folder-open:before{content: "\eac1";}
.layui-icon-gitee:before{content: "\e69b";}
.layui-icon-github:before{content:"\e6a7"} .layui-icon-github:before{content:"\e6a7"}
.layui-icon-disabled:before{content:"\e6cc"} .layui-icon-disabled:before{content:"\e6cc"}
.layui-icon-moon:before{content:"\e6c2"} .layui-icon-moon:before{content:"\e6c2"}
@ -266,7 +270,7 @@ a cite{font-style: normal; *cursor:pointer;}
/* 后台框架大布局 */ /* 后台框架大布局 */
.layui-layout-body{overflow-x: hidden;} .layui-layout-body{overflow-x: hidden;}
.layui-layout-admin .layui-header{position: fixed; top: 0; left: 0; right: 0; background-color: #23262E;} .layui-layout-admin .layui-header{position: fixed; top: 0; left: 0; right: 0; background-color: #23292e;}
.layui-layout-admin .layui-side{top: 60px; width: 200px; overflow-x: hidden;} .layui-layout-admin .layui-side{top: 60px; width: 200px; overflow-x: hidden;}
.layui-layout-admin .layui-body{position: absolute; top: 60px; padding-bottom: 44px;} .layui-layout-admin .layui-body{position: absolute; top: 60px; padding-bottom: 44px;}
.layui-layout-admin .layui-main{width: auto; margin: 0 15px;} .layui-layout-admin .layui-main{width: auto; margin: 0 15px;}
@ -575,9 +579,10 @@ a cite{font-style: normal; *cursor:pointer;}
.layui-bg-red{background-color: #ff5722 !important; color: #fff!important;} /*赤*/ .layui-bg-red{background-color: #ff5722 !important; color: #fff!important;} /*赤*/
.layui-bg-orange{background-color: #ffb800!important; color: #fff!important;} /*橙*/ .layui-bg-orange{background-color: #ffb800!important; color: #fff!important;} /*橙*/
.layui-bg-green{background-color: #16baaa!important; color: #fff!important;} /*绿*/ .layui-bg-green{background-color: #16baaa!important; color: #fff!important;} /*绿*/
.layui-bg-cyan{background-color: #2f4056!important; color: #fff!important;} /*青*/ .layui-bg-cyan{background-color: #2f4056!important; color: #fff!important;} /*青*/
.layui-bg-blue{background-color: #1e9fff!important; color: #fff!important;} /*蓝*/ .layui-bg-blue{background-color: #1e9fff!important; color: #fff!important;} /*蓝*/
.layui-bg-black{background-color: #393d49!important; color: #fff!important;} /*深*/ .layui-bg-purple{background-color: #a233c6!important; color: #fff!important;} /*紫*/
.layui-bg-black{background-color: #2f363c!important; color: #fff!important;} /*深*/
.layui-bg-gray{background-color: #fafafa!important; color: #5F5F5F!important;} /*浅*/ .layui-bg-gray{background-color: #fafafa!important; color: #5F5F5F!important;} /*浅*/
/* 边框 */ /* 边框 */
@ -605,7 +610,8 @@ a cite{font-style: normal; *cursor:pointer;}
.layui-border-green{border-width: 1px; border-style: solid; border-color: #16baaa!important; color: #16baaa!important;} .layui-border-green{border-width: 1px; border-style: solid; border-color: #16baaa!important; color: #16baaa!important;}
.layui-border-cyan{border-width: 1px; border-style: solid; border-color: #2f4056!important; color: #2f4056!important;} .layui-border-cyan{border-width: 1px; border-style: solid; border-color: #2f4056!important; color: #2f4056!important;}
.layui-border-blue{border-width: 1px; border-style: solid; border-color: #1e9fff!important; color: #1e9fff!important;} .layui-border-blue{border-width: 1px; border-style: solid; border-color: #1e9fff!important; color: #1e9fff!important;}
.layui-border-black{border-width: 1px; border-style: solid; border-color: #393d49!important; color: #393d49!important;} .layui-border-purple{border-width: 1px; border-style: solid; border-color: #a233c6!important; color: #a233c6!important;}
.layui-border-black{border-width: 1px; border-style: solid; border-color: #2f363c!important; color: #2f363c!important;}
/* 背景边框 */ /* 背景边框 */
.layui-timeline-item:before{background-color: #eee;} .layui-timeline-item:before{background-color: #eee;}
@ -655,10 +661,11 @@ a cite{font-style: normal; *cursor:pointer;}
.layui-font-red{color: #ff5722 !important;} /*赤*/ .layui-font-red{color: #ff5722 !important;} /*赤*/
.layui-font-orange{color: #ffb800!important;} /*橙*/ .layui-font-orange{color: #ffb800!important;} /*橙*/
.layui-font-green{color: #16baaa!important;} /*绿*/ .layui-font-green{color: #16baaa!important;} /*绿*/
.layui-font-cyan{color: #2f4056!important;} /*青*/ .layui-font-cyan{color: #2f4056!important;} /*青*/
.layui-font-blue{color: #01AAED!important;} /*蓝*/ .layui-font-blue{color: #01AAED!important;} /*蓝*/
.layui-font-black{color: #000!important;} /*黑*/ .layui-font-purple{color: #a233c6 !important;} /*紫*/
.layui-font-gray{color: #c2c2c2!important;} /*灰*/ .layui-font-black{color: #000!important;} /*深*/
.layui-font-gray{color: #c2c2c2!important;} /*浅*/
@ -1189,7 +1196,7 @@ body .layui-table-tips .layui-layer-content{background: none; padding: 0; box-sh
.layui-dropdown-shade{top: 0; left: 0; width: 100%; height: 100%; _height: expression(document.body.offsetHeight+"px"); position: fixed; _position: absolute; pointer-events: auto;} .layui-dropdown-shade{top: 0; left: 0; width: 100%; height: 100%; _height: expression(document.body.offsetHeight+"px"); position: fixed; _position: absolute; pointer-events: auto;}
/** 导航菜单 **/ /** 导航菜单 **/
.layui-nav{position: relative; padding: 0 15px; background-color: #393d49; color: #fff; border-radius: 2px; font-size: 0; box-sizing: border-box;} .layui-nav{position: relative; padding: 0 15px; background-color: #2f363c; color: #fff; border-radius: 2px; font-size: 0; box-sizing: border-box;}
.layui-nav *{font-size: 14px;} .layui-nav *{font-size: 14px;}
.layui-nav .layui-nav-item{position: relative; display: inline-block; *display: inline; *zoom: 1; margin-top: 0; list-style: none; vertical-align: middle; line-height: 60px;} .layui-nav .layui-nav-item{position: relative; display: inline-block; *display: inline; *zoom: 1; margin-top: 0; list-style: none; vertical-align: middle; line-height: 60px;}
.layui-nav .layui-nav-item a{display: block; padding: 0 20px; color: #fff; color: rgba(255,255,255,.7); transition: all .3s; -webkit-transition: all .3s;} .layui-nav .layui-nav-item a{display: block; padding: 0 20px; color: #fff; color: rgba(255,255,255,.7); transition: all .3s; -webkit-transition: all .3s;}

Binary file not shown.

View File

@ -14,7 +14,15 @@
/> />
<missing-glyph /> <missing-glyph />
<glyph glyph-name="github" unicode="&#59047;" d="M512 852.11428587c258.43809493 0 468.11428587-209.67619093 468.11428587-468.11428587 0-206.63344747-134.07573333-382.17630507-319.99512427-444.35748587-23.7568-4.2520384-32.29988587 10.37653333-32.29988587 22.54750507 0 15.25272427 0.62415253 65.80906667 0.62415254 128.6144 0 43.88571413-14.62857173 71.9335616-31.67573334 86.56213333 104.23344747 11.58582827 213.92822827 51.21950507 213.92822934 231.0144 0 51.21950507-18.29546667 92.6476192-48.13775254 125.57165654 4.87619093 12.2099808 20.7140576 59.7235808-4.87619093 124.32335253-39.00952427 12.2099808-128.6144-48.13775253-128.6144-48.13775253a440.02742827 440.02742827 0 0 1-234.0571424 0S305.4055616 670.4859424 266.3960384 658.2759616c-25.59024747-64.59977173-9.7523808-112.1523808-4.87619093-124.32335253-29.88129493-32.9240384-48.13775253-74.35215253-48.13775254-125.57165654 0-179.20975253 109.1096384-219.42857173 213.34308587-231.0144-13.41927573-12.2099808-25.59024747-32.9240384-29.88129493-62.76632426-26.83855253-12.2099808-95.1052192-32.9240384-135.9091808 39.00952426-25.59024747 44.50986667-71.9335616 48.13775253-71.93356267 48.13775254-45.7191616 0.62415253-3.0427424-28.63299093-3.0427424-28.63299094 30.4664384-14.0044192 51.80464747-68.26666667 51.80464747-68.26666666 27.42369493-83.51939093 157.8715424-55.4715424 157.87154346-55.4715424 0-39.00952427 0.62415253-75.56144747 0.62415147-87.1472768 0-12.2099808-8.54308587-26.83855253-32.2998848-22.547504C178.03946667 1.8627050699999472 43.96373333 177.40556160000006 43.96373333 384.03900907c0 258.43809493 209.67619093 468.11428587 468.11428587 468.11428586zM221.2620192 179.82415253c1.20929493 2.4576-0.62415253 5.5003424-4.2520384 7.2947808-3.66689493 1.20929493-6.7096384 0.62415253-7.91893333-1.20929493-1.20929493-2.4576 0.62415253-5.5003424 4.2520384-7.2947808 3.0427424-1.83344747 6.7096384-1.20929493 7.91893333 1.20929493z m18.88060907-20.75306666c2.4576 1.83344747 1.83344747 6.08548587-1.20929494 9.7523808-3.0427424 3.0427424-7.2947808 4.2520384-9.7523808 1.83344746-2.4576-1.83344747-1.83344747-6.08548587 1.20929494-9.7523808 3.0427424-3.0427424 7.2947808-4.2520384 9.7523808-1.83344746z m18.29546666-27.42369494c3.0427424 2.4576 3.0427424 7.2947808 0 11.58582827-2.4576 4.2520384-7.2947808 6.08548587-10.37653333 3.66689493-3.0427424-1.83344747-3.0427424-6.7096384 0-10.96167573s7.91893333-6.08548587 10.37653333-4.2520384z m25.59024747-25.59024853c2.4576 2.4576 1.20929493 7.91893333-2.4576 11.58582933-4.2520384 4.2520384-9.7523808 4.87619093-12.2099808 1.83344747-3.0427424-2.4576-1.83344747-7.91893333 2.4576-11.58582827 4.2520384-4.2520384 9.7523808-4.87619093 12.2099808-1.83344853z m34.75748587-15.2527232c1.20929493 3.66689493-2.4576 7.91893333-7.91893334 9.7523808-4.87619093 1.20929493-10.37653333-0.62415253-11.58582826-4.2520384s2.4576-7.91893333 7.91893333-9.12822827c4.87619093-1.83344747 10.37653333 0 11.58582827 3.66689494z m38.38537173-3.04274347c0 4.2520384-4.87619093 7.2947808-10.37653333 6.7096384-5.5003424 0-9.7523808-3.0427424-9.7523808-6.7096384 0-4.2520384 4.2520384-7.2947808 10.37653333-6.70963733 5.5003424 0 9.7523808 3.0427424 9.7523808 6.70963733z m35.34262827 6.08548587c-0.62415253 3.66689493-5.5003424 6.08548587-10.96167574 5.50034347-5.5003424-1.20929493-9.12822827-4.87619093-8.54308586-9.12822934 0.62415253-3.66689493 5.5003424-6.08548587 10.96167573-4.87618986s9.12822827 4.87619093 8.54308587 8.54308586z" horiz-adv-x="1024" /> <glyph glyph-name="leaf" unicode="&#59137;" d="M1017.948269 886.876437c-4.863707 5.785251-12.031275 9.113051-19.557222 9.113051l-26.110427 0c-258.032454 0.102394-461.847374 0.153591-611.905533-35.735447-80.635142-19.301237-142.992985-48.432282-190.606116-89.031436-51.401703-43.82456-86.420393-101.216302-107.155144-175.554223-13.77197-49.353826-20.222782-138.487656 6.96278-227.160714 10.034595-32.766026 25.700852-63.688963 46.589193-92.103251-62.255449-97.530124-116.063407-225.983185-116.063407-378.805977 0-14.130349 11.468109-25.598458 25.598458-25.598458s25.598458 11.468109 25.598458 25.598458c0 235.761795 139.665185 410.650458 222.91137 493.845446 59.7468 59.7468 127.275532 110.175762 195.367429 145.808815 63.381781 33.175601 123.947732 51.4529 170.536925 51.4529 14.130349 0 25.598458 11.468109 25.598458 25.598458s-11.468109 25.598458-25.598458 25.598458c-55.497456 0-122.667809-19.813206-194.241097-57.340545-72.597226-38.039308-144.477695-91.591282-207.80828-154.973063-26.72479-26.72479-58.876453-62.357843-90.823328-105.977615-12.389654 19.506025-22.014674 40.189579-28.619076 61.794677-25.598458 83.553366-16.178225 164.034917-6.604402 198.388047 73.211589 262.384191 351.313233 263.049751 855.858835 262.896161-60.156376-321.926204-172.328817-530.29765-333.599101-619.533873-149.597387-82.785412-297.966048-37.629733-354.845821-14.335136-11.980078 4.914904-24.06255 10.95614-35.786644 17.91892-12.133669 7.218765-27.851122 3.225406-35.069887-8.908263s-3.225406-27.851122 8.908263-35.069887c13.925561-8.2939 28.260697-15.461468 42.595834-21.349114 31.844481-13.004017 83.143791-29.694211 146.679163-35.172281 14.027955-1.228726 27.902319-1.791892 41.674289-1.791892 75.208269 0 145.860012 18.072511 210.675307 53.910352 82.375837 45.565255 153.641943 119.749585 211.904033 220.351524 68.296685 118.00889 119.698388 274.51786 152.720399 465.175173 1.279923 7.423553-0.767954 15.051893-5.631661 20.837145z" horiz-adv-x="1025" />
<glyph glyph-name="folder" unicode="&#60094;" d="M970.666667 682.666667H542.173333L429.793333 795.046667A52.986667 52.986667 0 0 1 392.08 810.666667H96a53.393333 53.393333 0 0 1-53.333333-53.333334v-704a53.393333 53.393333 0 0 1 53.333333-53.333333h874.666667a53.393333 53.393333 0 0 1 53.333333 53.333333V629.333333a53.393333 53.393333 0 0 1-53.333333 53.333334zM96 768h296.08a10.573333 10.573333 0 0 0 7.54-3.126667L481.826667 682.666667H96a53.546667 53.546667 0 0 1-10.666667-1.073334V757.333333a10.666667 10.666667 0 0 0 10.666667 10.666667z m885.333333-714.666667a10.666667 10.666667 0 0 0-10.666666-10.666666H96a10.666667 10.666667 0 0 0-10.666667 10.666666V629.333333a10.666667 10.666667 0 0 0 10.666667 10.666667h874.666667a10.666667 10.666667 0 0 0 10.666666-10.666667z" horiz-adv-x="1024" />
<glyph glyph-name="folder-open" unicode="&#60097;" d="M1003.153333 491.04a52.933333 52.933333 0 0 1-42.38 20.96H896V629.333333a53.393333 53.393333 0 0 1-53.333333 53.333334H461.253333a10.573333 10.573333 0 0 0-7.54 3.126666L344.46 795.046667A52.986667 52.986667 0 0 1 306.746667 810.666667H53.333333a53.393333 53.393333 0 0 1-53.333333-53.333334v-704a53.393333 53.393333 0 0 1 53.333333-53.333333h796.893334a53.453333 53.453333 0 0 1 51.453333 39.333333l110.546667 405.333334a52.953333 52.953333 0 0 1-9.073334 46.373333zM53.333333 768h253.413334a10.573333 10.573333 0 0 0 7.54-3.126667l109.253333-109.253333A52.986667 52.986667 0 0 1 461.253333 640H842.666667a10.666667 10.666667 0 0 0 10.666666-10.666667v-117.333333H173.773333a53.453333 53.453333 0 0 1-51.453333-39.333333L42.666667 180.633333V757.333333a10.666667 10.666667 0 0 0 10.666666 10.666667z m917.726667-312.14l-110.546667-405.333333a10.666667 10.666667 0 0 0-10.286666-7.86H63.226667a10.666667 10.666667 0 0 0-10.286667 13.473333l110.546667 405.333333A10.666667 10.666667 0 0 0 173.773333 469.333333h787a10.666667 10.666667 0 0 0 10.286667-13.473333z" horiz-adv-x="1024" />
<glyph glyph-name="gitee" unicode="&#59035;" d="M512-128C229.222-128 0 101.222 0 384S229.222 896 512 896s512-229.222 512-512-229.222-512-512-512z m259.149 568.883h-290.74a25.293 25.293 0 0 1-25.292-25.293l-0.026-63.206c0-13.952 11.315-25.293 25.267-25.293h177.024c13.978 0 25.293-11.315 25.293-25.267v-12.646a75.853 75.853 0 0 0-75.853-75.853h-240.23a25.293 25.293 0 0 0-25.267 25.293V478.797a75.853 75.853 0 0 0 75.827 75.853h353.946a25.293 25.293 0 0 1 25.267 25.292l0.077 63.207a25.293 25.293 0 0 1-25.268 25.293H417.152a189.62 189.62 0 0 1-189.62-189.645V124.85c0-13.977 11.316-25.293 25.294-25.293h372.94a170.65 170.65 0 0 1 170.65 170.65V415.616a25.293 25.293 0 0 1-25.293 25.267z" horiz-adv-x="1024" />
<glyph glyph-name="github" unicode="&#59047;" d="M512 883.32190493c275.66730126 0 499.32190493-223.65460366 499.32190493-499.32190493 0-220.40901063-143.01411555-407.65472541-341.32813256-473.98131826-25.34058667-4.53550763-34.45321159 11.06830222-34.45321159 24.05067207 0 16.26957255 0.6657627 70.19633778 0.66576271 137.18869334 0 46.81142841-15.60380985 76.72913237-33.7874489 92.33294222 111.18234397 12.35821682 228.19011015 54.63413874 228.1901113 246.41536 0 54.63413874-19.51516445 98.82412715-51.34693604 133.9431003 5.20127033 13.02397952 22.09499477 63.70515285-5.20127033 132.61157604-41.61015922 13.02397952-137.18869333-51.34693603-137.18869333-51.34693604a469.36259015 469.36259015 0 0 1-249.6609519 0S291.63259904 689.58500523 250.02244096 676.56102571c-27.29626397-68.90642318-10.40253952-119.62920619-5.20127033-132.61157604-31.87338126-35.11897429-51.34693603-79.3089627-51.34693604-133.9431003 0-191.15706937 116.38361429-234.05714318 227.56595826-246.41536-14.31389411-13.02397952-27.29626397-35.11897429-31.87338126-66.95074588-28.62778937-13.02397952-101.44556715-35.11897429-144.96979285 41.61015921-27.29626397 47.47719111-76.72913237 51.34693603-76.72913351 51.34693604-48.76710571 0.6657627-3.24559189-30.54185699-3.2455919-30.541857 32.49753429-14.93804715 55.25829063-72.81777778 55.25829064-72.81777777 29.25194126-89.08735033 168.39631189-59.16964523 168.39631302-59.16964523 0-41.61015922 0.6657627-80.5988773 0.66576157-92.95709525 0-13.02397952-9.11262493-28.62778937-34.45321045-24.05067094C155.77543111-23.61311459000001 12.76131555 163.63259903999995 12.76131555 384.04160967c0 275.66730126 223.65460366 499.32190493 499.32190493 499.32190492zM201.87948715 166.21242937c1.28991459 2.62144-0.6657627 5.86703189-4.53550763 7.78109952-3.91135459 1.28991459-7.15694763 0.6657627-8.44686222-1.2899146-1.28991459-2.62144 0.6657627-5.86703189 4.53550763-7.78109952 3.24559189-1.9556773 7.15694763-1.28991459 8.44686222 1.2899146z m20.13931634-22.13660444c2.62144 1.9556773 1.9556773 6.49118493-1.2899146 10.40253952-3.24559189 3.24559189-7.78109952 4.53550763-10.40253952 1.95567729-2.62144-1.9556773-1.9556773-6.49118493 1.2899146-10.40253952 3.24559189-3.24559189 7.78109952-4.53550763 10.40253952-1.95567729z m19.51516444-29.25194127c3.24559189 2.62144 3.24559189 7.78109952 0 12.35821682-2.62144 4.53550763-7.78109952 6.49118493-11.06830222 3.91135459-3.24559189-1.9556773-3.24559189-7.15694763 0-11.69245411s8.44686222-6.49118493 11.06830222-4.53550763z m27.29626396-27.2962651c2.62144 2.62144 1.28991459 8.44686222-2.62144 12.35821795-4.53550763 4.53550763-10.40253952 5.20127033-13.02397952 1.9556773-3.24559189-2.62144-1.9556773-8.44686222 2.62144-12.35821682 4.53550763-4.53550763 10.40253952-5.20127033 13.02397952-1.95567843z m37.0746516-16.26957141c1.28991459 3.91135459-2.62144 8.44686222-8.44686223 10.40253952-5.20127033 1.28991459-11.06830222-0.6657627-12.35821681-4.53550763s2.62144-8.44686222 8.44686222-9.73677682c5.20127033-1.9556773 11.06830222 0 12.35821682 3.9113546z m40.94439651-3.24559304c0 4.53550763-5.20127033 7.78109952-11.06830222 7.15694763-5.86703189 0-10.40253952-3.24559189-10.40253952-7.15694763 0-4.53550763 4.53550763-7.78109952 11.06830222-7.15694648 5.86703189 0 10.40253952 3.24559189 10.40253952 7.15694648z m37.69880349 6.49118493c-0.6657627 3.91135459-5.86703189 6.49118493-11.69245412 5.86703303-5.86703189-1.28991459-9.73677682-5.20127033-9.11262492-9.73677796 0.6657627-3.91135459 5.86703189-6.49118493 11.69245411-5.20126918s9.73677682 5.20127033 9.11262493 9.11262492z" horiz-adv-x="1024" />
<glyph glyph-name="disabled" unicode="&#59084;" d="M509.20496914 834c-245.9627332 0-447.20496914-201.24223594-447.20496914-447.20496914s201.24223594-447.20496914 447.20496914-447.20496914 447.20496914 201.24223594 447.20496914 447.20496914-201.24223594 447.20496914-447.20496914 447.20496914zM509.20496914-10.09937930000001C291.19254628-10.09937930000001 112.31055898 168.78260888 112.31055898 386.79503086c0 95.03105625 33.54037295 184.4720499 95.03105625 257.14285752l553.41614883-553.41614883C693.67701904 23.440993649999996 604.23602451-10.09937930000001 509.20496914-10.09937930000001z m296.27329131 134.16149092l-559.00621055 553.41614883C319.14285752 738.96894375 408.58385117 778.0993793 509.20496914 778.0993793c218.01242197 0 396.89441016-178.8819873 396.89441016-396.89441016 0-95.03105625-39.13043467-190.06211162-100.62111885-257.14285752z" horiz-adv-x="1024" /> <glyph glyph-name="disabled" unicode="&#59084;" d="M509.20496914 834c-245.9627332 0-447.20496914-201.24223594-447.20496914-447.20496914s201.24223594-447.20496914 447.20496914-447.20496914 447.20496914 201.24223594 447.20496914 447.20496914-201.24223594 447.20496914-447.20496914 447.20496914zM509.20496914-10.09937930000001C291.19254628-10.09937930000001 112.31055898 168.78260888 112.31055898 386.79503086c0 95.03105625 33.54037295 184.4720499 95.03105625 257.14285752l553.41614883-553.41614883C693.67701904 23.440993649999996 604.23602451-10.09937930000001 509.20496914-10.09937930000001z m296.27329131 134.16149092l-559.00621055 553.41614883C319.14285752 738.96894375 408.58385117 778.0993793 509.20496914 778.0993793c218.01242197 0 396.89441016-178.8819873 396.89441016-396.89441016 0-95.03105625-39.13043467-190.06211162-100.62111885-257.14285752z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 316 KiB

After

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,7 @@
} }
,Layui = function(){ ,Layui = function(){
this.v = '2.8.0-rc.15'; // Layui 版本号 this.v = '2.8.0-rc.16'; // Layui 版本号
} }
//识别预先可能定义的指定全局对象 //识别预先可能定义的指定全局对象

View File

@ -537,11 +537,14 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
} }
}; };
//初始化列参数 // 初始化列参数
layui.each(options.cols, function(i1, item1){ layui.each(options.cols, function(i1, item1){
if (i1) return true;
layui.each(item1, function(i2, item2){ layui.each(item1, function(i2, item2){
initChildCols(i1, item1, i2, item2); if (i1) {
delete item2.HAS_PARENT; // 去掉临时的计数排除标识,避免有新字段插入的时候重新计算被跳过导致下标出错的问题
} else {
initChildCols(i1, item1, i2, item2); // 只解析顶层节点由递归完成解析
}
}); });
}); });
@ -811,20 +814,13 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
if(that.autoColNums > 0 && patchNums >= -colNums && patchNums <= colNums){ if(that.autoColNums > 0 && patchNums >= -colNums && patchNums <= colNums){
var getEndTh = function(th){ var getEndTh = function(th){
var field, thRet; var field;
th = th || that.layHeader.eq(0).find('thead th:last-child') th = th || that.layHeader.eq(0).find('thead > tr:first-child > th:last-child')
layui.each(th, function (thIndex, thElem) { field = th.data('field');
thElem = $(thElem);
if (!thElem.children('.'+ELEM_GROUP).length) { // 排除合并表头
field = thElem.attr('data-field');
thRet = thElem;
}
})
if(!field && th.prev()[0]){ if(!field && th.prev()[0]){
return getEndTh(th.prev()) return getEndTh(th.prev())
} }
return thRet return th;
}; };
var th = getEndTh(); var th = getEndTh();
var key = th.data('key'); var key = th.data('key');

View File

@ -5,70 +5,77 @@
layui.define(['laytpl', 'form'], function(exports){ layui.define(['laytpl', 'form'], function(exports){
"use strict"; "use strict";
var $ = layui.$ var $ = layui.$;
,laytpl = layui.laytpl var laytpl = layui.laytpl;
,form = layui.form var form = layui.form;
//模块名 // 模块名
,MOD_NAME = 'transfer' var MOD_NAME = 'transfer';
//外部接口 // 外部接口
,transfer = { var transfer = {
config: {} config: {},
,index: layui[MOD_NAME] ? (layui[MOD_NAME].index + 10000) : 0 index: layui[MOD_NAME] ? (layui[MOD_NAME].index + 10000) : 0,
//设置全局项 // 设置全局项
,set: function(options){ set: function(options){
var that = this; var that = this;
that.config = $.extend({}, that.config, options); that.config = $.extend({}, that.config, options);
return that; return that;
} },
//事件 // 事件
,on: function(events, callback){ on: function(events, callback){
return layui.onevent.call(this, MOD_NAME, events, callback); return layui.onevent.call(this, MOD_NAME, events, callback);
} }
} };
//操作当前实例 // 操作当前实例
,thisModule = function(){ var thisModule = function(){
var that = this var that = this;
,options = that.config var options = that.config;
,id = options.id || that.index; var id = options.id || that.index;
thisModule.that[id] = that; //记录当前实例对象 thisModule.that[id] = that; // 记录当前实例对象
thisModule.config[id] = options; //记录当前实例配置项 thisModule.config[id] = options; // 记录当前实例配置项
return { return {
config: options config: options,
//重置实例 // 重置实例
,reload: function(options){ reload: function(options){
that.reload.call(that, options); that.reload.call(that, options);
} },
//获取右侧数据 // 获取右侧数据
,getData: function(){ getData: function(){
return that.getData.call(that); return that.getData.call(that);
} }
} }
} };
//获取当前实例配置项 // 获取当前实例配置项
,getThisModuleConfig = function(id){ var getThisModuleConfig = function(id){
var config = thisModule.config[id]; var config = thisModule.config[id];
if(!config) hint.error('The ID option was not found in the '+ MOD_NAME +' instance'); if(!config) hint.error('The ID option was not found in the '+ MOD_NAME +' instance');
return config || null; return; config || null;
} };
//字符常量 // 字符常量
,ELEM = 'layui-transfer', HIDE = 'layui-hide', DISABLED = 'layui-btn-disabled', NONE = 'layui-none' var ELEM = 'layui-transfer';
,ELEM_BOX = 'layui-transfer-box', ELEM_HEADER = 'layui-transfer-header', ELEM_SEARCH = 'layui-transfer-search', ELEM_ACTIVE = 'layui-transfer-active', ELEM_DATA = 'layui-transfer-data' var HIDE = 'layui-hide';
var DISABLED = 'layui-btn-disabled';
var NONE = 'layui-none';
var ELEM_BOX = 'layui-transfer-box';
var ELEM_HEADER = 'layui-transfer-header';
var ELEM_SEARCH = 'layui-transfer-search';
var ELEM_ACTIVE = 'layui-transfer-active';
var ELEM_DATA = 'layui-transfer-data';
//穿梭框模板 // 穿梭框模板
,TPL_BOX = function(obj){ var TPL_BOX = function(obj){
obj = obj || {}; obj = obj || {};
return ['<div class="layui-transfer-box" data-index="'+ obj.index +'">' return ['<div class="layui-transfer-box" data-index="'+ obj.index +'">'
,'<div class="layui-transfer-header">' ,'<div class="layui-transfer-header">'
,'<input type="checkbox" name="'+ obj.checkAllName +'" lay-filter="layTransferCheckbox" lay-type="all" lay-skin="primary" title="{{ d.data.title['+ obj.index +'] || \'list'+ (obj.index + 1) +'\' }}">' ,'<input type="checkbox" name="'+ obj.checkAllName +'" lay-filter="layTransferCheckbox" lay-type="all" lay-skin="primary" title="{{= d.data.title['+ obj.index +'] || \'list'+ (obj.index + 1) +'\' }}">'
,'</div>' ,'</div>'
,'{{# if(d.data.showSearch){ }}' ,'{{# if(d.data.showSearch){ }}'
,'<div class="layui-transfer-search">' ,'<div class="layui-transfer-search">'
@ -78,10 +85,10 @@ layui.define(['laytpl', 'form'], function(exports){
,'{{# } }}' ,'{{# } }}'
,'<ul class="layui-transfer-data"></ul>' ,'<ul class="layui-transfer-data"></ul>'
,'</div>'].join(''); ,'</div>'].join('');
} };
//主模板 // 主模板
,TPL_MAIN = ['<div class="layui-transfer layui-form layui-border-box" lay-filter="LAY-transfer-{{ d.index }}">' var TPL_MAIN = ['<div class="layui-transfer layui-form layui-border-box" lay-filter="LAY-transfer-{{= d.index }}">'
,TPL_BOX({ ,TPL_BOX({
index: 0 index: 0
,checkAllName: 'layTransferLeftCheckAll' ,checkAllName: 'layTransferLeftCheckAll'
@ -98,10 +105,10 @@ layui.define(['laytpl', 'form'], function(exports){
index: 1 index: 1
,checkAllName: 'layTransferRightCheckAll' ,checkAllName: 'layTransferRightCheckAll'
}) })
,'</div>'].join('') ,'</div>'].join('');
//构造器 // 构造器
,Class = function(options){ var Class = function(options){
var that = this; var that = this;
that.index = ++transfer.index; that.index = ++transfer.index;
that.config = $.extend({}, that.config, transfer.config, options); that.config = $.extend({}, that.config, transfer.config, options);
@ -110,16 +117,16 @@ layui.define(['laytpl', 'form'], function(exports){
//默认配置 //默认配置
Class.prototype.config = { Class.prototype.config = {
title: ['列表一', '列表二'] title: ['列表一', '列表二'],
,width: 200 width: 200,
,height: 360 height: 360,
,data: [] //数据源 data: [], // 数据源
,value: [] //选中的数据 value: [], // 选中的数据
,showSearch: false //是否开启搜索 showSearch: false, // 是否开启搜索
,id: '' //唯一索引,默认自增 index id: '', // 唯一索引,默认自增 index
,text: { text: {
none: '无数据' none: '无数据',
,searchNone: '无匹配数据' searchNone: '无匹配数据'
} }
}; };
@ -132,11 +139,14 @@ layui.define(['laytpl', 'form'], function(exports){
//渲染 //渲染
Class.prototype.render = function(){ Class.prototype.render = function(){
var that = this var that = this;
,options = that.config; var options = that.config;
//解析模板 //解析模板
var thisElem = that.elem = $(laytpl(TPL_MAIN).render({ var thisElem = that.elem = $(laytpl(TPL_MAIN, {
open: '{{', // 标签符前缀
close: '}}' // 标签符后缀
}).render({
data: options data: options
,index: that.index //索引 ,index: that.index //索引
})); }));

View File

@ -201,9 +201,9 @@ layui.define(['table'], function (exports) {
flexIconOpen: '<i class="layui-icon layui-icon-triangle-d"></i>', // 打开时候的折叠图标 flexIconOpen: '<i class="layui-icon layui-icon-triangle-d"></i>', // 打开时候的折叠图标
showIcon: true, // 是否显示图标(节点类型图标) showIcon: true, // 是否显示图标(节点类型图标)
icon: '', // 节点图标,如果设置了这个属性或者数据中有这个字段信息,不管打开还是关闭都以这个图标的值为准 icon: '', // 节点图标,如果设置了这个属性或者数据中有这个字段信息,不管打开还是关闭都以这个图标的值为准
iconClose: '<i class="layui-icon layui-icon-file"></i>', // 打开时候的图标 iconClose: '<i class="layui-icon layui-icon-folder-open"></i>', // 打开时候的图标
iconOpen: '<i class="layui-icon layui-icon-layer"></i>', // 关闭时候的图标 iconOpen: '<i class="layui-icon layui-icon-folder"></i>', // 关闭时候的图标
iconLeaf: '<i class="layui-icon layui-icon-star"></i>', // 叶子节点的图标 iconLeaf: '<i class="layui-icon layui-icon-leaf"></i>', // 叶子节点的图标
showFlexIconIfNotParent: false, // 当节点不是父节点的时候是否显示折叠图标 showFlexIconIfNotParent: false, // 当节点不是父节点的时候是否显示折叠图标
dblClickExpand: true, // 双击节点时,是否自动展开父节点的标识 dblClickExpand: true, // 双击节点时,是否自动展开父节点的标识
}, },
@ -352,6 +352,7 @@ layui.define(['table'], function (exports) {
treeTable.getNodeDataByIndex = function (id, index) { treeTable.getNodeDataByIndex = function (id, index) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
return that.getNodeDataByIndex(index, true); return that.getNodeDataByIndex(index, true);
} }
@ -604,23 +605,32 @@ layui.define(['table'], function (exports) {
return retValue; return retValue;
} }
treeTable.expandNode = function (id, index, expandFlag, sonSign, callbackFlag) { treeTable.expandNode = function (id, opts) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
opts = opts || {};
var index = opts.index;
var expandFlag = opts.expandFlag;
var sonSign = opts.sonSign;
var callbackFlag = opts.callbackFlag;
var options = that.getOptions(); var options = that.getOptions();
var tableViewElem = options.elem.next(); var tableViewElem = options.elem.next();
return expandNode({trElem: tableViewElem.find('tr[lay-data-index="' + index + '"]').first()}, expandFlag, sonSign, null, callbackFlag) return expandNode({trElem: tableViewElem.find('tr[lay-data-index="' + index + '"]').first()}, expandFlag, sonSign, null, callbackFlag)
} };
// 目前还有性能问题特别是在data模式需要优化暂时不能使用 todo // 目前还有性能问题特别是在data模式需要优化暂时不能使用 todo
treeTable.expandAll = function (id, expandFlag) { treeTable.expandAll = function (id, expandFlag) {
if (layui.type(expandFlag) !== 'boolean') { if (layui.type(expandFlag) !== 'boolean') {
return hint.error('expandAll的展开状态参数只接收true/false') return hint.error('expandAll的展开状态参数只接收true/false')
} }
// 调用expandNode一个个去处理会有性能问题重新实现该方法
// layui.each(table.cache[id], function (i1, item1) {
// treeTable.expandNode(id, item1['LAY_DATA_INDEX'], expandFlag, true);
// })
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var treeOptions = options.tree; var treeOptions = options.tree;
var tableView = options.elem.next(); var tableView = options.elem.next();
@ -638,8 +648,8 @@ layui.define(['table'], function (exports) {
treeTable.resize(); treeTable.resize();
} else { } else {
console.log('目前暂时不支持展开全部'); return hint.error('暂不支持展开全部');
return;
// 展开所有 // 展开所有
if (treeOptions.async.enable) { if (treeOptions.async.enable) {
// 存在异步加载 // 存在异步加载
@ -773,6 +783,8 @@ layui.define(['table'], function (exports) {
* */ * */
treeTable.formatNumber = function (id) { treeTable.formatNumber = function (id) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var tableViewElem = options.elem.next(); var tableViewElem = options.elem.next();
@ -866,6 +878,8 @@ layui.define(['table'], function (exports) {
treeTable.sort = function (id) { treeTable.sort = function (id) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var initSort = options.initSort; var initSort = options.initSort;
@ -908,13 +922,18 @@ layui.define(['table'], function (exports) {
// 处理setRowChecked // 处理setRowChecked
obj.setRowChecked = function (checked) { obj.setRowChecked = function (checked) {
treeTable.checkNode(tableId, trData, checked); treeTable.checkNode(tableId, {
node: trData,
checked: checked
});
} }
} }
// 更新数据 // 更新数据
treeTable.updateNode = function (id, index, newNode) { treeTable.updateNode = function (id, index, newNode) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var treeOptions = options.tree; var treeOptions = options.tree;
var tableView = options.elem.next(); var tableView = options.elem.next();
@ -942,6 +961,8 @@ layui.define(['table'], function (exports) {
// 删除数据 // 删除数据
treeTable.removeNode = function (id, node) { treeTable.removeNode = function (id, node) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var treeOptions = options.tree; var treeOptions = options.tree;
var tableView = options.elem.next(); var tableView = options.elem.next();
@ -984,12 +1005,21 @@ layui.define(['table'], function (exports) {
* @param {Boolean} focus 新增的节点单个或者多个 * @param {Boolean} focus 新增的节点单个或者多个
* @return {Array} 新增的节点 * @return {Array} 新增的节点
* */ * */
treeTable.addNodes = function (id, parentIndex, index, newNodes, focus) { treeTable.addNodes = function (id, opts) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var treeOptions = options.tree; var treeOptions = options.tree;
var tableViewElem = options.elem.next(); var tableViewElem = options.elem.next();
opts = opts || {};
var parentIndex = opts.parentIndex;
var index = opts.index;
var newNodes = opts.newNodes;
var focus = opts.focus;
parentIndex = layui.type(parentIndex) === 'number' ? parentIndex.toString() : parentIndex; parentIndex = layui.type(parentIndex) === 'number' ? parentIndex.toString() : parentIndex;
var parentNode = parentIndex ? that.getNodeDataByIndex(parentIndex) : null; var parentNode = parentIndex ? that.getNodeDataByIndex(parentIndex) : null;
index = layui.type(index) === 'number' ? index : -1; index = layui.type(index) === 'number' ? index : -1;
@ -1108,8 +1138,10 @@ layui.define(['table'], function (exports) {
return newNodes; return newNodes;
} }
// 获取表格选中状态
treeTable.checkStatus = function (id) { treeTable.checkStatus = function (id) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
// 需要区分单双选 // 需要区分单双选
var tableData = treeTable.getData(id, true); var tableData = treeTable.getData(id, true);
@ -1398,11 +1430,19 @@ layui.define(['table'], function (exports) {
* @param {Boolean} checked 选中或取消 * @param {Boolean} checked 选中或取消
* @param {Boolean} [callbackFlag] 是否触发事件回调 * @param {Boolean} [callbackFlag] 是否触发事件回调
* */ * */
treeTable.checkNode = function (id, node, checked, callbackFlag) { treeTable.checkNode = function (id, opts) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var tableView = options.elem.next(); var tableView = options.elem.next();
opts = opts || {};
var node = opts.node;
var checked = opts.checked;
var callbackFlag = opts.callbackFlag;
var dataIndex = layui.type(node) === 'string' ? node : node[LAY_DATA_INDEX]; var dataIndex = layui.type(node) === 'string' ? node : node[LAY_DATA_INDEX];
// 判断是否在当前页面中 // 判断是否在当前页面中
var nodeData = that.getNodeDataByIndex(dataIndex); var nodeData = that.getNodeDataByIndex(dataIndex);
@ -1414,7 +1454,10 @@ layui.define(['table'], function (exports) {
var trElem = tableView.find('tr[lay-data-index="' + dataIndex + '"]'); var trElem = tableView.find('tr[lay-data-index="' + dataIndex + '"]');
if (!trElem.length) { if (!trElem.length) {
// 如果还没有展开没有渲染的要先渲染出来 // 如果还没有展开没有渲染的要先渲染出来
treeTable.expandNode(id, nodeData[LAY_PARENT_INDEX], true); treeTable.expandNode(id, {
index: nodeData[LAY_PARENT_INDEX],
expandFlag: true
});
trElem = tableView.find('tr[lay-data-index="' + dataIndex + '"]'); trElem = tableView.find('tr[lay-data-index="' + dataIndex + '"]');
} }
checkNode.call(that, trElem, checked, callbackFlag); checkNode.call(that, trElem, checked, callbackFlag);
@ -1422,6 +1465,8 @@ layui.define(['table'], function (exports) {
treeTable.checkAllNodes = function (id, checked) { treeTable.checkAllNodes = function (id, checked) {
var that = getThisTable(id); var that = getThisTable(id);
if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var tableView = options.elem.next(); var tableView = options.elem.next();
@ -1443,14 +1488,14 @@ layui.define(['table'], function (exports) {
return simpleData ? getThisTable(id).treeToFlat(tableData) : tableData; return simpleData ? getThisTable(id).treeToFlat(tableData) : tableData;
} }
//记录所有实例 // 记录所有实例
thisTreeTable.that = {}; //记录所有实例对象 thisTreeTable.that = {}; // 记录所有实例对象
// thisTreeTable.config = {}; //记录所有实例配置项 // thisTreeTable.config = {}; // 记录所有实例配置项
// 重载 // 重载
treeTable.reload = function (id, options, deep, type) { treeTable.reload = function (id, options, deep, type) {
deep = deep !== false; // 默认采用深拷贝 deep = deep !== false; // 默认采用深拷贝
var config = getThisTableConfig(id); //获取当前实例配置项 var config = getThisTableConfig(id); // 获取当前实例配置项
if (!config) return; if (!config) return;
var that = getThisTable(id); var that = getThisTable(id);