Compare commits

...

576 Commits
master ... es6

Author SHA1 Message Date
imp-张健 8e283d978c Pull request #3573: BI-127456 fix: 去掉高度 1 year ago
jian 055d83e6c9 BI-127456 fix: 去掉高度 1 year ago
jian b0b8e4f8a1 BI-127456 fix: 去掉高度 1 year ago
Dailer-刘荣歆 53d7c7ad56 Pull request #3569: update 1 year ago
zsmj e72f837464 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 1 year ago
zsmj 33acbc035b update 1 year ago
Dailer-刘荣歆 3da5c7fb5f Pull request #3568: Es6 1 year ago
zsmj 285c65b237 update 1 year ago
zsmj 6cd0db0458 update 1 year ago
zsmj eb9f2e6c16 Merge branch 'master' into es6 1 year ago
Dailer-刘荣歆 4befbfb5f2 Pull request #3566: Es6 1 year ago
zsmj 63a74370a9 update base-cls 1 year ago
zsmj 6f6760bf73 BI-127107 fix: 【来源PT项目】bi6.0.7,ie11浏览器过滤组件无法使用 1 year ago
zsmj 7cb688f4cb Merge branch 'master' into es6 1 year ago
treecat-罗群 1dae060c87 Pull request #3564: 无jira: 别名跳转 1 year ago
Treecat bb58d5dc22 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat d03601f2b3 无jira: 别名跳转 1 year ago
Dailer-刘荣歆 14999fdcbb Pull request #3563: 无JIRA 支持对组件config依赖资源 1 year ago
zsmj 6b670da2f0 无JIRA 支持对组件config依赖资源 1 year ago
Dailer-刘荣歆 4694f554da Pull request #3561: BI-126486 fix: 分组表滚动条拖不动【样板客户】 1 year ago
zsmj cc075cc34c Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 1 year ago
zsmj 6c5f5dd4f4 BI-126486 fix: 分组表滚动条拖不动【样板客户】 1 year ago
treecat-罗群 fb1e39d88a Pull request #3560: 无jira chore:类型补充 1 year ago
Treecat 5e28bce210 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 319fe62cd2 无jira chore:类型补充 1 year ago
Dailer-刘荣歆 fc4c1b3f47 Pull request #3558: update 1 year ago
zsmj 9c0eeea546 update 1 year ago
Dailer-刘荣歆 3500534a70 Pull request #3557: update 导出el 1 year ago
zsmj 941c1b9553 update 导出el 1 year ago
Dailer-刘荣歆 b1f2a92bbf Pull request #3555: 无JIRA 抽象类就不用shortcut了 1 year ago
zsmj a867349e98 无JIRA 抽象类就不用shortcut了 1 year ago
treecat-罗群 d94ec24f15 Pull request #3554: KERNEL-14316 fix:给每 个可修改属性添加 Set 方法 1 year ago
Treecat aac665e4c0 KERNEL-14316 fix:给每 个可修改属性添加 Set 方法 1 year ago
Treecat 2634e6de2b Merge remote-tracking branch 'fineui/es6' into es6 1 year ago
zsmj 03295ddda4 无JIRA 整理一下 1 year ago
Dailer-刘荣歆 ff10d4e239 Pull request #3553: BI-126203 fix: 【6.0.10冒烟】设置周开始于周日,日期面板仍然以周一开始 1 year ago
zsmj cffd97f450 BI-126203 fix: 【6.0.10冒烟】设置周开始于周日,日期面板仍然以周一开始 1 year ago
Treecat c1ffe3cd3e Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 4a434809e2 无jira fix:pixFormat 1 year ago
Dailer-刘荣歆 3a5fabe9c9 Pull request #3551: update 类型补充 1 year ago
zsmj 1fef4864b5 update 类型补充 1 year ago
Dailer-刘荣歆 475c2dcff7 Pull request #3548: update 1 year ago
zsmj d767ec71c8 update 1 year ago
Dailer-刘荣歆 d4a00e2484 Pull request #3547: KERNEL-15181 feat: typescript 类型描述文件适配 1 year ago
zsmj 9271754b4c KERNEL-15181 feat: typescript 类型描述文件适配 1 year ago
treecat-罗群 0ae0e28e5e Pull request #3546: 无jira: 打包调整 1 year ago
Treecat 7e27700d1e Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat f375e88fd6 无jira fix:删除没有用到的东西 1 year ago
Treecat f315a39ad7 无jira fix:按需引入也导出Decorators 1 year ago
Treecat 4d768ed754 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 5c740dc789 无jira: 打包调整 1 year ago
Dailer-刘荣歆 6a151171d5 Pull request #3545: BI-126280 fix: 兼容 【6.0.10发散】管理系统-目录管理,添加首页目录下拉框无内容 1 year ago
zsmj 5b914de993 BI-126280 fix: 兼容 【6.0.10发散】管理系统-目录管理,添加首页目录下拉框无内容 1 year ago
treecat-罗群 47ac9ff3b1 Pull request #3544: 无JIRA fix: TextValueCombo 报错 1 year ago
Treecat 63aaefd331 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat cc790fdad6 无JIRA fix: TextValueCombo 报错 1 year ago
Dailer-刘荣歆 1fb4124efe Pull request #3543: 无JIRA 多提交了 1 year ago
zsmj 2e472b0749 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 1 year ago
zsmj 17639a7aef 无JIRA 多提交了 1 year ago
Dailer-刘荣歆 14b1ac9373 Pull request #3542: KERNEL-15181 feat: typescript 类型描述文件适配 1 year ago
treecat-罗群 5b9424b8bd Pull request #3541: KERNEL-14316 fix: initialized 报错 1 year ago
zsmj f7210a8783 KERNEL-15181 feat: typescript 类型描述文件适配 1 year ago
Treecat 3e3cc5c03b KERNEL-14316 fix: initialized 报错 1 year ago
Jeffrey.Zhang-张子杰 3c2c635941 Pull request #3540: BI-126227 feat: 图标更新 1 year ago
Jeffrey.Zhang-张子杰 4a0c910cba BI-126227 feat: 图标更新 1 year ago
Dailer-刘荣歆 62e46b88bb Pull request #3538: BI-126058 fix: 【6.0.10冒烟】资源交接的交出方、接收方的搜索不生效了 1 year ago
zsmj 6569073241 BI-126058 fix: 【6.0.10冒烟】资源交接的交出方、接收方的搜索不生效了 1 year ago
Jimmy.Chai-柴嘉明 4bcd330b40 Pull request #3536: BI-126032 fix: 设置不生效 1 year ago
jimmychai 8ab0b25f33 BI-126032 fix: 设置不生效 1 year ago
Jimmy.Chai-柴嘉明 4bd661e9c7 Pull request #3532: REPORT-80311 fix: 给一下默认值 1 year ago
Zoey.Chen-陈泽语 61ae4e93df Pull request #3533: BI-126057: 图标更新 1 year ago
Dailer-刘荣歆 41b64c5093 Pull request #3535: BI-126065 && BI-125791 1 year ago
treecat-罗群 ce80b28276 Pull request #3530: KERNEL-14316 fix:装饰器缺了service 1 year ago
zsmj 6b711bc1e3 BI-125791 fix: 【6.0.10发散】组件编辑界面,点击触发数据解释的热区后,按钮显示的位置会变来变去 1 year ago
zsmj 4c4b1de0e8 BI-126065 fix: 【6.0.10】低版本火狐浏览器打开工程界面空白,控制台有报错 1 year ago
chenzeyu ac9af6c1a0 BI-124556 BI-126057: 图标更新 1 year ago
Treecat cc53a9d236 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat e646b39972 KERNEL-14316 fix:装饰器缺了service 1 year ago
jimmychai f7c2574d4b REPORT-80311 fix: 给一下默认值 1 year ago
Treecat de5f43c616 KERNEL-14316 fix:装饰器缺了service 1 year ago
Kobi-蒋科斌 ceb717cf28 Pull request #3528: BI-125963 fix: maskers报错 1 year ago
Kobi f9dd745ff5 BI-125963 fix: maskers报错 1 year ago
Dailer-刘荣歆 8f1c25cc04 Pull request #3527: REPORT-95153 fix: BI.encodeURIComponent 编码异常 1 year ago
zsmj e17bf87f28 REPORT-95153 fix: BI.encodeURIComponent 编码异常 1 year ago
Dailer-刘荣歆 35a6551f7c Pull request #3526: REPORT-95320 && BI-125865 1 year ago
zsmj 52d8f2ea4d BI-125865 fix: 【6.0.10发散】展开数据预警后,调整浏览器窗口,页面显示异常 1 year ago
zsmj 3c409402dd Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 1 year ago
zsmj 91ca48b4b6 REPORT-95320 fix: 【冒烟】【权限管理】权限复用页面搜索并选中部门后,取消搜索后查看实际未选中 1 year ago
Dailer-刘荣歆 c7cd7ade27 Pull request #3525: BI-125725 fix: 【6.0.10发散】组件维度切换按钮无法正常切换维度 1 year ago
zsmj b30859bb41 BI-125725 fix: 【6.0.10发散】组件维度切换按钮无法正常切换维度 1 year ago
Dailer-刘荣歆 66e7617a36 Pull request #3524: BI-125770 && REPORT-95210 1 year ago
zsmj 318d5293c4 REPORT-95210 fix: 【BI-地图配置】管理系统-地图配置中的地理信息显示为空白 1 year ago
zsmj 342961136d BI-125770 fix: 【6.0.10发散】更新任务管理-当前运行情况,展开下拉展开搜索不能展开,前端报错 1 year ago
treecat-罗群 648b59c407 Pull request #3522: BI-125767 fix:popup 的 this 指向 1 year ago
Treecat 8198947198 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat eff309f9d8 BI-125767 fix:popup多处this指向 1 year ago
treecat-罗群 a9581e2999 Pull request #3521: BI-125589 fix:this改坏了 1 year ago
Treecat 3252815d9d Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 81b95603f8 BI-125589 fix:this改坏了 1 year ago
Xavier.Meng-孟宇翔 27d9079d50 Pull request #3520: BI-125622 fix(core/func/alias): substring 当 substr 用了 1 year ago
Xavier.Meng 0b2defd662 BI-125622 fix(core/func/alias): substring 当 substr 用了 1 year ago
Treecat 3f30f412b1 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat aba739b3f3 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
treecat-罗群 0c5c0968e5 Pull request #3519: 无jira fix:把 worker 移出去 1 year ago
Treecat b818fc32fe Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat a3cd333c2e 无jira fix:把 worker 移出去 1 year ago
treecat-罗群 5cab5e4efb Pull request #3518: 无jira fix:AsyncTree 1 year ago
Treecat 7f752c02d8 无jira fix:把 worker 移出去 1 year ago
Treecat dbaf7a4cdc Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat b434419469 无jira fix:AsyncTree 1 year ago
treecat-罗群 0732243490 Pull request #3517: BI-125411 fix:colorchooser 的 this 指向和 event_blur 失效 1 year ago
Treecat c6ab14d406 BI-125411 fix:colorchooser 的 this 指向和 event_blur 失效 1 year ago
treecat-罗群 cf47a34f76 Pull request #3516: REPORT-94961 fix:函数变量不能变量提升 1 year ago
Treecat cca17e808c REPORT-94961 fix:函数变量不能变量提升 1 year ago
treecat-罗群 003b034581 Pull request #3515: KERNEL-15104 chore:代码同步 1 year ago
Treecat 33cfd6aea8 REPORT-94935 fix:isArray没有被引入 1 year ago
Treecat 2e2fc09951 KERNEL-15104 chore:代码同步 1 year ago
treecat-罗群 761a81a6ba Pull request #3512: BI-125490 fix:basicbutton 1 year ago
Treecat 3522c8dae9 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 8fc4a8de86 BI-125490 fix:basicbutton 1 year ago
Treecat ddd79cb5c8 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat e4adbb74eb KERNEL-14316 chore:i18n有问题 1 year ago
treecat-罗群 5b0babaf98 Pull request #3511: KERNEL-14316 chore:i18n有问题 1 year ago
treecat-罗群 87e85a1717 Pull request #3510: KERNEL-14316 chore:代码调整 1 year ago
Treecat 7fba3c7dfa Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 3d08899ec4 KERNEL-14316 chore:代码调整 1 year ago
Treecat 88284129bd BI-125433 fix:修复texteditor 1 year ago
treecat-罗群 72fd75dccc Pull request #3509: REPORT-94791 fix:老代码继承结构不对 1 year ago
Treecat c5d87751ff REPORT-94787 fix:纠正 this 1 year ago
Treecat 4fad39243d Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 35415d301d REPORT-94791 fix:老代码继承结构不对 1 year ago
treecat-罗群 e051d4ed38 Pull request #3508: KERNEL-14316 fix:代码调整 1 year ago
Treecat 5c0b7be0dc Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 904a584f32 KERNEL-14316 fix:代码调整 1 year ago
treecat-罗群 99b7d255c1 Pull request #3507: KERNEL-14316 chore:加个开发模式 1 year ago
Treecat 721d5bbdd9 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat ace0853bfb Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 9b11166bc9 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 9fffb7bac5 KERNEL-14316 chore:打包调整 1 year ago
treecat-罗群 72b734b7be Pull request #3504: KERNEL-14316 chore:打包调整 1 year ago
Dailer-刘荣歆 0dc0226ae9 Pull request #3506: 无jira fix 1 year ago
zsmj 735552cbb1 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 1 year ago
zsmj 38eff14c09 无jira fix 1 year ago
Dailer-刘荣歆 65365ea34f Pull request #3505: 无JIRA fix: fix 数组方法问题 1 year ago
zsmj 0d380371c9 无JIRA fix: fix 数组方法问题 1 year ago
Treecat 69375f82a9 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat bd81da5a21 KERNEL-14316 chore:打包调整 1 year ago
treecat-罗群 027c44887d Pull request #3503: KERNEL-14316 chore:打包调整 1 year ago
Treecat 9d6968c15a Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 48f3ff0f8b KERNEL-14316 chore:打包调整 1 year ago
Dailer-刘荣歆 14331b4fcc Pull request #3502: 无JIRA fix: button_group选中问题 1 year ago
zsmj 791b2858c0 update 1 year ago
zsmj fafbb03026 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 1 year ago
zsmj 4554674106 无JIRA fix: button_group选中问题 1 year ago
treecat-罗群 374d0f7b20 Pull request #3501: KERNEL-14316 chore:代码调整 1 year ago
Treecat 724bd8c60d KERNEL-14316 chore:代码调整 1 year ago
treecat-罗群 5bf059ceba Pull request #3500: KERNEL-14316 chore:代码调整 1 year ago
Treecat 6e8e3b72c0 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat ad24f85856 KERNEL-14316 chore:代码调整 1 year ago
Dailer-刘荣歆 f1311f450a Pull request #3499: KERNEL-14817 feat: 对freeze的对象watch容错 1 year ago
Treecat 2535e633bc KERNEL-14316 fix:打包调整 1 year ago
treecat-罗群 f66f4e1de4 Pull request #3498: KERNEL-14316 fix:打包调整 1 year ago
zsmj fe2ae8d775 KERNEL-14817 feat: 对freeze的对象watch容错 1 year ago
Treecat ee76069629 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat f459a37e8a KERNEL-14316 fix:打包调整 1 year ago
treecat-罗群 2dfd44879f Pull request #3497: KERNEL-14316 fix:打包调整 1 year ago
Treecat ae6fdde7d4 KERNEL-14316 fix:打包调整 1 year ago
Treecat e588f490a6 Merge branch 'master' into es6 1 year ago
Treecat 05aac53a12 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 49d4db9257 KERNEL-14316 feat: es6 合 master 1 year ago
treecat-罗群 7bdc339452 Pull request #3493: KERNEL-14316 fix:同步以及修复定时调度相关细节问题 1 year ago
Treecat faa3b96827 KERNEL-14316 fix:同步以及修复相关细节问题 1 year ago
Treecat d95861cd31 KERNEL-14316 fix:定时调度相关的 BUG 修复 1 year ago
treecat-罗群 76847b4ed8 Pull request #3492: KERNEL-14316 chore:修复一些细节问题 1 year ago
Treecat ef444688ad Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 4c3a9e4f62 KERNEL-14316 fix:按需引入问题 1 year ago
Treecat 0e596ef9f2 KERNEL-14316 chore:国际化 1 year ago
Treecat 700197b8f6 KERNEL-14316 fix:demo报错 1 year ago
Treecat 428b9684be KERNEL-14316 chore:重复的demo 1 year ago
Treecat e3bafd8af0 KERNEL-14316 fix:worker polyfill 1 year ago
treecat-罗群 5f8e68dc9a Pull request #3488: KERNEL-14316 chore: 代码调整 1 year ago
Treecat b367f07bb0 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat bd0fa19431 KERNEL-14512 chore:打包结构调整 1 year ago
Treecat bc8f19f589 KERNEL-14512 chore:打包结构调整 1 year ago
Treecat 017e9363d0 KERNEL-14512 chore:打包调整 1 year ago
Treecat 2bea8ea336 KERNEL-14512 chore:打包调整 1 year ago
Treecat 4f0523e2e4 KERNEL-14512 chore: 代码结构调整 1 year ago
Treecat 9c123091d4 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 1 year ago
Treecat 661a1b36b4 KERNEL-14512 chore: fineui.worker.js 1 year ago
Treecat 881b2e1fd4 KERNEL-14512 chore: demo 支持 build 1 year ago
Treecat 70ce2bf293 KERNEL-14316 chore: 代码调整 1 year ago
Treecat 03ae0474ca KERNEL-14316 fix: jQuery 升级及 worker 缺失的问题 2 years ago
treecat-罗群 ae9815c2ad Pull request #3479: 无jira chore: 补一下国际化 2 years ago
Treecat cbf09bbf32 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat d91ba1f42a 无jira fix: 国际化 2 years ago
treecat-罗群 cf95890fd4 Pull request #3477: KERNEL-14885 fix: virtualgrouplist 死循环 & KERNEL-14316 chore: 代码同步 2 years ago
Treecat 071b74a780 KERNEL-14316 chore: 代码同步 2 years ago
Treecat 0afb691d6e Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 8fcf49e00c KERNEL-14885 fix: virtualgrouplist 爆栈 2 years ago
treecat-罗群 2a2d3eeb9a Pull request #3476: KERNEL-14316 chore: 代码同步和打包 2 years ago
Treecat 4cf8c27203 KERNEL-14316 chore: 代码同步 2 years ago
Treecat 246292536d Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 981ea07f76 KERNEL-14316 chore: 对依赖进行调整 2 years ago
Treecat 80d2e4ed31 KERNEL-14316 chore: 合并代码提交 2 years ago
Treecat 3b1fb7ca20 KERNEL-14316 fix: webpack 打包配置 2 years ago
treecat-罗群 b2a76c53a2 Pull request #3473: KERNEL-14316 fix: 修复一些细节问题 2 years ago
Treecat 24bcfe152e Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat ad0730a254 KERNEL-14316 fix: 修复一些细节问题 2 years ago
treecat-罗群 1b3fc0940c Pull request #3472: KERNEL-14316 fix: 全局打包下的一些补充 & 同步代码 2 years ago
Treecat ccc1555658 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 441a8b8820 KERNEL-14316 chore: 代码同步一下 2 years ago
Treecat 3d7056fb23 KERNEL-14316 fix: 全局打包下的一些补充 2 years ago
treecat-罗群 af9f1f3e64 Pull request #3469: KERNEL-14316 fix: 打包和处理一些细节上的问题 2 years ago
Treecat cdd44f4b99 KERNEL-14316 fix: 取消掉 npm 里面的 cd 2 years ago
Treecat 27d627906f KERNEL-14316 fix: bundle 打包 2 years ago
Treecat 57a5223a39 KERNEL-14316 fix: bundle打包 2 years ago
Treecat 29b46bc888 KERNEL-14316 fix: 修复一些细节问题 2 years ago
Treecat 4a5ffb6398 KERNEL-14316 fix: 过一遍 Demo,把控制台报错,全部解决掉 2 years ago
treecat-罗群 e10fe74aca Pull request #3462: KERNEL-14316 feat: 将 ES6 分支换成 monorepo 结构 2 years ago
Treecat 252f692605 REPORT-90850 feat: 使用 monorepo 结合,并验证 fineui 按需要引入 2 years ago
Treecat 52dba71525 KERNEL-14512 fix: ES6 router 2 years ago
Treecat 4520575928 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 6673ac6da5 ES6 fix: 减少 sideEffects 粒度和修复 button 循环依赖 2 years ago
treecat-罗群 d4f3a3996f Pull request #3456: Es6 refact: 修复 behavior、router、z-tree、config 等问题 2 years ago
Treecat 7e4d44e8cc Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 4055f40eb0 KERNEL-14316 fix: config 找不到依赖 2 years ago
Treecat c9e86b3f6f KERNEL-14512 refact: 使用 babel 打包出 ESM 模块 2 years ago
Treecat ddb498873b KERNEL-14512 refact: 删除ES6脚本,防止被滥用 2 years ago
Treecat e39339336e KERNEL-14512 refact: 修复一些细节问题 2 years ago
Treecat 1c52460a17 KERNEL-14512 fix: 修改 z-tree 严格模式下的问题 2 years ago
Treecat f8ce8fbf94 无 jira fix:有的地方没有模块 2 years ago
Treecat 1e31ad0ffa KERNEL-14512 refact: router 2 years ago
Treecat 7b8b310651 KERNEL-14512 refact: 调整 behavior 的位置 2 years ago
treecat-罗群 b9bea5ca87 Pull request #3450: KERNEL-14316 chore: Fix ES6 化 2 years ago
Treecat f1870a58e4 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 345a6160cf KERNEL-14316 chore: Fix ES6 化 2 years ago
treecat-罗群 bbc6bf171e Pull request #3449: KERNEL-14316 chore: 删除 BI.jquery 2 years ago
Treecat 08f4acb91e Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 1acb29dbb5 KERNEL-14316 chore: 删除 BI.jquery 2 years ago
treecat-罗群 a9aa5e6d3a Pull request #3448: refact: KERNEL-14316 去掉 jQuery 以外的全局变量 2 years ago
Treecat 412824a83d Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat be9a5e8512 refact: KERNEL-14316 去掉 jQuery 以外的全局变量 2 years ago
treecat-罗群 61ae2a6130 Pull request #3447: KERNEL-14316 chore: 引入rollup,修复一些细节 BUG 2 years ago
Treecat 07aec861b9 KERNEL-14316 chore: 修复 string 的一些细节 BUG 2 years ago
Treecat 2726fbc0b0 KERNEL-14316 chore: 引入rollup,修复一些细节 BUG 2 years ago
Vivy.Pan-潘柯芋 90e3b2b600 Pull request #3446: KERNEL-14300 fix:NumberInterval补充simple的ts声明 2 years ago
Vivy.Pan 9acd769e5d KERNEL-14300 fix:NumberInterval补充simple的ts声明 2 years ago
Zhenfei.Li-李振飞 6761b08df7 Pull request #3443: Master -> es6 2 years ago
Zhenfei.Li 79de417f3b Merge branch 'master' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Vivy.Pan-潘柯芋 cad5dbbdd2 Pull request #3440: KERNEL-14241 refactor:调整js相关打包,用index.js替换blob语法 2 years ago
Vivy.Pan 8048faf126 KERNEL-14241 refactor:demo增加index.js,调整打包 2 years ago
Vivy.Pan 8420a4a74b KERNEL-14241 refactor:调整js相关打包,用index.js替换blob语法 2 years ago
treecat-罗群 daf865f596 Pull request #3439: KERNEL-14240 fix: deepExtend 为 undefined 2 years ago
Vivy.Pan-潘柯芋 904bdfde58 Pull request #3438: KERNEL-14241 refactor:demo的es6化 2 years ago
Treecat 821f194207 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 1014ee1e99 KERNEL-14240 fix: deepExtend 为 undefined 2 years ago
Vivy.Pan c8f1c832c7 KERNEL-14241 refactor:demo的es6化 2 years ago
Vivy.Pan-潘柯芋 40ac231db4 Pull request #3437: KERNEL-14241 feat:es6脚本适配demo多处shortcut场景 2 years ago
Vivy.Pan fd610389d4 KERNEL-14241 feat:es6脚本适配demo多处shortcut场景 2 years ago
Dailer-刘荣歆 c3b8840231 Pull request #3435: Es6 2 years ago
zsmj 66544d73be update demo 2 years ago
Zhenfei.Li-李振飞 db622a3158 Pull request #3434: 无JIRA任务 fix: 上传的事件名 2 years ago
Zhenfei.Li 7cfc5ad529 无JIRA任务 fix: 上传的事件名 2 years ago
Dailer-刘荣歆 ec66167580 Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Vivy.Pan-潘柯芋 b010bcf710 Pull request #3433: KERNEL-14215 fix:index.html配置的BI.pixUnit和BI.pixRatio失效-bug48 2 years ago
Vivy.Pan 92d96f9b7b KERNEL-14215 fix:index.html配置的BI.pixUnit和BI.pixRatio失效-bug48 2 years ago
Vivy.Pan-潘柯芋 2dda96ea65 Pull request #3431: KERNEL-14215 fix:bi.editor组件errorText无法更新-bug46 2 years ago
Zhenfei.Li-李振飞 dfd31ee693 Pull request #3432: KERNEL-14124 fix: 打包fineui.min.js需要吧_和$挂载到全局 2 years ago
Zhenfei.Li 4d54586c4b KERNEL-14124 fix: 打包fineui.min.js需要吧_和$挂载到全局 2 years ago
Vivy.Pan f5f8615df0 KERNEL-14215 fix:bi.editor组件errorText无法更新-bug46 2 years ago
Vivy.Pan-潘柯芋 dd4aa1d1d3 Pull request #3430: KERNEL-14215 fix:bi.card组件切换时tab消失-bug43 2 years ago
Vivy.Pan 6d458d0e35 KERNEL-14215 fix:bi.card组件切换时tab消失-bug43 2 years ago
Vivy.Pan-潘柯芋 410f090b2e Pull request #3429: KERNEL-14215 fix:bi.search_text_value_combo下拉无法展示和搜索mask无法展示的问题-bug20 2 years ago
Vivy.Pan 4c8ab8674c KERNEL-14215 fix:bi.search_text_value_combo下拉无法展示和搜索mask无法展示的问题-bug20 2 years ago
Vivy.Pan-潘柯芋 06ec367fc1 Pull request #3427: KERNEL-14215 fix:bi.text_value_check_combo无法显示-bug21 2 years ago
Impact-吴家豪 cfd68d1651 Pull request #3426: KERNEL-14222 fix: 无法弹出bubble 2 years ago
Vivy.Pan 3bed5a8454 KERNEL-14215 fix:bi.text_value_check_combo无法显示-bug21 2 years ago
impact 8e6e978c11 KERNEL-14222 fix: 无法弹出bubble 2 years ago
Vivy.Pan-潘柯芋 50c67651df Pull request #3425: KERNEL-14215 fix:bi.icon_arrow_node组件文本消失的问题-bug26 2 years ago
Impact-吴家豪 e9ca0d4ed3 Pull request #3424: KERNEL-14222 fix: virtual_group 刷新按钮失效 bug-6 2 years ago
Vivy.Pan 91d9ec00b4 KERNEL-14215 fix:bi.icon_arrow_node组件文本消失的问题-bug26 2 years ago
impact 0ffdebf792 KERNEL-14222 fix: virtual_group 刷新按钮失效 2 years ago
Vivy.Pan-潘柯芋 e1c8e19017 Pull request #3423: KERNEL-14215 fix:bi.time_interval无法显示-bug37 2 years ago
Vivy.Pan c695129516 KERNEL-14215 fix:bi.time_interval无法显示-bug37 2 years ago
Vivy.Pan-潘柯芋 ebadd68c89 Pull request #3422: KERNEL-14215 fix:slider滑块左侧大于右侧无法交换的问题-bug42 2 years ago
Vivy.Pan 5d8aa7ba02 KERNEL-14215 fix:bi.year_interval组件下拉框无法显示-bug40 2 years ago
Vivy.Pan 0c4e697227 KERNEL-14215 fix:slider滑块左侧大于右侧无法交换的问题-bug42 2 years ago
Zhenfei.Li-李振飞 961ef601ec Pull request #3418: KERNEL-14124 fix: 解决报错,调整打包 2 years ago
Zhenfei.Li 434491ddf2 KERNEL-14124 refactor: 优化优化 2 years ago
Zhenfei.Li 9358010b47 KERNEL-14124 fix: 解决报错,调整打包 2 years ago
Zhenfei.Li 968901be01 KERNEL-14124 fix: import错的 2 years ago
Zhenfei.Li-李振飞 dc7a8861a1 Pull request #3417: KERNEL-14124 fix: 再梳理一遍去脚本难去掉的BI.以及eslint标红 2 years ago
Zhenfei.Li 069167c131 KERNEL-14124 fix: 再梳理一遍去脚本难去掉的BI.以及eslint标红 2 years ago
Zhenfei.Li-李振飞 98c6ab8d77 Pull request #3415: KERNEL-14124 chore: 调整tsconfig解决tsc时的报错 2 years ago
Zhenfei.Li ef17972f00 KERNEL-14124 chore: 调整tsconfig解决tsc时的报错 2 years ago
zsmj 5728414472 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj 814ba6fa12 无jira 去掉grunt 2 years ago
treecat-罗群 84520732a9 Pull request #3412: 无jira refact:widget搞完了 2 years ago
Treecat 12a77ed9bc 无jira refact:多了个import 2 years ago
Treecat d4d2442812 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 856291de43 无jira refact:widget搞完了 2 years ago
treecat-罗群 dff2779ee8 Pull request #3410: 无jira refact:widget的xtype换下 2 years ago
Joker.Wang-王顺 0e95fc2cea Pull request #3411: KERNEL-14109 refactor:componet/treevaluechooser文件es6化 2 years ago
Joker.Wang-王顺 8aac9606ec KERNEL-14109 refactor:componet/treevaluechooser文件es6化 2 years ago
Treecat de22cfdcf9 无jira refact:widget的xtype换下 2 years ago
Zhenfei.Li-李振飞 4b5bd03632 Pull request #3409: KERNEL-14124 refactor: 初步调整好打包 2 years ago
Zhenfei.Li dcf14ed0a0 KERNEL-14124 refactor: 初步调整好打包 2 years ago
Impact-吴家豪 53fdb8cea4 Pull request #3408: KERNEL-14107 refactor: widget/searchmultitextvaluecombo、textvaluedownlistcombo ES6化 2 years ago
impact d2f320307c KERNEL-14107 refactor: widget/searchmultitextvaluecombo、textvaluedownlistcombo ES6化 2 years ago
treecat-罗群 d806aa87fb Pull request #3407: 无Jira refact:combo的xtype写的有点问题 2 years ago
Joker.Wang-王顺 9faa7f1e80 Pull request #3406: KERNEL-14108 refactor:componet/valuechooser文件es6化 2 years ago
Treecat 3e7e83b692 无Jira refact:combo的xtype写的有点问题 2 years ago
Treecat c7d43e0a70 无jira refact:base重新跑一下脚本 2 years ago
Joker.Wang-王顺 853dc96cf4 KERNEL-14108 refactor:避免循环依赖 2 years ago
Joker.Wang-王顺 787d762f4a KERNEL-14108 refactor:处理文件引入后TODO项 2 years ago
Joker.Wang-王顺 8f6531cfd3 Merge branch 'es6' of ssh://code.fineres.com:7999/~joker.wang/fineui into es6 2 years ago
Joker.Wang-王顺 dcbd4c8087 KERNEL-14108 refactor:componet/valuechooser文件es6化 2 years ago
Impact-吴家豪 ac87906b0b Pull request #3400: KERNEL-14097 refactor: widget/yearmonth、yearmonthinterval ES6化 2 years ago
Impact-吴家豪 d8e5ffcb0e Fixed merge conflict 2 years ago
treecat-罗群 ecf38254e5 Pull request #3405: KERNEL-14076 feat: 脚本修复bug,有的没有xtype,null 也是obj类型 2 years ago
Treecat 7129532c68 KERNEL-14076 feat: 脚本修复bug,有的没有xtype,null 也是obj类型 2 years ago
treecat-罗群 825f83c574 Pull request #3404: KERNEL-14076 feat: 脚本循环依赖修复 && 无jira 替换 case 全部 xtype 2 years ago
Treecat 072054c7cd Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 137d8b1431 KERNEL-14076 feat: 循环依赖修复 && 无jira 替换 case 全部 xtype 2 years ago
Joker.Wang-王顺 fba4fa6212 Pull request #3402: KERNEL-14100 refactor: widget/yearquarter、yearquarterinterval es6化 2 years ago
Crawford.Zhou-周旭 ffa091c286 Pull request #3399: KERNEL-14105 feat:searchmultitextvaluecombo 的es6化 2 years ago
Zhenfei.Li-李振飞 708a931e9b Pull request #3403: KERNEL-14116 refactor: component/allvaluechooser、allvaluemultitextvaluecombo、form 2 years ago
Zhenfei.Li 88ebbb75ad Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Joker.Wang-王顺 176b402e0b KERNEL-14100 refactor: widget/yearquarter、yearquarterinterval es6化 2 years ago
Zhenfei.Li 6b225705fc KERNEL-14116 refactor: component/allvaluechooser、allvaluemultitextvaluecombo、form 2 years ago
Dailer-刘荣歆 8920b5aff7 Pull request #3401: update 2 years ago
zsmj 9335c4ef93 update 2 years ago
impact f90147006b KERNEL-14097 refactor: widget/yearmonth、yearmonthinterval ES6化 2 years ago
crawford.zhou 2f1b527ee3 KERNEL-14105 resolve conflict 2 years ago
Dailer-刘荣歆 66e26f3690 Pull request #3394: update 2 years ago
crawford.zhou ab2eb1f996 KERNEL-14105 feat:searchmultitextvaluecombo 的es6化 2 years ago
zsmj 13582d01da Merge branch 'es6' of https://code.fineres.com/scm/visual/fineui into es6 2 years ago
zsmj 19ed4a665f update 2 years ago
treecat-罗群 db4fe44a0e Pull request #3396: KERNEL-14076 refact: es6 脚本识别循环依赖。完成 base 处理。 2 years ago
Treecat ef32e98be6 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 630be6aea0 KERNEL-14076 refact: es6 脚本识别循环依赖。完成 base 处理。 2 years ago
Zhenfei.Li-李振飞 399be46c6e Pull request #3395: KERNEL-14101 refactor: widget/singleselect、multilayerdownlist、multilayersingletree 2 years ago
Zhenfei.Li b9900a1dcb Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Zhenfei.Li 7c29cb461c KERNEL-14101 refactor: multilayerdownlist、multilayersingletree 2 years ago
zsmj 99931d45d8 update 2 years ago
Crawford.Zhou-周旭 c8f5811742 Pull request #3393: KERNEL-14067 feat:year && yearInterval 的es6化 2 years ago
Zhenfei.Li f32af40f0f KERNEL-14101 refactor: widget/singleselect 2 years ago
crawford.zhou 6b1aeb6d9f KERNEL-14067 feat:year && yearInterval 的es6化 2 years ago
treecat-罗群 4e38506ea9 Pull request #3392: 无jira fix: xtype 搞错了 2 years ago
Treecat a6cc9b9ebf 无jira fix: xtype 搞错了 2 years ago
Zhenfei.Li-李振飞 fc04f09227 Pull request #3391: 无JIRA任务 fix: 修复pane.list的bug 2 years ago
treecat-罗群 71931c2ff4 Pull request #3389: KERNEL-14076 feat:递归xtype合并 import 2 years ago
Dailer-刘荣歆 2d36fe30b9 Pull request #3390: update 2 years ago
Zhenfei.Li 8fa373e052 Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
zsmj 06eb3bdaed Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj c3dd73622f update 2 years ago
Treecat 0aee12d56b Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 27c6956b1d KERNEL-14076 feat:递归xtype合并 import 2 years ago
Joker.Wang-王顺 761f945c81 Pull request #3388: KERNEL-14083 refactor: widget/downlist、singleslider、intervalslider es6化 2 years ago
Joker.Wang-王顺 f87bab8068 KERNEL-14083 refactor: widget/downlist、singleslider、intervalslider es6化 2 years ago
Dailer-刘荣歆 b3afd3fbaa Pull request #3387: update 2 years ago
zsmj 25511e7cba Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj 2287879d95 update 2 years ago
Dailer-刘荣歆 662307358b Pull request #3386: Es6 2 years ago
zsmj fb82d5c027 update 2 years ago
zsmj d43a9786e4 update 2 years ago
Zhenfei.Li 050184e00b Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Impact-吴家豪 82c51dcd3e Pull request #3385: KERNEL-14047 refactor: case/colorchoose ES6化 2 years ago
impact bac7293909 KERNEL-14047 refactor: 修复index 2 years ago
Zhenfei.Li 80db0a5eee 无JIRA任务 fix: 修复pane.list的bug 2 years ago
Zhenfei.Li 2799feb5b7 Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
impact 3fb5b3a9bb KERNEL-14047 refactor: case/colorchoose ES6化 2 years ago
treecat-罗群 66c4aa840c Pull request #3384: KERNEL-14076 fix: 修复xtype 2 years ago
Treecat d6e909e893 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 499d1d02b4 KERNEL-14076 fix: 修复xtype 2 years ago
Dailer-刘荣歆 016978795d Pull request #3383: update 2 years ago
zsmj 41262e9a4a Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj cee6f00732 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
Zhenfei.Li-李振飞 c69d7e16c4 Pull request #3377: KERNEL-14093 widget/timeinterval、editor、numbereditor、numberinterval 2 years ago
zsmj c80b9f05ef update 2 years ago
Zhenfei.Li-李振飞 4eed1de482 Fixed merge conflict 2 years ago
Dailer-刘荣歆 7a8f22498f Pull request #3382: update 2 years ago
zsmj 101b3352fa update 2 years ago
treecat-罗群 9389349e85 Pull request #3380: KERNEL-14076 fix: 修复 extend 的问题和识别静态变量 2 years ago
Treecat db7ac5df35 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 7c628d3401 KERNEL-14076 fix: 修复 extend 的问题和识别静态变量 2 years ago
Zhenfei.Li 65791b56a1 无JIRA任务 fix: TextValueCombo的引用正常 2 years ago
Dailer-刘荣歆 689edc43ff Pull request #3379: update 2 years ago
zsmj 3bed68cbab update 2 years ago
Dailer-刘荣歆 1049fd8a45 Pull request #3378: update 2 years ago
zsmj 6a0b7a3c67 update 2 years ago
Zhenfei.Li 4f4e84c419 KERNEL-14093 refactor: widget/editor、numbereditor、numberinterval 2 years ago
Zhenfei.Li 53f3ca296d Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Dailer-刘荣歆 1688b21eb4 Pull request #3376: KERNEL-14086 feat: widget/singletree、selecttree 2 years ago
zsmj 2bfd07879c Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj 085b5c34e1 KERNEL-14086 feat: widget/singletree、selecttree 2 years ago
Zhenfei.Li a2ca12a140 KERNEL-14092 refactor: widget/timeinterval 2 years ago
Zhenfei.Li 7a09ee6ccc Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
treecat-罗群 9e61eb360a Pull request #3375: KERNEL-14060 refact: combo && KERNEL-14076 fix: 修复了部分发现的错误 2 years ago
Zhenfei.Li 9d331edf5c Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Zhenfei.Li e051b9edcb 无JIRA任务 fix: this指向错误的bug 2 years ago
Treecat 842be683c2 KERNEL-14060 refact: combo没有导出 2 years ago
Dailer-刘荣歆 d85394a12d Pull request #3374: KERNEL-14086 feat: widget/singletree、selecttree 2 years ago
Treecat 12808c22af Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 6f283469e1 KERNEL-14060 refact: combo && KERNEL-14076 fix: 修复了部分发现的错误 2 years ago
zsmj b9d0902fa7 KERNEL-14086 feat: widget/singletree、selecttree 2 years ago
Dailer-刘荣歆 8385c32979 Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Zhenfei.Li b0da61382f Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Zhenfei.Li 2d2d87015e 无JIRA任务 fix: 使用脚本漏掉的常量 2 years ago
Zhenfei.Li-李振飞 3250dcb10a Pull request #3373: KERNEL-14092 refactor: widget/time及解决parseDateTime的错误代码 2 years ago
Zhenfei.Li 5b33d1e9c3 KERNEL-14092 refactor: widget/time及解决parseDateTime的错误代码 2 years ago
Zhenfei.Li-李振飞 4c4fdf61ea Pull request #3372: KERNEL-14087 refactor: widget/dynamicdate、datepane、datetime、datetimepane、dynamicdatetime 2 years ago
Zhenfei.Li 1c1b262c9e KERNEL-14087 refactor: widget/dynamicdate、datepane、datetime、datetimepane、dynamicdatetime 2 years ago
treecat-罗群 f3d0a11577 Pull request #3371: KERNEL-14076 feat:es6脚本自动修复xtype 2 years ago
Treecat 065e44cf0c KERNEL-14076 feat:es6脚本自动修复xtype 2 years ago
treecat-罗群 edb7d5b68c Pull request #3370: KERNEL-14076 fix:解决死循环问题 2 years ago
Treecat 3aa425ba74 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat ddd233adcb KERNEL-14076 fix:解决死循环问题 2 years ago
treecat-罗群 06d71638a1 Pull request #3369: KERNEL-14076 feat:把 base 里面的函数都加进来 2 years ago
Treecat 175bbf178b KERNEL-14076 feat:把 base 里面的函数都加进来 2 years ago
zsmj fc5637a162 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
Crawford.Zhou-周旭 a051d9aed4 Pull request #3361: KERNEL-14067 feat:checkbox的es6化 2 years ago
Zhenfei.Li-李振飞 2beec93414 Pull request #3367: KERNEL-14085 refactor: widget/calender、date 2 years ago
zsmj c763429e2c Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj aa3d0eb035 update 2 years ago
treecat-罗群 44e04dfd9a Pull request #3368: KERNEL-14076 feat:脚本可以自动处理依赖了 2 years ago
Joker.Wang-王顺 41a8aa966d Pull request #3364: Es6 2 years ago
Treecat f9c12f7f6e Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat dd9db4d1fb KERNEL-14076 feat:脚本可以自动处理依赖了 2 years ago
Zhenfei.Li 8979ae1743 KERNEL-14085 refactor: widget/calender、date 2 years ago
Zhenfei.Li e15d5fe583 Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Dailer-刘荣歆 554222709a Pull request #3366: KERNEL-14066 feat: case/tree和case/ztree 2 years ago
zsmj b7807ec3b4 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj 9ea65567ca KERNEL-14066 feat: case/tree和case/ztree 2 years ago
Dailer-刘荣歆 87db31e089 Pull request #3365: Es6 2 years ago
zsmj aa6fcad0bf KERNEL-14066 feat: case/tree和case/ztree 2 years ago
zsmj 434837653c Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj 752f147579 KERNEL-14066 feat: case/tree和case/ztree 2 years ago
Zhenfei.Li eebd1002b3 无JIRA任务 fix: 修复一些问题 2 years ago
Joker.Wang-王顺 7d86ad53c1 KERNEL-14069 refactor: 删除无用代码 2 years ago
Joker.Wang-王顺 edc9e565bb KERNEL-14069 refactor: case/layer、linearsegment、list es6化 2 years ago
crawford.zhou c9c65cfbbf KERNEL-14067 feat:checkbox的es6化 2 years ago
Zhenfei.Li-李振飞 721c68796a Pull request #3362: KERNEL-14071 case/trigger、loader、segment、toolbar 2 years ago
Zhenfei.Li-李振飞 d393c6a05e Fixed merge conflict 2 years ago
treecat-罗群 0143629346 Pull request #3363: KERNEL-14076 feat: es6 脚本递归文件夹,eslint 自动 fix 2 years ago
Treecat 43c2313d55 KERNEL-14076 feat: es6 脚本递归文件夹,eslint 自动 fix 2 years ago
Zhenfei.Li 0591f0ded9 KERNEL-14081 refactor: case/loader、segment、toolbar 2 years ago
crawford.zhou c7a0a5bad6 Merge remote-tracking branch 'origin/es6' into es6 2 years ago
crawford.zhou 36d186f4c0 KERNEL-14067 feat:checkbox的es6化 2 years ago
Zhenfei.Li 0c009add2c KERNEL-14071 refactor: case/trigger的es6化 2 years ago
Joker.Wang-王顺 e9bc394a01 Pull request #3354: KERNEL-14045 refactor: calendar和pager文件es6化 2 years ago
Joker.Wang-王顺 7fd4fd7218 Fixed merge conflict 2 years ago
Zhenfei.Li-李振飞 2bfa20c861 Pull request #3359: KERNEL-14073 refactor: case/editor的es6化 2 years ago
Zhenfei.Li 99b19a440b KERNEL-14073 refactor: case/editor的es6化 2 years ago
Zhenfei.Li-李振飞 85b9224162 Pull request #3358: KERNEL-14035 refactor: 剩余的layout 2 years ago
treecat-罗群 44e893f444 Pull request #3357: 无jira fix:es6脚本修复一些问题 2 years ago
Zhenfei.Li 2aefcaac8b KERNEL-14035 refactor: 剩余的layout 2 years ago
Treecat 2bbf6127a8 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat bda879d580 无jira fix:es6脚本修复一些问题 2 years ago
treecat-罗群 3de383bd79 Pull request #3356: 无jira feat: es6化脚本 2 years ago
Treecat 9f397fcee1 无jira feat: es6化脚本 2 years ago
Joker.Wang-王顺 87bf451182 KERNEL-14045 refactor: 补充别名修改路径 2 years ago
Joker.Wang-王顺 9f6d614bdd KERNEL-14045 refactor: 使用别名修改路径 2 years ago
Joker.Wang-王顺 63c68ee654 Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Zhenfei.Li-李振飞 19365cf535 Pull request #3355: 无JIRA任务 chore: 给src配置个别名,便于路径引入 2 years ago
Zhenfei.Li 40b12b865e 无JIRA任务 chore: 给src配置个别名,便于路径引入 2 years ago
Joker.Wang-王顺 95ccea4675 KERNEL-14045 refactor: 修改引用路径 2 years ago
Joker.Wang-王顺 7074a0dcbe KERNEL-14045 refactor: calendar和pager文件es6化 2 years ago
Zhenfei.Li-李振飞 1e683b1d0f Pull request #3336: KERNEL-14035 refactor: layout相关es6 2 years ago
Zhenfei.Li-李振飞 0743286aea Fixed merge conflict 2 years ago
Dailer-刘荣歆 7b742dde5a Pull request #3353: Es6 2 years ago
Dailer-刘荣歆 c5eaf22cdc Pull request #1: Master 2 years ago
Zhenfei.Li 5376192e59 KERNEL-14035 refactor: layout相关es6 2 years ago
zsmj 720ae1260b KERNEL-14041 feat: core/platform文件夹 2 years ago
zsmj 54f223248f Merge branch 'master' into es6 2 years ago
zsmj 2d645fa7e7 KERNEL-14041 feat: core/platform文件夹 2 years ago
Zhenfei.Li-李振飞 5d1f9ffe88 Pull request #3331: Master -> es6 2 years ago
Zhenfei.Li 70accbff8f Merge branch 'master' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Zhenfei.Li-李振飞 1a05f1ffab Merging in latest from upstream (VISUAL/fineui:refs/heads/master) 2 years ago
Zhenfei.Li-李振飞 77124056b5 Pull request #3330: 无JIRA任务 refactor: 批量替换一下错误写法 2 years ago
Zhenfei.Li ce500ccec1 Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Zhenfei.Li ad988917c1 无JIRA任务 refactor: 批量替换一下错误写法 2 years ago
Impact-吴家豪 9c6066e51e Pull request #3327: KERNEL-14020 refactor: base/single中的iframe,image,instruction,link,trigger ES6化 2 years ago
Zhenfei.Li-李振飞 61799cbba4 Pull request #3325: KERNEL-14035 refactor: core/utils 2 years ago
Zhenfei.Li-李振飞 3d958f3c9e Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Zhenfei.Li-李振飞 42c039c398 Merging in latest from upstream (VISUAL/fineui:refs/heads/master) 2 years ago
treecat-罗群 b25759f4c8 Pull request #3328: KERNEL-14022 refact: textitem 2 years ago
Treecat a7adde1811 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat 1d97dd10cc KERNEL-14022 refact: textitem 2 years ago
Joker.Wang-王顺 1609ae3079 Pull request #3326: KERNEL-13972 refactor: base/collection、base/tree es6化和修改bi.xxx 2 years ago
impact 1530f78a1e KERNEL-14020 refactor: base/single中的iframe,image,instruction,link,trigger ES6化 2 years ago
Joker.Wang-王顺 7deb6554b0 KERNEL-13972 refactor: import不换行 2 years ago
treecat-罗群 2d78b6fe62 Pull request #3324: KERNEL-14022 refact: 按钮干掉 apply 2 years ago
Joker.Wang-王顺 f931531212 KERNEL-13972 refactor: 解决冲突 2 years ago
Joker.Wang-王顺 50db461708 KERNEL-13972 refactor: base/collection、base/tree es6化和修改bi.xxx 2 years ago
Zhenfei.Li 7446b7e786 KERNEL-14035 refactor: core/utils 2 years ago
Treecat 882dda0f30 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat c5ea536fd7 KERNEL-14022 refact: 按钮干掉 apply 2 years ago
treecat-罗群 c4e47e6235 Pull request #3321: KERNEL-14022 case/button文件夹 es6 2 years ago
Zhenfei.Li-李振飞 2e9e4426f1 Pull request #3322: KERNEL-14035 refactor: constant、element、logic文件夹及整体eslint一下 2 years ago
Zhenfei.Li 8fcb09c1e3 KERNEL-14035 refactor: 挂载Element 2 years ago
Zhenfei.Li 153b612482 Merge branch 'es6' of ssh://code.fineres.com:7999/~zhenfei.li/fineui into es6 2 years ago
Zhenfei.Li 4addb6aefd KERNEL-14035 refactor: constant、element、logic文件夹及整体eslint一下 2 years ago
Zhenfei.Li-李振飞 62fe9b5f31 Pull request #3320: KERNEL-14001 refactor: plguin、system等 2 years ago
Treecat 06c05a34fb Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
Treecat a18cd23e1c case/button文件夹 es6 2 years ago
Zhenfei.Li 7ae79f12e3 KERNEL-14001 refactor: plguin、system等 2 years ago
Zhenfei.Li-李振飞 d911498fb7 Pull request #3319: 无JIRA任务 chore: eslint调整 2 years ago
Zhenfei.Li 6da3c19670 无JIRA任务 chore: eslint调整 2 years ago
Zhenfei.Li-李振飞 4913c2b167 Pull request #3316: 无JIRA任务 chore: 补充eslint规则 2 years ago
Zhenfei.Li-李振飞 5fcb9f0eb0 Fixed merge conflict 2 years ago
Dailer-刘荣歆 929649567a Pull request #3312: KERNEL-14012 feat: core/structure文件夹 2 years ago
Zhenfei.Li 4e2a41bfb7 无JIRA任务 chore: 补充eslint规则 2 years ago
Impact-吴家豪 9fc6250b2d Pull request #3315: KERNEL-13901 refactor: input文件夹ES6化补充 2 years ago
zsmj c4184571d3 KERNEL-14012 feat: core/structure文件夹 2 years ago
impact 4efd86dc35 KERNEL-13901 refactor: input文件夹ES6化补充 2 years ago
Impact-吴家豪 02229a41fe Pull request #3313: KERNEL-13901 refactor: label、editor、input文件夹ES6化 2 years ago
Impact-吴家豪 63ab82f65f Fixed merge conflict 2 years ago
treecat-罗群 6118935451 Pull request #3311: KERNEL-13962 refact: es6按钮组 2 years ago
impact b092b80dd4 KERNEL-13901 refactor: label、editor、input文件夹ES6化 2 years ago
Treecat f29b613517 Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6 2 years ago
zsmj 6b58c1b907 KERNEL-14012 feat: core/structure文件夹 2 years ago
zsmj 47a9ac4d31 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj bceffd1a0a KERNEL-14012 feat: core/structure文件夹 2 years ago
Treecat e8f2b82e48 KERNEL-13962 refact: es6按钮组 2 years ago
Zhenfei.Li-李振飞 1da1920a2a Pull request #3310: 无JIRA任务 chore: 重新整理一下import和export和挂载到BI的规范 2 years ago
Zhenfei.Li 455a161876 无JIRA任务 refactor: func中的挂载BI挪走 2 years ago
Zhenfei.Li c645f52ac8 无JIRA任务 chore: 重新整理一下import和export和挂载到BI的规范 2 years ago
Dailer-刘荣歆 b4d01e95aa Pull request #3301: KERNEL-13991 feat: core/func文件夹 2 years ago
zsmj 3955ff070b Merge branch 'es6' of https://code.fineres.com/scm/visual/fineui into es6 2 years ago
zsmj df41ae3b78 KERNEL-13991 feat: core/func文件夹 2 years ago
zsmj 8ed5aaf502 KERNEL-13991 feat: core/func文件夹 2 years ago
Impact-吴家豪 95a461c194 Pull request #3300: KERNEL-13948 refactor: base/combination文件夹ES6化 2 years ago
zsmj 4753180394 Merge branch 'es6' of ssh://code.fineres.com:7999/~dailer/fineui into es6 2 years ago
zsmj 15b9445fae KERNEL-13991 feat: core/func文件夹 2 years ago
impact 4edb0d9b23 KERNEL-13948 refactor: base/combination文件夹ES6化 2 years ago
impact e062217847 KERNEL-13948 docs: 修复combo_group demo接口错误 2 years ago
Zhenfei.Li-李振飞 5a768a5fae Pull request #3298: KERNEL-14001 refactor: inject的es6化 2 years ago
Zhenfei.Li 3e98c47b71 KERNEL-14001 refactor: inject的es6化 2 years ago
Zhenfei.Li-李振飞 76e86d9590 Pull request #3296: KERNEL-13947 refactor: base工具方法的es6化 2 years ago
Zhenfei.Li c04901c7bf KERNEL-13947 refactor: base工具方法的es6化 2 years ago
Joker.Wang-王顺 336d95fff8 Pull request #3291: KERNEL-13841 refactor:base文件es6化与import引入适配 2 years ago
Joker.Wang-王顺 3db612aa38 KERNEL-13841 refactor:base文件es6化箭头函数和this代码优化 2 years ago
Zhenfei.Li-李振飞 01d277c002 Pull request #3292: 从master合并一波到es6 2 years ago
Zhenfei.Li-李振飞 4f558b6410 Pull request #1: 从master合一下分支到es6 2 years ago
Zhenfei.Li-李振飞 0890d11ff0 Fixed merge conflict 2 years ago
Joker.Wang-王顺 6747882413 Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Joker.Wang-王顺 3c98a6b4b8 KERNEL-13841 refactor:base文件es6化与import引入适配 2 years ago
Zhenfei.Li-李振飞 f072c66862 Pull request #3290: KERNEL-13947 refactor: Drawer的bug 2 years ago
Zhenfei.Li 0af2b5afdb KERNEL-13947 refactor: Drawer的bug 2 years ago
Joker.Wang-王顺 8a3b7d6dbd Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Zhenfei.Li-李振飞 517df399d5 Pull request #3289: KERNEL-13947 refactor: 处理继承OB对象的执行顺序问题 2 years ago
Zhenfei.Li 67cfec57ae KERNEL-13947 refactor: 处理继承OB对象的执行顺序问题 2 years ago
Impact-吴家豪 052894228f Pull request #3287: KERNEL-13928 refactor: es6化0.single.js 2 years ago
impact a941b90118 KERNEL-13928 refactor: 去掉多余的引入 2 years ago
impact 7f5eeb430c KERNEL-13928 refactor: 修改解构赋值错误的地方 2 years ago
impact 2314d4b58b KERNEL-13928 refactor: es6化1.text.js 2 years ago
impact a10539682f KERNEL-13928 refactor: es6化0.single.js 2 years ago
impact ff266d9864 KERNEL-13928 refactor: 重构一些用到的方法 2 years ago
Joker.Wang-王顺 d91cc3713f Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Zhenfei.Li-李振飞 fc1f259985 Pull request #3286: KERNEL-13947 refactor: base的es6化demo 2 years ago
Zhenfei.Li 8c8fd18c6c KERNEL-13947 refactor: base的es6化demo 2 years ago
Joker.Wang-王顺 eb02dc2d82 Merging in latest from upstream (VISUAL/fineui:refs/heads/es6) 2 years ago
Zhenfei.Li-李振飞 c8157c5853 Pull request #3285: KERNEL-13947 refactor: 提交下ob和widget的es6化,避免阻塞 2 years ago
Zhenfei.Li e9a87a8528 KERNEL-13947 refactor: OB和Widget从index export 2 years ago
Zhenfei.Li 2b80c67839 KERNEL-13947 refactor: 统一挂载 2 years ago
Zhenfei.Li da4a0ffac0 KERNEL-13947 refactor: ob和widget的es6化 2 years ago
Joker.Wang-王顺 b561bf5d85 KERNEL-13891 refactor:base/layer文件夹es6化 2 years ago
Joker.Wang-王顺 b00440694d KERNEL-13883 refactor:base/single/tip文件夹es6化 2 years ago
Joker.Wang-王顺 1222710076 KERNEL-13846 refactor: 优化代码,采用解构方式引入变量 2 years ago
Joker.Wang-王顺 19a5fe5298 feat: 删除无用代码 2 years ago
Joker.Wang-王顺 dd275132fb feat: 删除todo提示 2 years ago
Joker.Wang-王顺 4818b99ec3 feat: 还原demo修改 2 years ago
Joker.Wang-王顺 b6f291ae78 feat: 修改bi.a 2 years ago
Zhenfei.Li-李振飞 5c24f59854 Pull request #3261: KERNEL-13843 refactor: core未完成es6化时不阻塞普通组件的es6化的一个示例 2 years ago
Zhenfei.Li 691dde05dc KERNEL-13843 refactor: core未完成es6化时不阻塞普通组件的es6化的一个示例 2 years ago
  1. 1
      .eslintignore
  2. 17
      .gitignore
  3. 44
      .npmignore
  4. 2
      .npmrc
  5. 7
      .prettierrc
  6. 201
      LICENSE
  7. 31
      README
  8. 15
      README.md
  9. 1
      babel.config.js
  10. 21
      bin/cli/cli.js
  11. 76
      bin/cli/worker/cli.worker.js
  12. 48
      bin/cli/worker/template/main_thread.helper.t
  13. 13
      bin/cli/worker/template/main_thread/action/action.worker_ability_test.t
  14. 13
      bin/cli/worker/template/main_thread/main_thread.t
  15. 8
      bin/cli/worker/template/utils/action_type.t
  16. 13
      bin/cli/worker/template/utils/payload_type.t
  17. 24
      bin/cli/worker/template/worker_thread/action/action.worker_ability_test.t
  18. 12
      bin/cli/worker/template/worker_thread/worker_thread.t
  19. 281
      changelog.md
  20. 124
      demo/app.js
  21. 1584
      demo/config.js
  22. 408
      demo/js/base/button/demo.button.js
  23. 24
      demo/js/base/button/demo.icon_button.js
  24. 24
      demo/js/base/button/demo.image_button.js
  25. 24
      demo/js/base/button/demo.text_button.js
  26. 20
      demo/js/base/demo.html.js
  27. 20
      demo/js/base/demo.icon_label.js
  28. 139
      demo/js/base/demo.label.js
  29. 590
      demo/js/base/demo.label.scene.js
  30. 23
      demo/js/base/demo.message.js
  31. 120
      demo/js/base/demo.pager.js
  32. 113
      demo/js/base/editor/demo.editor.js
  33. 26
      demo/js/base/editor/demo.multifile_editor.js
  34. 44
      demo/js/base/editor/demo.textarea_editor.js
  35. 77
      demo/js/base/tip/demo.bubble.js
  36. 59
      demo/js/base/tip/demo.title.js
  37. 74
      demo/js/base/tip/demo.toast.js
  38. 81
      demo/js/base/tree/demo.part_tree.js
  39. 107
      demo/js/base/tree/demo.sync_tree.js
  40. 52
      demo/js/base/tree/demo.tree_view.js
  41. 121
      demo/js/case/combo/demo.bubble_combo.js
  42. 45
      demo/js/case/combo/demo.editor_icon_check_combo.js
  43. 39
      demo/js/case/combo/demo.icon_combo.js
  44. 36
      demo/js/case/combo/demo.icon_text_value_combo.js
  45. 102
      demo/js/case/combo/demo.search_text_value_combo.js
  46. 260
      demo/js/case/combo/demo.text_value_combo.js
  47. 68
      demo/js/case/combo/demo.text_value_down_list_combo.js
  48. 43
      demo/js/case/combo/demo.text_vlaue_check_combo.js
  49. 32
      demo/js/case/demo.calendar.js
  50. 40
      demo/js/case/demo.click.effect.js
  51. 40
      demo/js/case/demo.color_chooser.js
  52. 27
      demo/js/case/demo.color_chooser_popup.js
  53. 28
      demo/js/case/demo.segment.js
  54. 23
      demo/js/case/editor/demo.clear_editor.js
  55. 47
      demo/js/case/editor/demo.shelter_editor.js
  56. 29
      demo/js/case/editor/demo.sign_editor.js
  57. 33
      demo/js/case/editor/demo.simple_state_editor.js
  58. 34
      demo/js/case/editor/demo.state_editor.js
  59. 22
      demo/js/case/item/demo.multi_select_item.js
  60. 25
      demo/js/case/item/demo.single_select_item.js
  61. 25
      demo/js/case/item/demo.single_select_radio_item.js
  62. 23
      demo/js/case/list/demo.lazy_loader.js
  63. 26
      demo/js/case/list/demo.select_list.js
  64. 25
      demo/js/case/pager/demo.all_count_pager.js
  65. 50
      demo/js/case/pager/demo.direction_pager.js
  66. 34
      demo/js/case/pane/demo.list_pane.js
  67. 39
      demo/js/case/pane/demo.multi_popup_view.js
  68. 28
      demo/js/case/pane/demo.panel.js
  69. 39
      demo/js/case/pane/demo.popup_panel.js
  70. 43
      demo/js/case/tree/demo.display_tree.js
  71. 92
      demo/js/case/tree/demo.level_tree.js
  72. 130
      demo/js/case/tree/demo.simple_tree.js
  73. 24
      demo/js/case/triggers/demo.editor_trigger.js
  74. 24
      demo/js/case/triggers/demo.icon_trigger.js
  75. 25
      demo/js/case/triggers/demo.select_text_trigger.js
  76. 25
      demo/js/case/triggers/demo.text_trigger.js
  77. 26
      demo/js/center.js
  78. 100
      demo/js/component/demo.form.js
  79. 24
      demo/js/component/demo.treevaluechoosercombo.js
  80. 16
      demo/js/component/demo.treevaluechooserpane.js
  81. 20
      demo/js/component/demo.valuechoosercombo.js
  82. 15
      demo/js/component/demo.valuechooserpane.js
  83. 89
      demo/js/config/base.js
  84. 185
      demo/js/config/case.js
  85. 8
      demo/js/config/category.js
  86. 27
      demo/js/config/component.js
  87. 203
      demo/js/config/core.js
  88. 36
      demo/js/config/demo.pane.js
  89. 54
      demo/js/config/fix.js
  90. 205
      demo/js/config/widget.js
  91. 495
      demo/js/core/abstract/combination/demo.combo.js
  92. 163
      demo/js/core/abstract/combination/demo.combo2.js
  93. 75
      demo/js/core/abstract/combination/demo.combo3.js
  94. 89
      demo/js/core/abstract/combination/demo.combo_group.js
  95. 41
      demo/js/core/abstract/combination/demo.expander.js
  96. 27
      demo/js/core/abstract/combination/demo.loader.js
  97. 35
      demo/js/core/abstract/combination/demo.navigation.js
  98. 84
      demo/js/core/abstract/combination/demo.sercher.js
  99. 59
      demo/js/core/abstract/combination/demo.switcher.js
  100. 69
      demo/js/core/abstract/combination/demo.tab.js
  101. Some files were not shown because too many files have changed in this diff Show More

1
.eslintignore

@ -1 +0,0 @@
dist/

17
.gitignore vendored

@ -1,11 +1,6 @@
node_modules/
/.idea/
#demo.js
#demo.css
.DS_Store
coverage
unit.test.statistic.json
package-lock.json
yarn.lock
*.tgz
dist/
node_modules
packages/demo/dist
packages/fineui/dist/*
!packages/fineui/dist/font
!packages/fineui/dist/images
.idea/

44
.npmignore

@ -1,44 +0,0 @@
*
!public/less/*.less
!src/less/**/*
!dist/lib/*.d.ts
!dist/lib/**/*.d.ts
!dist/font.css
!dist/fineui.css
!dist/fineui.js
!dist/fineui.js.map
!dist/fineui.min.css
!dist/fineui_without_normalize.min.css
!dist/fineui.min.js
!dist/fineui.min.js.map
!dist/core.css
!dist/core.js
!dist/resource.css
!dist/resource.js
!dist/utils.js
!dist/utils.js.map
!dist/utils.min.js
!dist/utils.min.js.map
!dist/fineui_without_jquery_polyfill.js
!dist/2.0/fineui.css
!dist/2.0/fineui.js
!dist/2.0/fineui.js.map
!dist/2.0/fineui.min.css
!dist/2.0/fineui.min.js
!dist/2.0/fineui.min.js.map
!dist/2.0/fineui_without_normalize.css
!dist/2.0/fineui_without_normalize.min.css
!dist/font/*
!dist/font/**/*
!dist/images/*
!dist/images/**/*
!dist/router.js
!babel.config.js
!babel.config.ie8.js
!.eslintrc
!dist/2.0/jsy.min.css
!dist/2.0/bi.min.css
!bin/*
!bin/**/*
!plugins/*
!plugins/**/*

2
.npmrc

@ -1,2 +1,2 @@
puppeteer_download_host=https://npm.taobao.org/mirrors
@fui:registry=https://npm.fineres.com/
@fui:registry=https://npm.fineres.com/

7
.prettierrc

@ -0,0 +1,7 @@
{
"singleQuote": false,
"tabWidth": 4,
"printWidth": 120,
"arrowParens": "avoid",
"endOfLine": "auto"
}

201
LICENSE

@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright©2015-present 帆软软件有限公司
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

31
README

@ -0,0 +1,31 @@
# FineUI
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
> 帆软前端 UI 开发框架。
For more details, see the website [http://www.fanruan.com](http://www.fanruan.com).
## 文档
http://fanruan.design/doc.html?post=0169cf558d
## 开发
pnpm run dev
* demo: [http://localhost:3000/](http://localhost:3000/)
* fineui: [http://localhost:9001/fineui.js](http://localhost:9001/fineui.js)
## 构建
pnpm run build
## 发布
@Treecat
License
============
Please refer to [LICENSE](https://code.fanruan.com/fanruan/fineui/src/branch/master/LICENSE) file.

15
README.md

@ -1,15 +0,0 @@
FineUI
============
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
> UI Framework used in FineBI and FineReport
For more details, see the website [http://www.fanruan.com](http://www.fanruan.com).
Documentation
=============
http://fanruan.design/doc.html?post=0169cf558d
License
============
Please refer to [LICENSE](https://code.fanruan.com/fanruan/fineui/src/branch/master/LICENSE) file.

1
babel.config.js

@ -1 +0,0 @@
module.exports = require('@fui/babel-preset-fineui').configs.base;

21
bin/cli/cli.js

@ -1,21 +0,0 @@
#!/usr/bin/env node
const yargs = require('yargs/yargs');
const { hideBin } = require('yargs/helpers');
const workerCmd = require('./worker/cli.worker');
const argv = yargs(hideBin(process.argv)).argv;
const cmd = argv._[0];
const cmds = new Map([
['worker', workerCmd],
]);
if (!cmd) throw new Error('Command is undefined!');
if (cmds.has(cmd)) {
cmds.get(cmd)?.exec(argv);
} else {
throw new Error(`Command ${cmd} not supported`);
}

76
bin/cli/worker/cli.worker.js

@ -1,76 +0,0 @@
const fs = require('fs');
const path = require('path');
function first2UpperCase(str) {
return str.toLowerCase().replace(/( |^)[a-z]/g, L => L.toUpperCase());
}
function scanAndCreate(structure, workerName, root) {
Object.keys(structure)
.forEach(name => {
if (typeof structure[name] === 'object') {
fs.mkdirSync(path.resolve(root, name));
scanAndCreate(structure[name], workerName, path.resolve(root, `./${name}`));
} else if (structure[name] === '') {
fs.appendFileSync(path.resolve(root, name), '');
} else if (typeof structure[name] === 'string') {
let content = fs.readFileSync(structure[name]).toString();
content = content
.replace(/\${WorkerName}/g, first2UpperCase(workerName))
.replace(/\${workerName}/g, workerName);
fs.appendFileSync(path.resolve(root, name), content);
}
});
}
module.exports = {
exec: async args => {
if (!args.init) {
throw new Error(`Command init not found in args`);
}
if (!args.name) {
throw new Error('Command --name=... not found in args');
}
const name = args.name;
const structure = {
[`${name}_worker`]: {
'main_thread': {
action: {
'action.worker_ability_test.ts': path.resolve(__dirname, './template/main_thread/action/action.worker_ability_test.t'),
},
[`${name}_main_thread.ts`]: path.resolve(__dirname, './template/main_thread/main_thread.t'),
},
utils: {
'action_type.ts': path.resolve(__dirname, './template/utils/action_type.t'),
'payload_type.ts': path.resolve(__dirname, './template/utils/payload_type.t'),
},
'worker_thread': {
action: {
'action.worker_ability_test.ts': path.resolve(__dirname, './template/worker_thread/action/action.worker_ability_test.t'),
},
[`${name}_worker_thread.ts`]: path.resolve(__dirname, './template/worker_thread/worker_thread.t'),
},
[`${name}_main_thread.helper.ts`]: path.resolve(__dirname, './template/main_thread.helper.t'),
},
};
scanAndCreate(structure, name, args.where ? path.resolve(args.where) : process.cwd());
},
};
// 结构
// -xxx_worker
// -|--main_thread
// -|--|--action
// -|--|--xxx_main_thread.ts
// -|--utils
// -|--|--action_type.ts
// -|--worker_thread
// -|--|--action
// -|--|--worker_main_thread.ts

48
bin/cli/worker/template/main_thread.helper.t

@ -1,48 +0,0 @@
import { ${WorkerName}MainThreadWorker } from './main_thread/${workerName}_main_thread';
// 不需要一起打包的话则不需要引入这行
// FuiWorkerPlugin中的属性会同步到fui-worker中同时支持loader行内传入属性
// 根据实际需求传入inline返回格式 true -> blob urlfalse -> servicePath
import workerUrl from 'fui-worker!./worker_thread/${workerName}_worker_thread';
export class ${WorkerName}WorkerHelper {
private worker: ${WorkerName}MainThreadWorker;
/**
* 拿到helper中的worker
*/
public getWorker() {
if (this.worker) {
return this.worker;
}
this.worker = BI.Workers.createWorker(${WorkerName}MainThreadWorker, {
workerUrl: this.urlFormatter(workerUrl),
workerName: BI.UUID(),
});
return this.worker;
}
/**
* 格式化worker url比如补充一些环境信息到参数里
* 可通过 #hash 将参数传入blob url
* @param url worker url
*/
private urlFormatter(url: string) {
return url;
}
/**
* 终止worker
*/
public terminate() {
this.worker?.terminate();
}
}
// 使用示例
// const workerHelper = new ${WorkerName}WorkerHelper();
// workerHelper.getWorker()
// .testCommunication()
// .then(res => console.log(res));

13
bin/cli/worker/template/main_thread/action/action.worker_ability_test.t

@ -1,13 +0,0 @@
import { WorkerAbilityTestActionType } from '../../utils/action_type';
import { WorkerAbilityTestPayload, WorkerAbilityTestReponse } from '../../utils/payload_type';
export class WorkerAbilityTestMainThreadAction extends BI.Workers.WorkerBaseAction {
/**
* 通信能力检测
*/
public communicationTest(): Promise<WorkerAbilityTestReponse['CommunicationTest']> {
const mainThreadPostTime: WorkerAbilityTestPayload['CommunicationTest'] = Date.now();
return this.controller.requestPromise(WorkerAbilityTestActionType.CommunicationTest, mainThreadPostTime);
}
}

13
bin/cli/worker/template/main_thread/main_thread.t

@ -1,13 +0,0 @@
import { WorkerAbilityTestMainThreadAction } from './action/action.worker_ability_test';
export class ${WorkerName}MainThreadWorker extends BI.Workers.MainThreadWorker {
private communicationTest: WorkerAbilityTestMainThreadAction;
public initActions(): void {
this.communicationTest = this.createAction(WorkerAbilityTestMainThreadAction);
}
public testCommunication() {
return this.communicationTest.communicationTest();
}
}

8
bin/cli/worker/template/utils/action_type.t

@ -1,8 +0,0 @@
/*
* Worker 事务标识
* 每类事务有命名空间, 包含多个具体事务
*/
export const enum WorkerAbilityTestActionType {
CommunicationTest = 'CommunicationTest',
}

13
bin/cli/worker/template/utils/payload_type.t

@ -1,13 +0,0 @@
/**
* 跨线程通信各事务的发送数据类型声明
*/
export interface WorkerAbilityTestPayload {
CommunicationTest: number;
}
/**
* 跨线程通信各事务的响应数据类型声明
*/
export interface WorkerAbilityTestReponse {
CommunicationTest: number;
}

24
bin/cli/worker/template/worker_thread/action/action.worker_ability_test.t

@ -1,24 +0,0 @@
import { WorkerAbilityTestActionType } from '../../utils/action_type';
import { WorkerAbilityTestPayload, WorkerAbilityTestReponse } from '../../utils/payload_type';
export class WorkerAbilityTestWorkerThreadAction extends BI.Workers.WorkerBaseAction {
protected addActionHandler(): void {
this.controller.addActionHandler(
WorkerAbilityTestActionType.CommunicationTest,
this.communicationTest.bind(this)
);
}
/**
* 通信能力检测的处理器
*/
private communicationTest(
payload: WorkerAbilityTestPayload['CommunicationTest']
): WorkerAbilityTestReponse['CommunicationTest'] {
const mainThreadPostTime = payload;
// 收到主线程信息的耗时
const workerGetMessageDuration = Date.now() - mainThreadPostTime;
return workerGetMessageDuration;
}
}

12
bin/cli/worker/template/worker_thread/worker_thread.t

@ -1,12 +0,0 @@
// TODO: 这边需要先import fineui资源
import { WorkerAbilityTestWorkerThreadAction } from './action/action.worker_ability_test';
class ${WorkerName}WorkerTreadWorker extends BI.Workers.WorkerThreadWorker {
public communicationTest: WorkerAbilityTestWorkerThreadAction;
public initActions(): void {
this.communicationTest = this.createAction(WorkerAbilityTestWorkerThreadAction);
}
}
export const ${workerName}WorkerTreadWorker = BI.Workers.createWorker(${WorkerName}WorkerTreadWorker);

281
changelog.md

@ -1,281 +0,0 @@
# 更新日志
3.0(2022-05)
- 下拉选择框支持清空
3.0(2022-03)
- 支持响应式
- 全面支持Typescript
- 增加JSX支持
- 布局组件支持更多动态特性
- 底层API支持动画
- 增加WebWorker支持
- 支持路由
- 插件支持版本控制
- Fix数据流支持proxy版本
2.0(2022-01)
- 提供自定义表单
2.0(2021-12)
- 新增Context组件
- toast支持closable属性,可控制是否显示关闭按钮
- 新增气泡弹框控件
- BI.point支持widget添加埋点
- childContext废弃,替换成provide
- 支持BI.useContext获取上下文环境
- BI.Msg.alert支持message传json格式
- 支持BI.config(function(){})进行系统配置
2.0(2021-11)
- 限制了复选下拉框一次粘贴添加值个数最大2000
2.0(2021-10)
- combo增加window.blur事件触发隐藏
2.0(2021-09)
- 支持自动watch
- 支持h函数传递left、right,优化left_right_vertical_adapt布局的jsx写法
- 新增bi.virtual_group_list组件
2.0(2021-07)
- layout支持forceUpdate刷新方式
- width属性支持calc()
- 修改了颜色选择器交互
- 新增bi.horizontal_fill、bi.vertical_fill布局
- 增加module定义插件版本号
- bubble使用popper.js实现
- 优化了日期类型控件标红时的报错提示
- 支持虚拟dom
- 修复了树控件节点未初始化时调用树的getValue始终为空的问题
2.0(2021-05)
- 支持搜索的控件支持搜索包含空格的字符串
- 解决了树列表populate调用两次itemsCreator的问题
2.0(2021-03)
- 优化left_right_vertical_adapt布局,去掉float属性只使用flex
- inline布局支持用calc计算fill列宽度
- 时间类型控件无翻页限制
- 时间类型控件优化动态时间面板的交互
2.0(2021-02)
- 增加beforeRender生命周期函数
2.0(2021-01)
- 修改了日期下拉面板中的当前时间按钮的交互效果
- 新增年区间和年季度区间控件
- 日期类型控件不操作下拉面板收起不发Confirm事件
- 日期类型控件全系列可设置是否显示动态日期
- 日期类型控件全系列可设置最大最小日期
- 调整了combo的popup显示位置计算逻辑
2.0(2020-12)
- multi_layer_down_list_combo支持无限层级
- 新增不带全选的同步复选下拉框
- 日期选择控件为年月选择器子组件新增POPUP弹出前事件
- 文件上传控件新增API(setMaxFileLength)以动态设置最大上传文件数量
- 复选下拉树显示查看已选效果改成和复选下拉列表一致
- Pane系列提供small和big两种大小的加载动画
- 同步树列表系列支持不显示节点连接线和展开收起图标
- 规范了下拉树trigger中显示值的显示顺序
- bi.editor支持传入autocomplete
- [视觉]editor水印间距统一与文本域水印不可选中
- 修复bi.file的url参数拼接问题
- 修复了colorChooser选择透明后, 打开更多选色面板, 直接点保存会选中自动的问题
- bi.file支持限制上传文件数
2.0(2020-11)
- bi.file上传文件errorMsg默认调用国际化
- 修复了文本标签text传递空字符串后显示value值的问题
- 限制了title的最大高度
- bi.textarea_editor添加setWatermark方法
- 生命周期可以通过属性传递来操作
- 修复了颜色选择器hex框不能输入为空的问题
- 增加纯文本组件bi.pure_text
- store支持webworker,引入多线程机制
- 修复了Popover小屏幕上看不完整的问题
- 颜色选择器支持输入16进制颜色编号
- bi.textarea_editor支持气泡提示报错
2.0(2020-10)
- 支持Composition API
- pane和loadingPane支持加载时自定义提示文本
2.0(2020-09)
- combo增加click-blur(点击显示,blur消失)作为触发条件功能
- allCountPager支持是否显示总行数
- 修复区间滑块setEnable(false)滑块不灰化的问题
- 修复同步复选下拉框系列setValue所有值后触发器不显示全选的问题
- BI.Tree.traversal方法迭代函数增加父节点参数
2.0(2020-08)
- bi.sign_editor支持显示值居左/居中/居右显示
- bi.iframe新增EVENT_LOADED事件
- 修复了searcher在允许搜索的情况下输入空格直接退出搜索的问题
- 修复了复选下拉系列'点按空格添加完全匹配项'添加的是显示值而非实际值的问题
- search_text_value_combo支持水印
- BI.makeObject 方法支持传入iteratee
2.0(2020-07)
- 修复了日期类型控件先展开切换日期月份面板,再设置区间使得该月份不合法,查看该月份面板灰化不对的问题
- bi.file文件上传控件accept属性与 [input accept Attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept) 统一
- 修复了日期类型控件设置一个不在minDate和maxDate之间的日期值时,面板灰化与翻页按钮状态不对的问题
- BI.OB的on方法返回一个解除监听的函数
- 修复了grid_view执行_unMount时不调用子组件的_unMount的问题
- combo新增belowMouse属性,允许popup在点击处弹出
- combo新增hideWhenAnotherComboOpen属性,开启则其他combo下拉时当前combo收起
- 修复了datePicker在setValue的时候没有动态刷新可用月份的问题
- 同步复选下拉及其面板新增getAllValue获取所有已选值
- 同步复选下拉树及其面板新增getAllValue获取完整的选中树节点
- 修复date_picker最大值最小值与面板展示判断问题
- 复选下拉树和下拉列表添加showView和hideVIew方法
- number_editor支持自动检测数值与范围是否合法
- 修复了颜色选择器设置值为null的时候,trigger和popup表现不一致的问题
2.0(2020-06)
- 修复了复选下拉树半选节点的子节点未加载的时候,点选该半选节点是取消选中的问题
- 下拉树系列支持isNeedAdjustWidth以动态变化宽度
- 修复了新增值的下拉控件传递valueFormatter搜索完全匹配项提示新增
- 修复了选色控件历史记录没有选中的问题的问题
- 修复了单选下拉框新增值的时候没有发事件的问题
- 修复了单选标红combo类setValue为空字符串会标红的问题
- BI.history提供与注册路由对应的卸载路由方法unRoute
- 修复了单选标红combo类setValue为空和空数组行为不一致的问题
- 单选列表支持新增选项
- 增加组件shortcut未定义的错误提示
2.0(2020-05)
- 修复调用BI.history.navigate(XXX, {trigger: false})时, XXX包含中文空格等字符仍然触发回调的问题
- 新增BI.after和BI.before方法
- 修复bi.button设置宽度并配置iconCls后,文本很长的情况下显示截断的问题
- 填加bi-user-select-enable和bi-user-select-disable通用类名
- 修复树系列多层半选状态下,勾选祖先节点,后代节点不受影响的问题
- 修复上传控件多个title问题
2.0(2020-04)
- 修复树列表通过空格回到初始面板没有刷新的问题
- 下拉树系列添加下拉popup弹出前事件
- 修复了复选下拉勾选值和搜索结果中含有父子串关系时提示不正确的问题
- searcher提供可配是否支持搜索空格的allSearchBlank
- 修复了复选下拉全选状态下使用空格添加值trigger显示更新不对的问题
- 复选下拉树展开节点提供分页加载和滚动加载两种方式
- 修复了复选下拉列表初始化的时候发送执行两次itemsCreator的问题
- 修复了virtual_list重新populate无效的问题
- 复选下拉框新增值的时候外抛事件
- 空格不再编码成&nbsp
- 支持文本区域水印可滚动
2.0(2020-03)
- 修复了IE9下使用bi.file上传包含特殊字符的excel出错的问题
- 修复了下拉类型控件不允许编辑的时候没有title的问题
- 修复了连续多次调用BI.Msg.alert后只有最后弹出的可以关闭的问题
- 修复了time_combo设置格式为%M:%S后value设置大于30分钟的值时标红的问题
- 复选下拉树系列展开节点性能优化
2.0(2020-02)
- 拓展BI.concat,使其可以拼接多个数组
- 修复勾选节点不影响父子节点勾选状态的树搜索选中getValue不正常的问题
2.0(2020-01)
- 修复单值系滑块滑动松手后发两次EVENT_CHANGE的问题
2.0(2019-12)
- 修复多层级单选下拉树主动设置container后搜索面板弹出问题
- bi.search_editor支持搜索中间含有空格的字符串
- 修复了监听日期下拉框before_popup_view事件,调用setMinDate无效的问题
- 修复了数值滑块逆向排列滑块后populate显示效果不对的问题
- 不影响父节点勾选状态的复选树支持自定义水印和默认值
- 修复text组件重新设置文本后标红丢失问题
- 添加无全选按钮的复选下拉框组件
2.0(2019-11)
- 日期系列新增setMinDate和setMaxDate接口
- 修复了同步复选树设置节点默认open后, 叶子节点无法选中的问题
- 修复了连续多音字搜索可能导致结果异常或者标红异常的问题
- 新增BI.set(object, path, value)方法
- getSearchResult兼容了对null值的处理
- 增加了异步单选下拉树请求完数据后加载完节点后会自动调整宽高的逻辑
2.0(2019-10)
- 修改了下拉树展开图标模糊的问题
- 修复了下拉树搜索高亮字符与正常字符间存在间距的问题
- 复选下拉系列的计数器从trigger中拆分, 作为独立的部分
- 增加BI.createElement方法
- 统一了单选下拉和复选下拉添加自定义值的交互效果
2.0(2019-09)
- [视觉]popover弹出框增加圆角
- 文本列表通过复制粘贴的形式选中值的时候发送事件
- 修复tree_value_chooser选中节点的唯一子节点后搜索该子节点,无法取消选中的问题
- button的bubble创建的popup在收起的时候会destroy
- 修复了dynamic_date_pane在切换静态时间和动态时间的时候不会发事件的问题
2.0(2019-08)
- 修复valueChooser系列不支持value属性的问题
- 更新了若干icon-font的样式
- 修复了单选树同步搜索状态下父节点前可能没有展开符号的问题
- 单选树可展示并选中不存在的值
- 树类型下拉新增可搜索实际值的配置
- 可编辑的combo新增水印配置
- 单选下拉树同步状态下内置搜索
2.0(2019-07)
- 修改了下拉框控件默认值的配色
- input及其派生编辑控件在PAUSE事件之前会触发CHANGE事件
2.0(2019-06)
- 单选下拉树支持搜索与异步加载节点
- 提供了AES加密方法
2.0(2019-05)
- editor类控件新增EVENT_CHANGE_CONFIRM事件
- 复选下拉控件和树下拉控件支持trigger是否可编辑
- 时分秒控件支持自定义时间显示格式和是否可编辑
- 日期/时间/日期区间/时间区间支持自定义日期选择范围和是否可编辑
- 日期/时间/日期区间/时间区间支持自定义日期显示格式和是否可编辑
- 增加less函数: 字体资源添加函数addFontRes和字体激活函数activeFont
> @fontList: "dec", "report";
> .addFontRes("dec");
> .addFontRes("report");
> .activateFont(@fontList);
以上即可使用自定义的dec,report字体和fineui的资源字体
2.0(2019-04)
- 新增`bi.multi_tree_list_combo`控件, 此下拉树勾选节点时不会影响父子节点的勾选状态
- 新增`bi.multi_tree_insert_combo`控件, 此下拉树可以插入不存在的新值
- 新增`bi.list_tree_value_chooser_insert_combo`部件, 封装`bi.multi_tree_list_combo`数据处理逻辑
- 新增`bi.tree_value_chooser_insert_combo`部件, 封装`bi.multi_tree_insert_combo`数据处理逻辑
- 增加BI.DOM.ready方法
2.0(2019-03)
- 新增`bi.time_combo`时分秒控件和`bi.time_periods`时间选择区间,时间区间无有效值校验
- Label控件增加highlight参数, 可指定初始化标蓝
2.0(2019-01)
- 加载更多的单选下拉系列新增allowNoSelect参数配置, 使得可以不选任意一个值
2.0(2018-12)
- 增加Button的点击动画和Combo下拉时下拉图标动画
2.0(2018-11)
- 增加`bi.html`和`bi.html_label`类型,text支持html文本,不支持keyword
2.0(2018-10)
- popover增加高度自适应,即open的时候回根据内容高度调整popover的高度
2.0(2018-09)
- 增加Fix对configuable为false的对象的不内部构造响应式数据的性能优化处理,例如:
> this.model.json = Object.freeze({name: "zhang"});
只会对this.model.json进行响应式处理,不会对内部的name进行响应式处理
2.0(2018-08)
- 增加BI.mount方法,支持同构

124
demo/app.js

@ -1,124 +0,0 @@
Demo = {
version: 1.0
};
BI.EVENT_BLUR = false
BI.$(function () {
var ref;
BI.each(Demo.CONFIG, function (index, item) {
!item.id && (item.id = item.value || item.text);
});
var tree = BI.Tree.transformToTreeFormat(Demo.CONFIG);
var routes = [{
path: "/",
component: function () {
return Promise.resolve({
type: "demo.face"
});
}
}, {
name: "component",
path: "/component/:componentId",
component: function () {
return Promise.resolve({
type: "demo.router"
});
},
}, {
name: "user",
path: "/user/:name",
component: function () {
return Promise.resolve({
type: "bi.vtape",
items: [{
type: "bi.label",
text: "user",
height: 50
}, {
type: "bi.router_view",
deps: 1,
height: 100
}, {
type: "bi.router_view",
name: 'tool-buttons',
deps: 1
}]
});
},
children: [{
path: '',
components: {
default: function () {
return Promise.resolve({
type: "bi.label",
text: 'home'
});
},
}
}, {
name: 'dashboard',
path: 'dashboard',
component: function () {
return Promise.resolve({
type: "bi.label",
text: 'dashboard'
});
}
}, {
name: 'tables',
path: 'tables/:id',
components: {
default: function () {
return Promise.resolve({
type: "bi.label",
text: 'table-view'
});
},
"tool-buttons": function () {
return Promise.resolve({
type: "bi.label",
text: '预览按钮',
});
},
}
}]
}];
// BI.Tree.traversal(tree, function (index, node) {
// if (!node.children || BI.isEmptyArray(node.children)) {
// routes.push({
// path: "/",
// component: function () {
// return Promise.resolve({
// type: node.value
// });
// }
// });
// }
// });
// var AppRouter = BI.inherit(BI.Router, obj);
// new AppRouter;
// BI.history.start();
BI.createWidget({
type: "bi.router",
ref: function (_ref) {
BI.$router = _ref.$router;
},
element: "#wrapper",
routes: routes,
render: function () {
return {
type: "demo.main",
ref: function (_ref) {
console.log(_ref);
ref = _ref;
}
};
}
});
});

1584
demo/config.js

File diff suppressed because one or more lines are too long

408
demo/js/base/button/demo.button.js

@ -1,408 +0,0 @@
(function () {
var JokerIcon = BI.inherit(BI.Widget, {
render: function () {
var self = this;
return {
type: "bi.label",
cls: "anim-rotate",
ref: function(ref) {
self.text = ref;
},
};
},
loading: function () {
this.text.setText("🤡");
},
loaded: function () {
this.text.setText("");
},
});
BI.shortcut("demo.joker.icon", JokerIcon);
}());
Demo.Button = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-button",
},
render: function () {
var items = [{
type: "bi.button",
text: "一般按钮1111111111111",
level: "common",
whiteSpace: "nowrap",
width: 100,
height: 30,
handler() {
console.log("触发点击事件");
this.loading();
setTimeout(() => {
this.loaded();
}, 5 * 1000);
},
}, {
type: "bi.button",
text: "表示成功状态按钮",
level: "success",
height: 30,
}, {
type: "bi.button",
text: "表示警告状态的按钮",
level: "warning",
height: 30,
}, {
type: "bi.button",
text: "表示错误状态的按钮",
level: "error",
height: 30,
}, {
type: "bi.button",
text: "表示忽略状态的按钮",
level: "ignore",
height: 30,
}, {
type: "bi.button",
text: "普通灰化按钮",
disabled: true,
level: "success",
height: 30,
}, {
type: "bi.button",
text: "忽略状态灰化按钮",
disabled: true,
level: "ignore",
height: 30,
}, {
type: "bi.button",
text: "带图标的按钮",
// level: 'ignore',
iconCls: "close-font",
height: 30,
}, {
type: "bi.button",
text: "一般按钮",
block: true,
level: "common",
height: 30,
}, {
type: "bi.button",
text: "表示成功状态按钮",
block: true,
level: "success",
height: 30,
}, {
type: "bi.button",
text: "表示警告状态的按钮",
block: true,
level: "warning",
height: 30,
}, {
type: "bi.button",
text: "表示忽略状态的按钮",
block: true,
level: "ignore",
height: 30,
}, {
type: "bi.button",
text: "普通灰化按钮",
block: true,
disabled: true,
level: "success",
height: 30,
}, {
type: "bi.button",
text: "忽略状态灰化按钮",
block: true,
disabled: true,
level: "ignore",
height: 30,
}, {
type: "bi.button",
text: "带图标的按钮",
block: true,
// level: 'ignore',
iconCls: "close-font",
height: 30,
}, {
type: "bi.button",
text: "一般按钮",
clear: true,
level: "common",
height: 30,
}, {
type: "bi.button",
text: "表示成功状态按钮",
clear: true,
level: "success",
height: 30,
}, {
type: "bi.button",
text: "表示警告状态的按钮",
clear: true,
level: "warning",
height: 30,
}, {
type: "bi.button",
text: "表示忽略状态的按钮",
clear: true,
level: "ignore",
height: 30,
}, {
type: "bi.button",
text: "普通灰化按钮",
clear: true,
disabled: true,
level: "success",
height: 30,
}, {
type: "bi.button",
text: "忽略状态灰化按钮",
clear: true,
disabled: true,
level: "ignore",
height: 30,
}, {
type: "bi.button",
text: "带图标的按钮",
clear: true,
// level: 'ignore',
iconCls: "close-font",
height: 30,
}, {
type: "bi.text_button",
text: "文字按钮",
height: 30,
}, {
type: "bi.button",
text: "幽灵按钮(common)",
ghost: true,
height: 30,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "幽灵按钮(common)",
ghost: true,
height: 30,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "幽灵按钮(common)",
ghost: true,
level: "warning",
height: 30,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "幽灵按钮(common)",
ghost: true,
level: "error",
height: 30,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "幽灵按钮(common)",
ghost: true,
level: "success",
height: 30,
}, {
type: "bi.button",
text: "幽灵按钮(common)灰化",
disabled: true,
ghost: true,
height: 30,
}, {
type: "bi.button",
text: "弹出bubble",
bubble: function () {
return BI.parseInt(Math.random() * 100) % 10 + "提示";
},
handler: function () {
BI.Msg.toast("1111");
},
height: 30,
}, {
type: "bi.button",
text: "自动撑开",
iconCls: "close-font",
// textHeight: 32,
// height: 32,
iconGap: 64,
vgap: 16,
hgap: 100,
iconPosition: "bottom",
}, {
type: "bi.button",
text: "图标在下面的按钮",
iconCls: "close-font",
iconPosition: "bottom",
}, {
type: "bi.button",
text: "图标在左边的按钮",
iconCls: "close-font",
iconPosition: "left",
}, {
type: "bi.button",
text: "图标在右边的按钮",
iconCls: "close-font",
iconPosition: "right",
}, {
type: "bi.button",
text: "浅色的一般按钮",
iconCls: "plus-font",
light: true,
}, {
type: "bi.button",
text: "浅色的成功按钮",
level: "success",
iconCls: "plus-font",
light: true,
}, {
type: "bi.button",
text: "浅色的警告按钮",
level: "warning",
iconCls: "plus-font",
light: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "浅色的失败按钮",
level: "error",
cls: "hover-mask",
light: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "朴素的按钮",
level: "common",
plain: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "朴素的按钮",
level: "success",
plain: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "朴素的按钮",
level: "error",
plain: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "朴素的按钮",
level: "warning",
plain: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "朴素的按钮",
level: "ignore",
plain: true,
}, {
type: "bi.button",
iconCls: "plus-font",
plain: true,
level: "error",
}, {
type: "bi.button",
iconCls: "plus-font",
text: "朴素的按钮",
plain: true,
disabled: true,
}, {
type: "bi.button",
iconCls: "plus-font",
text: "点我,更改图标",
handler() {
this.i = this.i === undefined ? 0 : ++this.i;
const arr = ["text-background-font", "check-mark-ha-font", "close-font", "search-font", "date-change-h-font"];
if (this.i >= arr.length) {
this.i = 0;
}
this.setIcon(arr[this.i]);
},
height: 24,
}, {
type: "bi.button",
text: "带加载的按钮",
handler() {
console.log("触发点击事件");
this.loading();
setTimeout(() => {
this.loaded();
}, 5 * 1000);
},
}, {
type: "bi.button",
text: "带加载的按钮",
iconCls: "circle-close-font",
handler() {
console.log("触发点击事件");
this.loading();
setTimeout(() => {
this.loaded();
}, 5 * 1000);
},
}, {
type: "bi.button",
clear: true,
text: "带加载的按钮",
iconCls: "circle-close-font",
handler() {
console.log("触发点击事件");
this.loading();
setTimeout(() => {
this.loaded();
}, 5 * 1000);
},
}, {
type: "bi.button",
text: "加载中的按钮",
loading: true,
handler() {
console.log("我是无法被触发的!");
},
}, {
type: "bi.button",
text: "自定义图标按钮(点我修改)",
icon: {
type: "demo.joker.icon",
},
handler() {
console.log("触发点击事件");
this.loading();
setTimeout(() => {
this.loaded();
}, 5 * 1000);
},
}, {
type: "bi.button",
text: "文字偏左的按钮",
textAlign: "left",
width: 200,
}, {
type: "bi.button",
text: "小于最小宽度的按钮",
width: 50,
}, {
type: "bi.button",
text: "一个文字超级超级长的 button, 他比按钮宽度还长。",
textWidth: 500,
width: 100,
}];
return {
type: "bi.left",
scrolly: true,
vgap: 100,
hgap: 20,
items: BI.map(items, function (index, value) {
return {
el: value,
};
}),
};
},
});
BI.shortcut("demo.button", Demo.Button);

24
demo/js/base/button/demo.icon_button.js

@ -1,24 +0,0 @@
Demo.Button = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-button"
},
render: function () {
var items = [
{
el: {
type: "bi.icon_button",
cls: "close-ha-font",
width: 25,
height: 25
}
}
];
return {
type: "bi.left",
vgap: 200,
hgap: 20,
items: items
};
}
});
BI.shortcut("demo.icon_button", Demo.Button);

24
demo/js/base/button/demo.image_button.js

@ -1,24 +0,0 @@
Demo.Button = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-button"
},
render: function () {
var items = [
{
el: {
type: "bi.image_button",
src: "http://www.easyicon.net/api/resizeApi.php?id=1206741&size=128",
width: 100,
height: 100
}
}
];
return {
type: "bi.left",
vgap: 200,
hgap: 20,
items: items
};
}
});
BI.shortcut("demo.image_button", Demo.Button);

24
demo/js/base/button/demo.text_button.js

@ -1,24 +0,0 @@
Demo.Button = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-button"
},
render: function () {
var items = [
{
el: {
type: "bi.text_button",
text: "文字按钮",
height: 30,
keyword: "w"
}
}
];
return {
type: "bi.left",
vgap: 200,
hgap: 20,
items: items
};
}
});
BI.shortcut("demo.text_button", Demo.Button);

20
demo/js/base/demo.html.js

@ -1,20 +0,0 @@
Demo.Html = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-html"
},
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.html",
text: "<h1>在bi.html标签中使用html原生标签</h1>"
}, {
type: "bi.html",
text: "<ul>ul列表<li>list item1</li><li>list item2</li></ul>"
}],
hgap: 300,
vgap: 20
};
}
});
BI.shortcut("demo.html", Demo.Html);

20
demo/js/base/demo.icon_label.js

@ -1,20 +0,0 @@
Demo.IconLabel = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-bubble"
},
render: function () {
return {
type: "bi.default",
items: [{
type: "bi.label",
text: "这是一个icon标签,在加了border之后仍然是居中显示的"
}, {
type: "bi.icon_label",
cls: "date-font bi-border",
height: 40,
width: 40
}]
};
}
});
BI.shortcut("demo.icon_label", Demo.IconLabel);

139
demo/js/base/demo.label.js

@ -1,139 +0,0 @@
Demo.Label = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-label"
},
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.label",
cls: "layout-bg6",
text: "这是一个label控件,默认居中",
disabled: true,
textAlign: "center"
}, {
type: "bi.label",
cls: "layout-bg1",
text: "这是一个label控件, 高度为30,默认居中",
textAlign: "center",
height: 30
}, {
type: "bi.label",
cls: "layout-bg3",
text: "这是一个label控件,使用水平居左",
textAlign: "left",
height: 30
}, {
type: "bi.label",
cls: "layout-bg2",
text: "这是一个label控件,whiteSpace是normal,不设置高度,为了演示这个是真的是normal的,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal"
}, {
type: "bi.label",
cls: "layout-bg5",
text: "这是一个label控件,whiteSpace是默认的nowrap,不设置高度,为了演示这个是真的是nowrap的,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数"
}, {
type: "bi.label",
cls: "layout-bg7",
text: "这是一个label控件,whiteSpace是默认的nowrap,高度为30,为了演示这个是真的是nowrap的,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
height: 30
}, {
type: "bi.label",
cls: "layout-bg3",
text: "这是一个label控件,whiteSpace设置为normal,高度为60,为了演示这个是真的是normal的,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
height: 60
}, {
type: "bi.label",
cls: "layout-bg5",
text: "这是一个label控件,whiteSpace设置为normal,textHeight控制text的lineHeight,这样可以实现换行效果,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textHeight: 30,
height: 60
}, {
type: "bi.label",
cls: "layout-bg1",
text: "这是一个label控件,whiteSpace设置为nowrap,textWidth控制text的width",
textWidth: 200,
height: 60
}, {
type: "bi.label",
cls: "layout-bg8",
text: "这是一个label控件,whiteSpace设置为normal,textWidth控制text的width,这样可以实现换行效果,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textWidth: 200,
height: 60
}, {
type: "bi.label",
cls: "layout-bg7",
text: "whiteSpace为默认的nowrap,高度设置为60,宽度设置为300",
height: 60,
width: 300
}, {
type: "bi.label",
cls: "layout-bg6",
text: "设置了宽度300,高度60,whiteSpace设置为normal",
whiteSpace: "normal",
width: 300,
height: 60
}, {
type: "bi.label",
cls: "layout-bg8",
text: "textWidth设置为200,textHeight设置为30,width设置300,凑点字数看效果",
width: 300,
textWidth: 200,
textHeight: 30,
height: 60,
whiteSpace: "normal"
}, {
type: "bi.label",
cls: "layout-bg1",
text: "textWidth设置为200,width设置300,看下水平居左的换行效果",
textAlign: "left",
width: 300,
textWidth: 200,
textHeight: 30,
height: 60,
whiteSpace: "normal"
}, {
type: "bi.label",
cls: "layout-bg2",
text: "使用默认的nowrap,再去设置textHeight,只会有一行的效果",
textAlign: "left",
width: 300,
textWidth: 200,
textHeight: 30,
height: 60
}, {
type: "bi.left",
items: [{
type: "bi.label",
cls: "layout-bg3",
text: "在float布局中自适应的,不设高度和宽度,文字多长这个就有多长"
}],
height: 30
}, {
type: "bi.left",
items: [{
type: "bi.label",
cls: "layout-bg4",
text: "在float布局中自适应的,设置了宽度200,后面还有",
width: 200
}],
height: 30
}, {
type: "bi.left",
items: [{
type: "bi.label",
text: "在float布局中自适应的,设置了高度,文字多长这个就有多长",
cls: "layout-bg5",
height: 30
}],
height: 30
}],
hgap: 300,
vgap: 20
};
}
});
BI.shortcut("demo.label", Demo.Label);

590
demo/js/base/demo.label.scene.js

@ -1,590 +0,0 @@
/**
* 整理所有label场景
*/
Demo.LabelScene = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-label"
},
render: function () {
var items = [];
items.push(this.createExpander("1.1.1 文字居中,有宽度和高度,有文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg6",
text: "设置了textWidth,则一定是嵌套结构,因此需要用center_adapt布局容纳一下.为了实现不足一行时文字水平居中,超出一行时左对齐,需要设置maxWidth.",
whiteSpace: "normal",
height: 50,
width: 500,
textWidth: 200,
textAlign: "center"
}));
items.push(this.createExpander("1.1.2 居中,有宽度和高度,有文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg6",
text: "居中,有宽度高度,有文字宽度,whiteSpace为nowrap,maxWidth会限制文字",
whiteSpace: "nowrap",
height: 50,
width: 500,
textWidth: 350,
textAlign: "center"
}));
items.push((this.createExpander("1.2.1 居中,有宽度无高度,有文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg6",
text: "居中,有宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
width: 500,
textWidth: 200,
textAlign: "center"
})));
items.push((this.createExpander("1.2.1 居中,有宽度无高度,有文字宽度,whiteSpace为normal,高度被父容器拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg6",
text: "此时虽然没有对label设置高度,但由于使用了center_adapt布局,依然会垂直方向居中",
whiteSpace: "normal",
width: 500,
textWidth: 200,
textAlign: "center"
},
top: 0,
left: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("1.2.2 居中,有宽度无高度,有文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg6",
text: "居中,有宽度无高度,有文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
width: 500,
textWidth: 350,
textAlign: "center"
})));
items.push((this.createExpander("1.3.1 居中,有宽度和高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,有宽度高度,无文字宽度,whiteSpace为normal,只需用center_adapt布局包一下即可.度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,whiteSpace为normal",
width: 500,
whiteSpace: "normal",
textAlign: "center",
height: 50
})));
items.push((this.createExpander("1.3.2 居中,有宽度无高度,无文字宽度,whiteSpace为normal", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg3",
text: "居中,有宽度无高度,无文字宽度,whiteSpace为normal,只需用center_adapt布局包一下即可.度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,whiteSpace为normal",
width: 500,
whiteSpace: "normal",
textAlign: "center"
},
top: 0,
left: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("1.4 居中,有宽度和高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,有宽度500有高度50,无文字宽度,whiteSpace为nowrap,此处无需两层div,设置text即可,然后设置line-height为传入高度即可实现垂直方向居中",
width: 500,
whiteSpace: "nowrap",
textAlign: "center",
height: 50
})));
items.push((this.createExpander("1.5.1 居中,有宽度无高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,有宽度500无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
width: 500,
whiteSpace: "nowrap",
textAlign: "center"
})));
items.push((this.createExpander("1.5.2 居中,有宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", {
type: "bi.absolute",
height: 50,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg3",
text: "居中,有宽度500无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
width: 500,
whiteSpace: "nowrap",
textAlign: "center"
},
top: 0,
left: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("1.6.1 居中,无宽度无高度,有文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度,有文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
textWidth: 500,
whiteSpace: "nowrap",
textAlign: "center"
})));
items.push((this.createExpander("1.6.2 居中,无宽度无高度,有文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
textWidth: 500,
whiteSpace: "normal",
textAlign: "center"
})));
items.push((this.createExpander("1.6.3 居中,无宽度无,有文字宽度,whiteSpace为normal,被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
textWidth: 500,
whiteSpace: "normal",
textAlign: "center"
},
left: 0,
right: 0,
top: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("1.7.1 居中,无宽度无高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "center"
})));
items.push((this.createExpander("1.7.2 居中,无宽度无高度,无文字宽度,whiteSpace为normal,被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "center"
},
left: 0,
right: 0,
top: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("1.7.3 居中,无宽度有高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度有高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
height: 50,
textAlign: "center"
})));
items.push((this.createExpander("1.8 居中,无宽度有高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度有高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
height: 50,
textAlign: "center"
})));
items.push((this.createExpander("1.9 居中,无宽度无高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "center"
})));
items.push((this.createExpander("1.9.1 居中,无宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", {
type: "bi.absolute",
height: 50,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg3",
text: "居中,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "center"
},
top: 0,
left: 0,
right: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("2.1.1 居左,有宽度有高度,有文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度有高度,有文字宽度,whiteSpace为normal,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
textWidth: 300,
height: 50,
width: 500
})));
items.push((this.createExpander("2.1.2 居左,有宽度有高度,有文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度有高度,有文字宽度,whiteSpace为normal,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left",
textWidth: 300,
height: 50,
width: 500
})));
items.push((this.createExpander("2.2.1 居左,有宽度无高度,有文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度无高度,有文字宽度,whiteSpace为normal,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
textWidth: 300,
width: 500
})));
items.push((this.createExpander("2.2.2 居左,有宽度无高度,有文字宽度,whiteSpace为normal,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度无高度,有文字宽度,whiteSpace为normal,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
textWidth: 300,
width: 500
},
top: 0,
bottom: 0,
left: 0
}
]
})));
items.push((this.createExpander("2.2.3 居左,有宽度无高度,有文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度无高度,有文字宽度,whiteSpace为nowrap,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left",
textWidth: 300,
width: 500
})));
items.push((this.createExpander("2.2.4 居左,有宽度无高度,有文字宽度,whiteSpace为nowrap,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度无高度,有文字宽度,whiteSpace为nowrap,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left",
textWidth: 300,
width: 500
},
top: 0,
bottom: 0,
left: 0
}
]
})));
items.push((this.createExpander("2.3.1 居左,有宽度有高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度有高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left",
height: 50,
vgap: 5,
width: 500
})));
items.push((this.createExpander("2.3.2 居左,有宽度有高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度有高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
height: 50,
width: 500
})));
items.push((this.createExpander("2.4.1 居左,有宽度无高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,有宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
width: 500
})));
items.push((this.createExpander("2.4.2 居左,有宽度无高度,无文字宽度,whiteSpace为normal,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg1",
text: "居左,有宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
width: 500
},
top: 0,
left: 0,
bottom: 0
}
]
})));
items.push((this.createExpander("2.5.1 居左,无宽度无高度,有文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
textWidth: 300
})));
items.push((this.createExpander("2.5.2 居左,无宽度无高度,有文字宽度,whiteSpace为normal,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
textWidth: 300
},
top: 0,
left: 0,
bottom: 0,
right: 0
}
]
})));
items.push((this.createExpander("2.5.3 居左,无宽度无高度,有文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left",
textWidth: 300
})));
items.push((this.createExpander("2.5.4 居左,无宽度无高度,有文字宽度,whiteSpace为nowrap,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left",
textWidth: 300
},
top: 0,
left: 0,
bottom: 0,
right: 0
}
]
})));
items.push((this.createExpander("2.6.1 居左,无宽度有高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度有高度,无文字宽度,whiteSpace为nowrap,注意这个是设置了vgap的,为了实现居中,lineHeight要做计算,才能准确的垂直居中",
whiteSpace: "nowrap",
textAlign: "left",
vgap: 10,
height: 50
})));
items.push((this.createExpander("2.6.2 居左,无宽度有高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度有高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left",
height: 50
})));
items.push((this.createExpander("2.7.1 居左,无宽度无高度,无文字宽度,whiteSpace为normal", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left"
})));
items.push((this.createExpander("2.7.2 居左,无宽度无高度,无文字宽度,whiteSpace为normal,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left"
},
top: 0,
left: 0,
bottom: 0,
right: 0
}
]
})));
items.push((this.createExpander("2.7.3 居左,无宽度无高度,无文字宽度,whiteSpace为nowrap", {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left"
})));
items.push((this.createExpander("2.7.4 居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left"
},
top: 0,
left: 0,
bottom: 0,
right: 0
}
]
})));
items.push((this.createExpander("2.8 居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "nowrap",
textAlign: "left"
},
top: 0,
left: 0,
bottom: 0,
right: 0
}
]
})));
items.push((this.createExpander("2.8.2 居左,无宽度无高度,无文字宽度,whiteSpace为normal,高度被父级拉满", {
type: "bi.absolute",
height: 100,
items: [
{
el: {
type: "bi.label",
cls: "layout-bg2",
text: "居左,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数",
whiteSpace: "normal",
textAlign: "left"
},
top: 0,
left: 0,
bottom: 0,
right: 0
}
]
})));
return {
type: "bi.vertical",
items: items,
hgap: 300,
vgap: 20
};
},
createExpander: function (text, popup) {
return {
type: "bi.vertical",
items: [
{
type: "bi.label",
cls: "demo-font-weight-bold",
textAlign: "left",
text: text,
height: 30
}, {
el: popup
}
]
};
}
});
BI.shortcut("demo.label_scene", Demo.LabelScene);

23
demo/js/base/demo.message.js

@ -1,23 +0,0 @@
Demo.Message = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-bubble"
},
render: function () {
return {
type: "bi.center_adapt",
items: [
{
el: {
type: "bi.button",
text: "点击我弹出一个消息框",
height: 30,
handler: function () {
BI.Msg.alert("测试消息框", "我是测试消息框的内容");
}
}
}
]
};
}
});
BI.shortcut("demo.message", Demo.Message);

120
demo/js/base/demo.pager.js

@ -1,120 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.label",
height: 30,
text: "默认的分页"
}, {
type: "bi.pager",
height: 50,
pages: 18,
groups: 5,
curr: 6,
first: "首页",
last: "尾页"
}, {
type: "bi.label",
height: 30,
text: "显示上一页、下一页、首页、尾页"
}, {
type: "bi.pager",
dynamicShow: false,
height: 50,
pages: 18,
groups: 5,
curr: 1,
first: "首页>",
last: "<尾页"
}, {
type: "bi.label",
height: 30,
text: "显示上一页、下一页"
}, {
type: "bi.pager",
dynamicShow: false,
dynamicShowFirstLast: true,
height: 50,
pages: 18,
groups: 5,
curr: 1,
first: "首页>",
last: "<尾页"
}, {
type: "bi.label",
height: 30,
text: "自定义上一页、下一页"
}, {
type: "bi.pager",
dynamicShow: false,
height: 50,
pages: 18,
groups: 5,
curr: 6,
prev: {
type: "bi.button",
cls: "",
text: "上一页",
value: "prev",
once: false,
height: 30,
handler: function () {
}
},
next: {
type: "bi.button",
cls: "",
text: "下一页",
value: "next",
once: false,
handler: function () {
}
}
}, {
type: "bi.label",
height: 30,
text: "不知道总页数的情况(测试条件 1<=page<=3)"
}, {
type: "bi.pager",
dynamicShow: false,
height: 50,
pages: false,
curr: 1,
prev: {
type: "bi.button",
cls: "",
text: "上一页",
value: "prev",
once: false,
height: 30,
handler: function () {
}
},
next: {
type: "bi.button",
cls: "",
text: "下一页",
value: "next",
once: false,
handler: function () {
}
},
hasPrev: function (v) {
return v > 1;
},
hasNext: function (v) {
return v < 3;
}
}]
};
}
});
BI.shortcut("demo.pager", Demo.Func);

113
demo/js/base/editor/demo.editor.js

@ -1,113 +0,0 @@
Demo.Editor = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-editor",
},
render: function () {
var editor1 = BI.createWidget({
type: "bi.editor",
cls: "bi-border",
watermark: "报错信息显示在控件上方",
errorText: "字段不可重名!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
width: 200,
height: 24,
});
editor1.on(BI.Editor.EVENT_ENTER, function () {
editor1.blur();
});
var editor2 = BI.createWidget({
type: "bi.editor",
cls: "bi-border",
watermark: "输入'a'会有错误信息",
disabled: true,
errorText: "字段不可重名",
validationChecker: function (v) {
if (v == "a") {
return false;
}
return true;
},
allowBlank: true,
width: 200,
height: 24,
});
var editor3 = BI.createWidget({
type: "bi.editor",
cls: "bi-border",
watermark: "输入'a'会有错误信息且回车键不能退出编辑",
errorText: "字段不可重名",
value: "a",
validationChecker: function (v) {
if (v == "a") {
return false;
}
return true;
},
quitChecker: function (v) {
return false;
},
allowBlank: true,
width: 300,
height: 24,
});
var editor4 = BI.createWidget({
type: "bi.editor",
cls: "bi-border",
inputType: "password",
autocomplete: "new-password",
watermark: "请输入密码",
allowBlank: true,
width: 300,
height: 24,
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: editor1,
left: 0,
top: 0,
}, {
el: editor2,
left: 250,
top: 30,
}, {
el: editor3,
left: 500,
top: 60,
}, {
el: editor4,
left: 700,
top: 60,
}, {
el: {
type: "bi.button",
text: "disable",
handler: function () {
editor1.setEnable(false);
editor2.setEnable(false);
editor3.setEnable(false);
},
height: 30,
},
left: 100,
bottom: 60,
}, {
el: {
type: "bi.button",
text: "enable",
handler: function () {
editor1.setEnable(true);
editor2.setEnable(true);
editor3.setEnable(true);
},
height: 30,
},
left: 200,
bottom: 60,
}],
});
},
});
BI.shortcut("demo.editor", Demo.Editor);

26
demo/js/base/editor/demo.multifile_editor.js

@ -1,26 +0,0 @@
Demo.CodeEditor = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-editor"
},
render: function () {
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.adaptive",
cls: "layout-bg1",
items: [{
type: "bi.multifile_editor",
width: 400,
height: 300
}],
width: 400,
height: 300
},
top: 50,
left: 50
}]
};
}
});
BI.shortcut("demo.multifile_editor", Demo.CodeEditor);

44
demo/js/base/editor/demo.textarea_editor.js

@ -1,44 +0,0 @@
Demo.CodeEditor = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-editor"
},
render: function () {
var editor = BI.createWidget({
type: "bi.textarea_editor",
cls: "bi-border",
width: 600,
height: 400,
watermark: "请输入内容",
errorText: "检测内容有误",
validationChecker: function (v) {
return BI.isNotEmptyString(v);
},
});
editor.on(BI.TextAreaEditor.EVENT_FOCUS, function () {
BI.Msg.toast("Focus");
});
editor.on(BI.TextAreaEditor.EVENT_BLUR, function () {
BI.Msg.toast("Blur");
});
BI.createWidget({
type: "bi.vertical",
element: this,
hgap: 30,
vgap: 20,
items: [editor, {
type: "bi.button",
text: "getValue",
handler: function () {
BI.Msg.toast(JSON.stringify(editor.getValue()));
}
}, {
type: "bi.button",
text: "setValue",
handler: function () {
editor.setValue("测试数据");
}
}]
});
}
});
BI.shortcut("demo.textarea_editor", Demo.CodeEditor);

77
demo/js/base/tip/demo.bubble.js

@ -1,77 +0,0 @@
Demo.Bubble = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-bubble"
},
render: function () {
var btns = [];
var items = [
{
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: "bi.button",
text: "bubble测试(消息)",
title: "123",
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble1", "bubble测试", this, {
level: "common"
});
}
}
}, {
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: "bi.button",
text: "bubble测试(成功)",
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble2", "bubble测试", this, {
offsetStyle: "center",
level: "success"
});
}
}
}, {
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: "bi.button",
text: "bubble测试(错误)",
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble3", "bubble测试", this, {
offsetStyle: "right",
level: "error"
});
}
}
}, {
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: "bi.button",
text: "bubble测试(警告)",
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble4", "bubble测试", this, {
level: "warning"
});
}
}
}
];
return {
type: "bi.left",
vgap: 200,
hgap: 20,
items: items
};
}
});
BI.shortcut("demo.bubble", Demo.Bubble);

59
demo/js/base/tip/demo.title.js

@ -1,59 +0,0 @@
Demo.Title = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-title"
},
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.label",
cls: "layout-bg1",
height: 50,
title: "title提示",
text: "移上去有title提示",
textAlign: "center"
}, {
type: "bi.label",
cls: "layout-bg6",
height: 50,
disabled: true,
warningTitle: "title错误提示",
text: "移上去有title错误提示",
textAlign: "center"
}, {
type: "bi.label",
cls: "layout-bg2",
height: 50,
disabled: true,
tipType: "success",
title: "自定义title提示效果",
warningTitle: "自定义title提示效果",
text: "自定义title提示效果",
textAlign: "center"
}, {
type: "bi.label",
cls: "layout-bg3",
height: 50,
title: () => "函数返回值作为title提示",
text: "title提示支持函数",
textAlign: "center"
}, {
type: "bi.label",
cls: "layout-bg4",
height: 50,
title: function () {
return {
level: "success",
text: "自定义title\n提示效果",
textAlign: "center"
};
},
text: "title提示支持对象,作为bi.tooltip的props",
textAlign: "center"
}],
hgap: 300,
vgap: 20
};
}
});
BI.shortcut("demo.title", Demo.Title);

74
demo/js/base/tip/demo.toast.js

@ -1,74 +0,0 @@
Demo.Toast = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-toast"
},
render: function () {
var items = [
{
el: {
type: "bi.button",
text: "简单Toast测试(success)",
height: 30,
handler: function () {
BI.Msg.toast("这是一条简单的数据", {
level: "success"
});
}
}
}, {
el: {
type: "bi.button",
text: "很长的Toast测试(normal)",
height: 30,
handler: function () {
BI.Msg.toast("这是一条很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的数据", {
});
}
}
}, {
el: {
type: "bi.button",
text: "非常长的Toast测试(warning)",
height: 30,
handler: function () {
BI.Msg.toast("这是一条非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长的数据", {
level: "warning",
autoClose: false
});
}
}
}, {
el: {
type: "bi.button",
text: "错误提示Toast测试(error)",
height: 30,
handler: function () {
BI.Msg.toast("错误提示Toast测试", {
level: "error"
});
}
}
}, {
el: {
type: "bi.button",
text: "错误提示Toast测试(error), 此toast不会自动消失",
height: 30,
handler: function () {
BI.Msg.toast("错误提示Toast测试", {
autoClose: false
});
}
}
}
];
BI.createWidget({
type: "bi.left",
element: this,
vgap: 200,
hgap: 20,
items: items
});
}
});
BI.shortcut("demo.toast", Demo.Toast);

81
demo/js/base/tree/demo.part_tree.js

@ -1,81 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
mounted: function () {
this.partTree.stroke({
keyword: "1"
});
},
render: function () {
var self = this;
return {
type: "bi.vtape",
items: [{
type: "bi.label",
height: 50,
text: "先初始化一份数据,然后再异步获取数据的树"
}, {
type: "bi.part_tree",
ref: function (_ref) {
self.partTree = _ref;
},
paras: {
selectedValues: {"1": {}, "2": {"1": {}}}
},
itemsCreator: function (op, callback) {
if (op.type === BI.TreeView.REQ_TYPE_INIT_DATA) {
callback({
items: [{
id: "1",
text: 1,
isParent: true,
open: true
}, {
id: "11",
pId: "1",
text: 11,
isParent: true,
open: true
}, {
id: "111",
pId: "11",
text: 111,
isParent: true
}, {
id: "2",
text: 2
}, {
id: "3",
text: 3
}],
hasNext: BI.isNull(op.id)
});
return;
}
callback({
items: [{
id: (op.id || "") + "1",
pId: op.id,
text: 1,
isParent: true
}, {
id: (op.id || "") + "2",
pId: op.id,
text: 2
}, {
id: (op.id || "") + "3",
pId: op.id,
text: 3
}],
hasNext: BI.isNull(op.id)
});
}
}]
};
}
});
BI.shortcut("demo.part_tree", Demo.Func);

107
demo/js/base/tree/demo.sync_tree.js

@ -1,107 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
mounted: function () {
this.syncTree1.stroke({
keyword: "1"
});
this.syncTree2.stroke({
keyword: "1"
});
},
render: function () {
var self = this;
return {
type: "bi.vtape",
rowSize: [0.5, 0.5],
items: [
{
type: "bi.vtape",
items: [
{
type: "bi.label",
height: 50,
text: "可以异步获取数据的树"
}, {
type: "bi.async_tree",
ref: function (_ref) {
self.syncTree1 = _ref;
},
paras: {
selectedValues: { "1": {}, "2": { "1": {} } }
},
itemsCreator: function (op, callback) {
callback({
items: [{
id: (op.id || "") + "1",
pId: op.id,
text: (op.id || "") + "1",
isParent: true,
iconCls: "close-h-font"
}, {
id: (op.id || "") + "2",
pId: op.id,
text: (op.id || "") + "2",
iconCls: "search-font"
}, {
id: (op.id || "") + "3",
pId: op.id,
text: (op.id || "") + "3",
iconCls: "date-font"
}],
hasNext: BI.isNull(op.id)
});
}
},
]
},
{
type: "bi.vtape",
items: [
{
type: "bi.label",
height: 50,
text: "showIcon属性搭配节点iconCls,可以显示图标"
}, {
type: "bi.async_tree",
ref: function (_ref) {
self.syncTree2 = _ref;
},
paras: {
selectedValues: { "1": {}, "2": { "1": {} } }
},
showIcon: true,
itemsCreator: function (op, callback) {
callback({
items: [{
id: (op.id || "") + "1",
pId: op.id,
text: (op.id || "") + "1",
isParent: true,
iconCls: "close-h-font"
}, {
id: (op.id || "") + "2",
pId: op.id,
text: (op.id || "") + "2",
iconCls: "search-font"
}, {
id: (op.id || "") + "3",
pId: op.id,
text: (op.id || "") + "3",
iconCls: "date-font"
}],
hasNext: BI.isNull(op.id)
});
}
},
]
}
]
};
}
});
BI.shortcut("demo.sync_tree", Demo.Func);

52
demo/js/base/tree/demo.tree_view.js

@ -1,52 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createDefaultTree: function () {
var tree = BI.createWidget({
type: "bi.tree_view"
});
tree.initTree([
{id: 1, pId: 0, text: "test1", open: true},
{id: 11, pId: 1, text: "test11"},
{id: 12, pId: 1, text: "test12"},
{id: 111, pId: 11, text: "test111"},
{id: 2, pId: 0, text: "test2", open: true},
{id: 21, pId: 2, text: "test21"},
{id: 22, pId: 2, text: "test22"}
]);
return tree;
},
render: function () {
var self = this;
BI.createWidget({
type: "bi.grid",
columns: 1,
rows: 1,
element: this,
items: [{
column: 0,
row: 0,
el: {
type: "bi.vtape",
items: [
{
el: this._createDefaultTree()
},
{
el: {
type: "bi.label",
text: "tree.initTree([{\"id\":1, \"pId\":0, \"text\":\"test1\", open:true},{\"id\":11, \"pId\":1, \"text\":\"test11\"},{\"id\":12, \"pId\":1, \"text\":\"test12\"},{\"id\":111, \"pId\":11, \"text\":\"test111\"}])",
whiteSpace: "normal"
},
height: 50
}
]
}
}]
});
}
});
BI.shortcut("demo.tree_view", Demo.Func);

121
demo/js/case/combo/demo.bubble_combo.js

@ -1,121 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this, count = 1;
var combo1 = BI.createWidget({
type: "bi.bubble_combo",
trigger: "click,hover",
el: {
type: "bi.button",
text: "测试",
height: 24
},
popup: {
el: {
type: "bi.button_group",
items: BI.makeArray(100, {
type: "bi.text_item",
height: 24,
text: "item"
}),
layouts: [{
type: "bi.vertical"
}]
},
maxHeight: 200
}
});
var combo2 = BI.createWidget({
type: "bi.bubble_combo",
direction: "right",
el: {
type: "bi.button",
text: "测试",
height: 24
},
popup: {
type: "bi.text_bubble_bar_popup_view",
text: "我有很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字",
ref: function () {
self.popup = this;
}
},
listeners: [{
eventName: BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW,
action: function () {
self.popup.populate((count++) % 2 === 1 ? "我的文字变少了" : "我有很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字");
}
}]
});
var combo3 = BI.createWidget({
type: "bi.bubble_combo",
el: {
type: "bi.button",
text: "测试",
height: 25
},
popup: {
type: "bi.text_bubble_bar_popup_view",
text: "我有很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字",
ref: function () {
self.popup = this;
}
},
listeners: [{
eventName: BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW,
action: function () {
self.popup.populate((count++) % 2 === 1 ? "我的文字变少了" : "我有很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字");
}
}]
});
var combo4 = BI.createWidget({
type: "bi.bubble_combo",
el: {
type: "bi.button",
text: "测试",
height: 25
},
popup: {
type: "bi.text_bubble_bar_popup_view",
text: "我有很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字",
ref: function () {
self.popup = this;
}
},
listeners: [{
eventName: BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW,
action: function () {
self.popup.populate((count++) % 2 === 1 ? "我的文字变少了" : "我有很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字很多文字");
}
}]
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: combo1,
left: 150,
top: 10
}, {
el: combo2,
left: 10,
bottom: 200
}, {
el: combo3,
right: 10,
bottom: 10
}, {
el: combo4,
right: 10,
top: 10
}]
});
}
});
BI.shortcut("demo.bubble_combo", Demo.Func);

45
demo/js/case/combo/demo.editor_icon_check_combo.js

@ -1,45 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.TextValueCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var self = this;
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.editor_icon_check_combo",
ref: function () {
self.combo = this;
},
watermark: "默认值",
width: 200,
height: 24,
value: 2,
items: [{
// text: "MVC-1",
value: "1"
}, {
// text: "MVC-2",
value: "2"
}, {
// text: "MVC-3",
value: "3"
}]
}, {
type: "bi.button",
width: 90,
height: 25,
text: "setValue为空",
handler: function () {
self.combo.setValue()
}
}],
vgap: 20
};
}
});
BI.shortcut("demo.editor_icon_check_combo", Demo.TextValueCombo);

39
demo/js/case/combo/demo.icon_combo.js

@ -1,39 +0,0 @@
/**
* Created by Dailer on 2017/7/12.
*/
Demo.IconCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var self = this;
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.icon_combo",
container: "body",
ref: function (_ref) {
self.refs = _ref;
},
value: "第二项",
items: [{
value: "第一项",
iconCls: "close-font"
}, {
value: "第二项",
iconCls: "search-font"
}, {
value: "第三项",
iconCls: "copy-font"
}]
}],
vgap: 20
};
}
});
BI.shortcut("demo.icon_combo", Demo.IconCombo);

36
demo/js/case/combo/demo.icon_text_value_combo.js

@ -1,36 +0,0 @@
/**
* Created by Windy on 2017/12/13.
*/
Demo.IconTextValueCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.icon_text_value_combo",
text: "默认值",
// defaultIconCls: "next-page-h-font",
width: 300,
items: [{
text: "MVC-1",
iconCls: "close-font",
value: 1
}, {
text: "MVC-2",
iconCls: "date-font",
value: 2
}, {
text: "MVC-3",
iconCls: "search-close-h-font",
value: 3
}]
}],
vgap: 20
};
}
});
BI.shortcut("demo.icon_text_value_combo", Demo.IconTextValueCombo);

102
demo/js/case/combo/demo.search_text_value_combo.js

@ -1,102 +0,0 @@
/**
* Created by Windy on 2018/2/4.
*/
Demo.SearchTextValueCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var combo, searchCombo;
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.search_text_value_combo",
ref: function () {
combo = this;
},
warningTitle: "111",
text: "默认值",
value: 14,
width: 300,
items: [{
text: "ABC-1",
iconCls: "date-font",
value: 1
}, {
text: "BCD-2",
iconCls: "search-font",
value: 2
}, {
text: "CDE-3",
iconCls: "pull-right-font",
value: 3
}, {
text: "DEF-3",
iconCls: "pull-right-font",
value: 4
}, {
text: "FEG-3",
iconCls: "pull-right-font",
value: 5
}, {
text: "FGH-3",
iconCls: "pull-right-font",
value: 6
}, {
text: "GHI-3",
iconCls: "pull-right-font",
value: 7
}, {
text: "HIJ-3",
iconCls: "pull-right-font",
value: 8
}, {
text: "IJK-3",
iconCls: "pull-right-font",
value: 9
}, {
text: "JKL-3",
iconCls: "pull-right-font",
value: 10
}]
}, {
type: "bi.all_value_multi_text_value_combo",
items: Demo.CONSTANTS.ITEMS,
text: "提示文本",
width: 200,
value: {
type: 1,
value: ["1", "2", "柳州市城贸金属材料有限责任公司", "3"]
},
ref: function () {
searchCombo = this;
},
listeners: [{
eventName: "BI.AllValueMultiTextValueCombo.EVENT_CONFIRM",
action: function () {
BI.Msg.toast(JSON.stringify(searchCombo.getValue()));
}
}]
}, {
type: "bi.button",
text: "setValue(3)",
width: 90,
height: 25,
handler: function () {
combo.setValue(11);
}
}, {
type: "bi.button",
text: "getValue()",
width: 90,
height: 25,
handler: function () {
BI.Msg.toast(JSON.stringify(searchCombo.getValue()));
}
}],
vgap: 20
};
}
});
BI.shortcut("demo.search_text_value_combo", Demo.SearchTextValueCombo);

260
demo/js/case/combo/demo.text_value_combo.js

@ -1,260 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.TextValueCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var combo1, combo2;
var items = [
{
text: "MVC-1",
iconCls: "date-font",
value: 1
}, {
text: "MVC-2",
iconCls: "search-font",
value: 2
}, {
text: "MVC-3",
iconCls: "pull-right-font",
value: 3
}
];
// 创建下拉框各种场景用例
return {
type: "bi.vertical",
vgap: 20,
hgap: 20,
items: [
this.createCombo("无初始值,带提示文字", {
type: "bi.text_value_combo",
ref: (ref) => {
this.combo1 = ref;
},
defaultText: "请选择",
width: 300,
items: items,
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}),
this.createCombo("自动根据value匹配text", {
type: "bi.text_value_combo",
ref: function () {
combo = this;
},
defaultText: "请选择",
width: 300,
value: 1,
items: items,
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}),
this.createCombo("无初始值,可以清空", {
type: "bi.text_value_combo",
ref: function () {
combo = this;
},
defaultText: "请选择",
width: 300,
items: items,
allowClear: true,
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}),
this.createCombo("有初始值,可以清空", {
type: "bi.text_value_combo",
ref: function () {
combo = this;
},
defaultText: "请选择",
width: 300,
value: 1,
items: items,
allowClear: true,
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}),
this.createCombo("有初始值,value不匹配,自动标红,指定标红文字", {
type: "bi.text_value_combo",
ref: function () {
combo = this;
},
width: 300,
text: "MVC-111",
value: 111,
items: items,
allowClear: true,
defaultText: "请选择",
warningTitle: "value值不合法",
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}),
this.createCombo("无初始值,外部受控调用setValue", {
type: "bi.vertical",
items: [
{
type: "bi.text_value_combo",
ref: function () {
combo1 = this;
},
width: 300,
items: items,
allowClear: true,
defaultText: "请选择",
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}, {
el: {
type: "bi.button",
text: "setValue(1)",
handler: function () {
combo1.setValue(1);
},
},
vgap: 10,
}
]
}),
this.createCombo("无初始值,外部受控调用setStatus", {
type: "bi.vertical",
items: [
{
type: "bi.text_value_combo",
ref: function () {
combo2 = this;
},
width: 300,
items: items,
allowClear: true,
defaultText: "请选择",
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}, {
el: {
type: "bi.button",
text: "setStatus()",
handler: function () {
combo2.setStatus("error");
},
},
vgap: 10,
}
]
}),
this.createCombo("支持复选", {
type: "bi.vertical",
items: [
{
type: "bi.text_value_combo",
width: 300,
items: items,
allowClear: true,
defaultText: "请选择",
chooseType: BI.Selection.Multi,
value: [1],
// allowSelectAll: false,
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}
]
}),
this.createCombo("支持复选,不要全选功能", {
type: "bi.vertical",
items: [
{
type: "bi.text_value_combo",
width: 300,
items: items,
allowClear: true,
defaultText: "请选择",
chooseType: BI.Selection.Multi,
value: [1],
allowSelectAll: false,
listeners: [
{
eventName: BI.TextValueCombo.EVENT_CHANGE,
action: function () {
console.log(this.getValue());
}
}
]
}
]
})
]
};
},
createCombo: function (text, combo) {
return {
type: "bi.vertical",
items: [
{
el: {
type: "bi.label",
textAlign: "left",
text,
},
bgap: 10
}, {
el: combo,
bgap: 10,
},
]
};
}
});
BI.shortcut("demo.text_value_combo", Demo.TextValueCombo);

68
demo/js/case/combo/demo.text_value_down_list_combo.js

@ -1,68 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.TextValueDownListCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var self = this;
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.text_value_down_list_combo",
width: 300,
ref: function (_ref) {
self.refs = _ref;
},
text: "默认值",
value: 11,
items: [[{
text: "属于",
value: 1,
cls: "dot-e-font"
}, {
text: "不属于",
value: 2,
cls: "dot-e-font"
}], [{
el: {
text: "大于",
value: 3,
iconCls1: "dot-e-font"
},
value: 3,
children: [{
text: "固定值",
value: 4,
cls: "dot-e-font"
}, {
text: "平均值",
value: 5,
cls: "dot-e-font"
}]
}]]
}, {
type: "bi.button",
width: 90,
height: 25,
text: "setValue",
handler: function () {
self.refs.setValue(2);
}
}, {
type: "bi.button",
width: 90,
height: 25,
text: "getValue",
handler: function () {
BI.Msg.alert("", JSON.stringify(self.refs.getValue()));
}
}],
vgap: 20
};
}
});
BI.shortcut("demo.text_value_down_list_combo", Demo.TextValueDownListCombo);

43
demo/js/case/combo/demo.text_vlaue_check_combo.js

@ -1,43 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.TextValueCheckCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var self = this;
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.text_value_check_combo",
ref: function () {
self.combo = this;
},
text: "默认值",
//value: 1,
width: 300,
items: [{
text: "MVC-1",
value: 1
}, {
text: "MVC-2",
value: 2
}, {
text: "MVC-3",
value: 3
}]
}, {
type: "bi.button",
width: 90,
height: 25,
handler: function () {
BI.Msg.alert("", JSON.stringify(self.combo.getValue()));
}
}],
vgap: 20
};
}
});
BI.shortcut("demo.text_value_check_combo", Demo.TextValueCheckCombo);

32
demo/js/case/demo.calendar.js

@ -1,32 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
var date = new Date();
return {
type: "bi.calendar",
ref: function () {
self.calendar = this;
},
logic: {
dynamic: false
},
year: date.getFullYear(),
month: date.getMonth(),
day: date.getDate()
};
},
mounted: function () {
var date = new Date();
this.calendar.setValue({
year: date.getFullYear(),
month: date.getMonth(),
day: date.getDate()
});
}
});
BI.shortcut("demo.calendar", Demo.Func);

40
demo/js/case/demo.click.effect.js

@ -1,40 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.vertical",
items: BI.createItems([{
text: "bi-list-item",
cls: "bi-list-item close-font"
}, {
text: "bi-list-item-simple",
cls: "bi-list-item-simple close-font"
}, {
text: "bi-list-item-effect",
cls: "bi-list-item-effect close-font"
}, {
text: "bi-list-item-active",
cls: "bi-list-item-active close-font"
}, {
text: "bi-list-item-active2",
cls: "bi-list-item-active2 close-font"
}, {
text: "bi-list-item-select",
cls: "bi-list-item-select close-font"
}, {
text: "bi-list-item-select2",
cls: "bi-list-item-select2 close-font"
}], {
type: "bi.icon_text_item",
logic: {
dynamic: true
}
}),
vgap: 10
};
}
});
BI.shortcut("demo.click_item_effect", Demo.Func);

40
demo/js/case/demo.color_chooser.js

@ -1,40 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.color_chooser",
recommendColorsGetter: function () {
return ["#ffffff", "#9d775f", "#dd4b4b", "#ef8b07", "#fcc800"]
},
width: 24,
height: 24
},
left: 100,
top: 250
}, {
el: {
type: "bi.simple_color_chooser",
width: 30,
height: 24
},
left: 400,
top: 250
}, {
el: {
type: "bi.color_chooser",
width: 230,
height: 24
},
left: 100,
top: 350
}]
};
}
});
BI.shortcut("demo.color_chooser", Demo.Func);

27
demo/js/case/demo.color_chooser_popup.js

@ -1,27 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.color_chooser_popup",
cls: "bi-card"
},
left: 100,
top: 250
}, {
el: {
type: "bi.simple_color_chooser_popup",
cls: "bi-card"
},
left: 400,
top: 250
}]
};
}
});
BI.shortcut("demo.color_chooser_popup", Demo.Func);

28
demo/js/case/demo.segment.js

@ -1,28 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func",
},
render: function () {
BI.createWidget({
type: "bi.horizontal",
element: this,
vgap: 20,
hgap: 30,
items: [{
type: "bi.segment",
items: [{
text: "较长的选项1",
value: 1,
}, {
text: "选项2",
value: 2,
}, {
text: "选项3",
value: 3,
}],
}],
});
},
});
BI.shortcut("demo.segment", Demo.Func);

23
demo/js/case/editor/demo.clear_editor.js

@ -1,23 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.ClearEditor = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
return {
type: "bi.horizontal_auto",
items: [{
type: "bi.clear_editor",
cls: "bi-border",
width: 300,
watermark: "这个是带清除按钮的",
value: 123
}],
vgap: 20
};
}
});
BI.shortcut("demo.clear_editor", Demo.ClearEditor);

47
demo/js/case/editor/demo.shelter_editor.js

@ -1,47 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.ClearEditor = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var editor = BI.createWidget({
type: "bi.shelter_editor",
cls: "bi-border",
validationChecker: function (v) {
return v != "a";
},
watermark: "可以设置标记的输入框",
value: "这是一个遮罩",
keyword: "z"
});
BI.createWidget({
type: "bi.vertical",
element: this,
hgap: 30,
vgap: 20,
bgap: 50,
items: [editor]
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: {
type: "bi.button",
text: "focus",
height: 25,
handler: function () {
editor.focus();
}
},
right: 10,
left: 10,
bottom: 10
}]
});
}
});
BI.shortcut("demo.shelter_editor", Demo.ClearEditor);

29
demo/js/case/editor/demo.sign_editor.js

@ -1,29 +0,0 @@
/**
* Created by Dailer on 2017/7/14.
*/
Demo.SignEditor = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var editor = BI.createWidget({
type: "bi.sign_editor",
cls: "bi-border bi-focus-shadow",
validationChecker: function (v) {
return v != "abc";
},
watermark: "可以设置标记的输入框",
text: "这是一个标记,点击它即可进行输入"
});
editor.setValue(2);
BI.createWidget({
type: "bi.vertical",
element: this,
hgap: 30,
vgap: 20,
items: [editor]
});
}
});
BI.shortcut("demo.sign_editor", Demo.SignEditor);

33
demo/js/case/editor/demo.simple_state_editor.js

@ -1,33 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.SimpleStateEditor = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var self = this;
return {
type: "bi.horizontal_adapt",
items: [{
type: "bi.simple_state_editor",
ref: function () {
self.editor = this;
},
cls: "bi-border",
width: 300
}],
vgap: 20
};
},
mounted: function () {
var self = this;
setTimeout(function () {
self.editor.setState(["*", "*"]);
}, 1000);
}
});
BI.shortcut("demo.simple_state_editor", Demo.SimpleStateEditor);

34
demo/js/case/editor/demo.state_editor.js

@ -1,34 +0,0 @@
/**
* Created by Dailer on 2017/7/11.
*/
Demo.StateEditor = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
render: function () {
var self = this;
return {
type: "bi.horizontal_adapt",
items: [{
type: "bi.state_editor",
ref: function () {
self.editor = this;
},
cls: "bi-border",
width: 300
}],
vgap: 20
};
},
mounted: function () {
var self = this;
setTimeout(function () {
self.editor.setState(["*", "*"]);
}, 1000);
}
});
BI.shortcut("demo.state_editor", Demo.StateEditor);

22
demo/js/case/item/demo.multi_select_item.js

@ -1,22 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.label",
height: 30,
text: "复选item"
}, {
type: "bi.multi_select_item",
text: "复选项"
}],
hgap: 300
};
}
});
BI.shortcut("demo.multi_select_item", Demo.Func);

25
demo/js/case/item/demo.single_select_item.js

@ -1,25 +0,0 @@
/**
* Created by Dailer on 2017/7/25.
*/
Demo.Items = BI.inherit(BI.Widget, {
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.label",
height: 30,
text: "单选item"
}, {
type: "bi.single_select_item",
text: "单选项"
}],
hgap: 300
};
}
});
BI.shortcut("demo.single_select_item", Demo.Items);

25
demo/js/case/item/demo.single_select_radio_item.js

@ -1,25 +0,0 @@
/**
* Created by Dailer on 2017/7/25.
*/
Demo.Items = BI.inherit(BI.Widget, {
render: function () {
return {
type: "bi.vertical",
items: [{
type: "bi.label",
height: 30,
text: "单选item"
}, {
type: "bi.single_select_radio_item",
text: "单选项"
}],
hgap: 300
};
}
});
BI.shortcut("demo.single_select_radio_item", Demo.Items);

23
demo/js/case/list/demo.lazy_loader.js

@ -1,23 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
BI.createWidget({
type: "bi.lazy_loader",
element: this,
el: {
layouts: [{
type: "bi.left",
hgap: 5
}]
},
items: BI.createItems(BI.deepClone(Demo.CONSTANTS.ITEMS), {
type: "bi.button"
})
});
}
});
BI.shortcut("demo.lazy_loader", Demo.Func);

26
demo/js/case/list/demo.select_list.js

@ -1,26 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
BI.createWidget({
type: "bi.select_list",
toolbar: {
type: "bi.multi_select_bar",
iconWrapperWidth: 26
},
element: this,
el: {
el: {
chooseType: BI.Selection.Multi
}
},
items: BI.createItems(BI.deepClone(Demo.CONSTANTS.SIMPLE_ITEMS), {
type: "bi.multi_select_item"
})
});
}
});
BI.shortcut("demo.select_list", Demo.Func);

25
demo/js/case/pager/demo.all_count_pager.js

@ -1,25 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
BI.createWidget({
type: "bi.vertical",
hgap: 200,
vgap: 50,
element: this,
items: [{
type: "bi.label",
height: 30,
text: " (测试条件:总页数为3)"
}, {
type: "bi.all_count_pager",
pages: 3,
curr: 1,
count: 1000
}]
});
}
});
BI.shortcut("demo.all_count_pager", Demo.Func);

50
demo/js/case/pager/demo.direction_pager.js

@ -1,50 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
mounted: function () {
this.pager.populate();
},
render: function () {
var self = this;
BI.createWidget({
type: "bi.vertical",
hgap: 200,
vgap: 50,
element: this,
items: [{
type: "bi.direction_pager",
ref: function (_ref) {
self.pager = _ref;
},
horizontal: {
pages: false, // 总页数
curr: 1, // 初始化当前页, pages为数字时可用
hasPrev: function (v) {
return v > 1;
},
hasNext: function () {
return true;
},
firstPage: 1
},
vertical: {
pages: false, // 总页数
curr: 1, // 初始化当前页, pages为数字时可用
hasPrev: function (v) {
return v > 1;
},
hasNext: function () {
return true;
},
firstPage: 1
}
}]
});
}
});
BI.shortcut("demo.direction_pager", Demo.Func);

34
demo/js/case/pane/demo.list_pane.js

@ -1,34 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
return {
type: "bi.list_pane",
ref: function () {
self.pane = this;
},
itemsCreator: function (op, callback) {
setTimeout(function () {
callback(BI.createItems(BI.deepClone(Demo.CONSTANTS.ITEMS), {
type: "bi.multi_select_item",
height: 25
}));
}, 2000);
},
el: {
type: "bi.button_group",
layouts: [{
type: "bi.vertical"
}]
}
};
},
mounted: function () {
this.pane.populate();
}
});
BI.shortcut("demo.list_pane", Demo.Func);

39
demo/js/case/pane/demo.multi_popup_view.js

@ -1,39 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.combo",
width: 200,
height: 30,
el: {
type: "bi.text_button",
text: "点击",
cls: "bi-border",
height: 30
},
popup: {
type: "bi.multi_popup_view",
el: {
type: "bi.button_group",
layouts: [{
type: "bi.vertical"
}],
items: BI.createItems(BI.deepClone(Demo.CONSTANTS.ITEMS), {
type: "bi.multi_select_item",
height: 25
})
}
}
}
}]
};
}
});
BI.shortcut("demo.multi_popup_view", Demo.Func);

28
demo/js/case/pane/demo.panel.js

@ -1,28 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
return {
type: "bi.panel",
title: "title",
titleButtons: [{
type: "bi.button",
text: "操作"
}],
el: {
type: "bi.button_group",
layouts: [{
type: "bi.vertical"
}],
items: BI.createItems(BI.deepClone(Demo.CONSTANTS.ITEMS), {
type: "bi.multi_select_item",
height: 25
})
}
};
}
});
BI.shortcut("demo.panel", Demo.Func);

39
demo/js/case/pane/demo.popup_panel.js

@ -1,39 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.combo",
width: 200,
height: 30,
el: {
type: "bi.text_button",
text: "点击",
cls: "bi-border",
height: 30
},
popup: {
type: "bi.popup_panel",
el: {
type: "bi.button_group",
layouts: [{
type: "bi.vertical"
}],
items: BI.createItems(BI.deepClone(Demo.CONSTANTS.ITEMS), {
type: "bi.multi_select_item",
height: 25
})
}
}
}
}]
};
}
});
BI.shortcut("demo.popup_panel", Demo.Func);

43
demo/js/case/tree/demo.display_tree.js

@ -1,43 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var tree = BI.createWidget({
type: "bi.display_tree",
element: this
});
tree.initTree([{
id: 1,
text: "第一项",
open: true
}, {
id: 2,
text: "第二项"
}, {
id: 11,
pId: 1,
text: "子项1(共2个)",
open: true
}, {
id: 111,
pId: 11,
text: "子子项1"
}, {
id: 112,
pId: 11,
text: "子子项2"
}, {
id: 12,
pId: 1,
text: "子项2"
}, {
id: 13,
pId: 1,
text: "子项3"
}]);
}
});
BI.shortcut("demo.display_tree", Demo.Func);

92
demo/js/case/tree/demo.level_tree.js

@ -1,92 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var tree = BI.createWidget({
type: "bi.level_tree",
chooseType: 0,
items: [{
id: 1,
text: "第一项",
value: 1,
isParent: true
}, {
id: 2,
text: "第二项",
value: 2,
isParent: true
}, {
id: 3,
text: "第三项",
value: 1,
isParent: true,
open: true
}, {
id: 4,
text: "第四项",
value: 1
}, {
id: 11,
pId: 1,
text: "子项1",
value: 11
}, {
id: 12,
pId: 1,
text: "子项2",
value: 12
}, {
id: 13,
pId: 1,
text: "子项3",
value: 13
}, {
id: 111,
pId: 11,
text: "子项1-1",
value: 111
}, {
id: 21,
pId: 2,
text: "子项1",
value: 21
}, {
id: 31,
pId: 3,
text: "子项1",
value: 31
}, {
id: 32,
pId: 3,
text: "子项2",
value: 32
}, {
id: 33,
pId: 3,
text: "子项3",
value: 33
}]
});
BI.createWidget({
type: "bi.vtape",
element: this,
items: [{
el: tree
}, {
height: 30,
el: {
type: "bi.button",
height: 30,
text: "getValue",
handler: function () {
BI.Msg.alert("", tree.getValue());
}
}
}]
});
}
});
BI.shortcut("demo.level_tree", Demo.Func);

130
demo/js/case/tree/demo.simple_tree.js

@ -1,130 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
// value值一定要是字符串
var tree = BI.createWidget({
type: "bi.simple_tree",
items: [{
id: 1,
text: "第一项",
value: "1"
}, {
id: 2,
text: "第二项",
value: "2"
}, {
id: 3,
text: "第三项",
value: "3",
open: true
}, {
id: 11,
pId: 1,
text: "子项1",
value: "11"
}, {
id: 12,
pId: 1,
text: "子项2",
value: "12"
}, {
id: 13,
pId: 1,
text: "子项3",
value: "13"
}, {
id: 31,
pId: 3,
text: "子项1",
value: "31"
}, {
id: 32,
pId: 3,
text: "子项2",
value: "32"
}, {
id: 33,
pId: 3,
text: "子项3",
value: "33"
}],
value: ["31", "32", "33"]
});
// tree.populate([{
// id: 1,
// text: "第一项",
// value: "1"
// }, {
// id: 2,
// text: "第二项",
// value: "2"
// }, {
// id: 3,
// text: "第三项",
// value: "3",
// open: true
// }, {
// id: 11,
// pId: 1,
// text: "子项1",
// value: "11"
// }, {
// id: 12,
// pId: 1,
// text: "子项2",
// value: "12"
// }, {
// id: 13,
// pId: 1,
// text: "子项3",
// value: "13"
// }, {
// id: 31,
// pId: 3,
// text: "子项1",
// value: "31"
// }, {
// id: 32,
// pId: 3,
// text: "子项2",
// value: "32"
// }, {
// id: 33,
// pId: 3,
// text: "子项3",
// value: "33"
// }], "z");
BI.createWidget({
type: "bi.vtape",
element: this,
items: [{
el: tree
}, {
height: 30,
el: {
type: "bi.button",
height: 30,
text: "setValue(['31', '32', '33'])",
handler: function () {
tree.setValue(["31", "32", "33"]);
}
}
}, {
height: 30,
el: {
type: "bi.button",
height: 30,
text: "getValue",
handler: function () {
BI.Msg.alert("", JSON.stringify(tree.getValue()));
}
}
}]
});
}
});
BI.shortcut("demo.simple_tree", Demo.Func);

24
demo/js/case/triggers/demo.editor_trigger.js

@ -1,24 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
BI.createWidget({
type: "bi.vertical",
element: this,
items: [{
type: "bi.label",
text: "输入框加图标的trigger"
}, {
type: "bi.editor_trigger",
watermark: "这是水印",
width: 200,
height: 24
}],
hgap: 20,
vgap: 20
});
}
});
BI.shortcut("demo.editor_trigger", Demo.Func);

24
demo/js/case/triggers/demo.icon_trigger.js

@ -1,24 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
BI.createWidget({
type: "bi.vertical",
element: this,
items: [{
type: "bi.label",
text: "只有一个图标的trigger"
}, {
type: "bi.icon_trigger",
width: 30,
height: 24
}],
hgap: 20,
vgap: 20
});
}
});
BI.shortcut("demo.icon_trigger", Demo.Func);

25
demo/js/case/triggers/demo.select_text_trigger.js

@ -1,25 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
BI.createWidget({
type: "bi.vertical",
element: this,
items: [{
type: "bi.label",
text: "可被选择的trigger"
}, {
type: "bi.select_text_trigger",
text: "这是一个简单的trigger",
width: 200,
height: 24
}],
hgap: 20,
vgap: 20
});
}
});
BI.shortcut("demo.select_text_trigger", Demo.Func);

25
demo/js/case/triggers/demo.text_trigger.js

@ -1,25 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
BI.createWidget({
type: "bi.vertical",
element: this,
items: [{
type: "bi.label",
text: "文本加图标的trigger"
}, {
type: "bi.text_trigger",
text: "这是一个简单的trigger",
width: 200,
height: 24
}],
hgap: 20,
vgap: 20
});
}
});
BI.shortcut("demo.text_trigger", Demo.Func);

26
demo/js/center.js

@ -1,26 +0,0 @@
Demo.Center = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-center"
},
render: function () {
var self = this;
return {
type: "bi.router_view"
}
}
});
BI.shortcut("demo.center", Demo.Center);
Demo.Router = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-router"
},
render: function () {
var self = this;
var params = BI.Router.$router.history.current.params;
return {
type: params.componentId
}
}
});
BI.shortcut("demo.router", Demo.Router);

100
demo/js/component/demo.form.js

@ -1,100 +0,0 @@
/**
* @author windy
* @version 2.0
* Created by windy on 2022/1/11
*/
Demo.Form = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-form"
},
render: function () {
var widget = BI.createWidget({
type: "bi.custom_form",
width: 300,
labelWidth: 100,
items: [{
validate: function (v) {
return v !== "a" && v !== "";
},
tip: function (v) {
if (BI.isEmpty(v)) {
return "不能为空";
}
return "不合法格式"
},
label: "E-mail",
el: {
type: 'bi.text_editor',
watermark: "输入a报错",
allowBlank: true,
}
}, {
validate: function (v) {
return BI.isNotEmptyArray(v);
},
tip: function () {
return "不能为空";
},
label: "性别",
el: {
type: 'bi.text_value_combo',
text: "请选择",
items: [{
text: "男",
value: 1
}, {
text: "女",
value: 2
}]
}
}, {
validate: function (v) {
return v !== "";
},
tip: function () {
return "不能为空";
},
label: "姓名",
el: {
type: 'bi.text_editor',
watermark: "输入姓名",
allowBlank: true,
}
}, {
validate: function (v) {
return v !== "";
},
tip: function () {
return "不能为空";
},
label: "姓名",
el: {
type: 'bi.textarea_editor',
cls: 'bi-border',
watermark: "输入简介",
allowBlank: true,
height: 200,
}
}],
layout: {
type: "bi.vertical",
vgap: 30
}
});
return {
type: "bi.vertical",
hgap: 200,
vgap: 10,
items: [widget, {
type: "bi.button",
text: "提交",
handler: function () {
widget.validate();
console.log(widget.getValue());
}
}]
};
}
});
BI.shortcut("demo.form", Demo.Form);

24
demo/js/component/demo.treevaluechoosercombo.js

@ -1,24 +0,0 @@
Demo.TreeValueChooser = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-tree-value-chooser-combo"
},
render: function () {
var widget = BI.createWidget({
type: "bi.tree_value_chooser_combo",
width: 300,
// items: BI.deepClone(Demo.CONSTANTS.TREEITEMS),
itemsCreator: function (op, callback) {
callback(BI.deepClone(Demo.CONSTANTS.TREEITEMS));
},
defaultText: "请选择",
});
return {
type: "bi.vertical",
hgap: 200,
vgap: 10,
items: [widget]
};
}
});
BI.shortcut("demo.tree_value_chooser_combo", Demo.TreeValueChooser);

16
demo/js/component/demo.treevaluechooserpane.js

@ -1,16 +0,0 @@
Demo.TreeValueChooser = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-tree-value-chooser"
},
render: function () {
return {
type: "bi.tree_value_chooser_pane",
items: BI.deepClone(Demo.CONSTANTS.TREEITEMS)
// itemsCreator: function (op, callback) {
// callback(tree);
// }
};
}
});
BI.shortcut("demo.tree_value_chooser_pane", Demo.TreeValueChooser);

20
demo/js/component/demo.valuechoosercombo.js

@ -1,20 +0,0 @@
Demo.ValueChooserCombo = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-value-chooser-combo"
},
render: function () {
var widget = BI.createWidget({
type: "bi.value_chooser_combo",
itemsCreator: function (op, callback) {
callback(BI.deepClone(Demo.CONSTANTS.ITEMS));
}
});
return {
type: "bi.vertical",
hgap: 200,
vgap: 10,
items: [widget]
};
}
});
BI.shortcut("demo.value_chooser_combo", Demo.ValueChooserCombo);

15
demo/js/component/demo.valuechooserpane.js

@ -1,15 +0,0 @@
Demo.ValueChooserPane = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-value-chooser-pane"
},
render: function () {
return {
type: "bi.value_chooser_pane",
items: BI.deepClone(Demo.CONSTANTS.ITEMS)
// itemsCreator: function (op, callback) {
// callback(BI.deepClone(Demo.CONSTANTS.ITEMS));
// }
};
}
});
BI.shortcut("demo.value_chooser_pane", Demo.ValueChooserPane);

89
demo/js/config/base.js

@ -1,89 +0,0 @@
Demo.BASE_CONFIG = [{
id: 2,
text: "基础控件",
open: false
}, {
pId: 2,
text: "bi.label",
value: "demo.label"
},{
pId: 2,
text: "bi.label_scene",
value: "demo.label_scene"
}, {
pId: 2,
text: "bi.icon_label",
value: "demo.icon_label"
}, {
pId: 2,
text: "bi.html",
value: "demo.html"
}, {
pId: 2,
text: "title提示",
value: "demo.title"
}, {
pId: 2,
text: "气泡提示",
value: "demo.bubble"
}, {
pId: 2,
text: "toast提示",
value: "demo.toast"
}, {
pId: 2,
id: 201,
text: "button"
}, {
pId: 201,
text: "bi.button",
value: "demo.button"
}, {
pId: 201,
text: "bi.text_button",
value: "demo.text_button"
}, {
pId: 201,
text: "bi.icon_button",
value: "demo.icon_button"
}, {
pId: 201,
text: "bi.image_button",
value: "demo.image_button"
}, {
pId: 2,
id: 202,
text: "editor"
}, {
pId: 202,
text: "bi.editor",
value: "demo.editor"
}, {
pId: 202,
text: "bi.multifile_editor",
value: "demo.multifile_editor"
}, {
pId: 202,
text: "bi.textarea_editor",
value: "demo.textarea_editor"
}, {
pId: 2,
id: 203,
text: "tree"
}, {
pId: 203,
text: "bi.tree_view",
value: "demo.tree_view"
}, {
pId: 203,
text: "bi.async_tree",
value: "demo.sync_tree"
}, {
pId: 203,
text: "bi.part_tree",
value: "demo.part_tree"
}, {
pId: 2,
text: "bi.pager",
value: "demo.pager"
}];

185
demo/js/config/case.js

@ -1,185 +0,0 @@
Demo.CASE_CONFIG = [{
id: 3,
text: "实例控件",
open: false
}, {
pId: 3,
id: 300,
text: "按钮"
}, {
pId: 300,
text: "bi.multi_select_item",
value: "demo.multi_select_item"
}, {
pId: 300,
text: "bi.single_select_item",
value: "demo.single_select_item"
}, {
pId: 300,
text: "bi.single_select_radio_item",
value: "demo.single_select_radio_item"
}, {
pId: 3,
id: 301,
text: "editors"
}, {
pId: 301,
text: "bi.shelter_editor",
value: "demo.shelter_editor"
}, {
pId: 301,
text: "bi.sign_editor",
value: "demo.sign_editor"
}, {
pId: 301,
text: "bi.state_editor",
value: "demo.state_editor"
}, {
pId: 301,
text: "bi.simple_state_editor",
value: "demo.simple_state_editor"
}, {
pId: 301,
text: "bi.clear_editor",
value: "demo.clear_editor"
}, {
pId: 3,
id: 302,
text: "列表"
}, {
pId: 302,
text: "bi.select_list",
value: "demo.select_list"
}, {
pId: 302,
text: "bi.lazy_loader",
value: "demo.lazy_loader"
}, {
pId: 3,
id: 303,
text: "面板"
}, {
pId: 303,
text: "bi.list_pane",
value: "demo.list_pane"
}, {
pId: 303,
text: "bi.panel",
value: "demo.panel"
}, {
pId: 3,
id: 304,
text: "popup弹出层"
}, {
pId: 304,
text: "bi.multi_popup_view",
value: "demo.multi_popup_view"
}, {
pId: 304,
text: "bi.popup_panel",
value: "demo.popup_panel"
}, {
pId: 3,
id: 305,
text: "触发器trigger"
}, {
pId: 305,
text: "bi.editor_trigger",
value: "demo.editor_trigger"
}, {
pId: 305,
text: "bi.icon_trigger",
value: "demo.icon_trigger"
}, {
pId: 305,
text: "bi.text_trigger",
value: "demo.text_trigger"
}, {
pId: 305,
text: "bi.select_text_trigger",
value: "demo.select_text_trigger"
}, {
pId: 3,
id: 306,
text: "combo"
}, {
pId: 306,
text: "bi.bubble_combo",
value: "demo.bubble_combo"
}, {
pId: 306,
text: "bi.icon_combo",
value: "demo.icon_combo"
}, {
pId: 306,
text: "bi.text_value_combo",
value: "demo.text_value_combo"
}, {
pId: 306,
text: "bi.search_text_value_combo",
value: "demo.search_text_value_combo"
}, {
pId: 306,
text: "bi.icon_text_value_combo",
value: "demo.icon_text_value_combo"
}, {
pId: 306,
text: "bi.text_value_check_combo",
value: "demo.text_value_check_combo"
}, {
pId: 306,
text: "bi.editor_icon_check_combo",
value: "demo.editor_icon_check_combo"
}, {
pId: 306,
text: "bi.text_value_down_list_combo",
value: "demo.text_value_down_list_combo"
}, {
pId: 3,
id: 307,
text: "tree"
}, {
pId: 307,
text: "bi.display_tree",
value: "demo.display_tree"
}, {
pId: 307,
text: "bi.simple_tree",
value: "demo.simple_tree"
}, {
pId: 307,
text: "bi.level_tree",
value: "demo.level_tree"
}, {
pId: 3,
id: 309,
text: "pager"
}, {
pId: 309,
text: "bi.all_count_pager",
value: "demo.all_count_pager"
}, {
pId: 309,
text: "bi.direction_pager",
value: "demo.direction_pager"
}, {
pId: 3,
text: "bi.calendar",
value: "demo.calendar"
}, {
pId: 3,
text: "bi.color_chooser",
value: "demo.color_chooser"
}, {
pId: 3,
text: "bi.color_chooser_popup",
value: "demo.color_chooser_popup"
}, {
pId: 3,
text: "bi.segment",
value: "demo.segment"
}, {
pId: 3,
text: "点击项样式查看",
value: "demo.click_item_effect"
}];

8
demo/js/config/category.js

@ -1,8 +0,0 @@
Demo.CATEGORY_CONFIG = [{
id: 100000,
text: "专题"
}, {
pId: 100000,
text: "可以排序的树",
value: "demo.sort_tree"
}];

27
demo/js/config/component.js

@ -1,27 +0,0 @@
/**
* Created by User on 2017/3/22.
*/
Demo.COMPONENT_CONFIG = [{
id: 5,
text: "部件+服务"
}, {
pId: 5,
text: "bi.value_chooser_combo",
value: "demo.value_chooser_combo"
}, {
pId: 5,
text: "bi.value_chooser_pane",
value: "demo.value_chooser_pane"
}, {
pId: 5,
text: "bi.tree_value_chooser_combo",
value: "demo.tree_value_chooser_combo"
}, {
pId: 5,
text: "bi.tree_value_chooser_pane",
value: "demo.tree_value_chooser_pane"
}, {
pId: 5,
text: "demo.form",
value: "demo.form"
}];

203
demo/js/config/core.js

@ -1,203 +0,0 @@
Demo.CORE_CONFIG = [{
id: 1,
text: "核心控件"
}, {
id: 101,
pId: 1,
text: "布局"
}, {
pId: 101,
text: "bi.absolute",
value: "demo.absolute"
}, {
pId: 101,
text: "bi.center_adapt",
value: "demo.center_adapt"
}, {
pId: 101,
text: "bi.vertical_adapt",
value: "demo.vertical_adapt"
}, {
pId: 101,
text: "bi.horizontal_adapt",
value: "demo.horizontal_adapt"
}, {
pId: 101,
text: "bi.horizontal_auto",
value: "demo.horizontal_auto"
}, {
pId: 101,
text: "bi.horizontal_float",
value: "demo.horizontal_float"
}, {
pId: 101,
text: "bi.left_right_vertical_adapt",
value: "demo.left_right_vertical_adapt"
}, {
pId: 101,
text: "bi.center",
value: "demo.center_layout"
}, {
pId: 101,
text: "bi.float_center",
value: "demo.float_center"
}, {
pId: 101,
text: "bi.vertical",
value: "demo.vertical"
}, {
pId: 101,
text: "bi.horizontal",
value: "demo.horizontal"
}, {
pId: 101,
text: "bi.border",
value: "demo.border"
}, {
pId: 101,
text: "bi.left, bi.right",
value: "demo.flow"
}, {
pId: 101,
text: "bi.htape",
value: "demo.htape"
}, {
pId: 101,
text: "bi.vtape",
value: "demo.vtape"
}, {
pId: 101,
text: "bi.grid",
value: "demo.grid"
}, {
pId: 101,
text: "bi.table",
value: "demo.table_layout"
}, {
pId: 101,
text: "bi.td",
value: "demo.td"
}, {
pId: 101,
text: "..."
}, {
pId: 1,
id: 102,
text: "抽象控件"
}, {
pId: 102,
text: "bi.button_group",
value: "demo.button_group"
}, {
pId: 102,
text: "bi.button_tree",
value: "demo.button_tree"
}, {
pId: 102,
text: "bi.virtual_group",
value: "demo.virtual_group"
}, {
pId: 102,
text: "bi.custom_tree",
value: "demo.custom_tree"
}, {
pId: 102,
text: "bi.grid_view",
value: "demo.grid_view"
}, {
pId: 102,
text: "bi.collection_view",
value: "demo.collection_view"
}, {
pId: 102,
text: "bi.list_view",
value: "demo.list_view"
}, {
pId: 102,
text: "bi.virtual_list",
value: "demo.virtual_list"
}, {
pId: 102,
id: 10201,
text: "组合控件"
}, {
pId: 10201,
text: "bi.combo",
value: "demo.combo"
}, {
pId: 10201,
text: "bi.combo(各种位置)",
value: "demo.combo2"
}, {
pId: 10201,
text: "bi.combo(內部位置)",
value: "demo.combo3"
}, {
pId: 10201,
text: "bi.expander",
value: "demo.expander"
}, {
pId: 10201,
text: "bi.combo_group",
value: "demo.combo_group"
}, {
pId: 10201,
text: "bi.loader",
value: "demo.loader"
}, {
pId: 10201,
text: "bi.navigation",
value: "demo.navigation"
}, {
pId: 10201,
text: "bi.searcher",
value: "demo.searcher"
}, {
pId: 10201,
text: "bi.switcher",
value: "demo.switcher"
}, {
pId: 10201,
text: "bi.tab",
value: "demo.tab"
}, {
pId: 102,
id: 10202,
text: "弹出层"
}, {
pId: 10202,
text: "layer",
value: "demo.layer"
}, {
pId: 10202,
text: "bi.popover",
value: "demo.popover"
}, {
pId: 10202,
text: "bi.popup_view",
value: "demo.popup_view"
}, {
pId: 10202,
text: "bi.searcher_view",
value: "demo.searcher_view"
}, {
pId: 1,
text: "Widget(继承)",
value: "demo.widget"
}, {
pId: 1,
text: "Single(继承)",
value: "demo.single"
}, {
pId: 1,
text: "BasicButton(继承)",
value: "demo.basic_button"
}, {
pId: 1,
text: "NodeButton(继承)",
value: "demo.node_button"
}, {
pId: 1,
text: "Pane(继承)",
value: "demo.pane"
}];

36
demo/js/config/demo.pane.js

@ -1,36 +0,0 @@
/**
* author: young
* createdDate: 2018/11/30
* description:
*/
!(function () {
var Pane = BI.inherit(BI.Pane, {
props: {
},
mounted: function () {
console.log('loading pane mounted');
},
render: function () {
return {
type: "bi.center_adapt",
items: [{
type: "bi.label",
text: "this is pane center"
}]
};
},
beforeRender: function (callback) {
var self = this;
this.loading();
setTimeout(function () {
self.loaded();
callback();
}, 3000);
}
});
BI.shortcut("demo.pane", Pane);
})();

54
demo/js/config/fix.js

@ -1,54 +0,0 @@
Demo.FIX_CONFIG = [{
id: 7,
text: "数据流框架fix-2.0"
}, {
id: 71,
pId: 7,
text: "定义响应式数据",
value: "demo.fix_define"
}, {
id: 72,
pId: 7,
text: "state属性",
value: "demo.fix_state"
}, {
id: 73,
pId: 7,
text: "计算属性",
value: "demo.fix_computed"
}, {
id: 74,
pId: 7,
text: "store",
value: "demo.fix_store"
}, {
id: 75,
pId: 7,
text: "watcher且或表达式",
value: "demo.fix_watcher"
}, {
id: 76,
pId: 7,
text: "watcher星号表达式",
value: "demo.fix_global_watcher"
}, {
id: 77,
pId: 7,
text: "context",
value: "demo.fix_context"
}, {
id: 78,
pId: 7,
text: "一个混合的例子",
value: "demo.fix"
}, {
id: 79,
pId: 7,
text: "场景",
value: "demo.fix_scene"
}, {
id: 80,
pId: 7,
text: "inject",
value: "demo.fix_inject"
}];

205
demo/js/config/widget.js

@ -1,205 +0,0 @@
Demo.WIDGET_CONFIG = [{
id: 4,
text: "详细控件",
open: true
}, {
pId: 4,
id: 401,
text: "各种小控件"
}, {
pId: 401,
text: "各种通用按钮",
value: "demo.buttons"
}, {
pId: 401,
text: "各种提示性信息",
value: "demo.tips"
}, {
pId: 401,
text: "各种items",
value: "demo.items"
}, {
pId: 401,
text: "各种节点node",
value: "demo.nodes"
}, {
pId: 401,
text: "各种segment",
value: "demo.segments"
}, {
pId: 4,
id: 402,
text: "文本框控件"
}, {
pId: 402,
text: "bi.text_editor",
value: "demo.text_editor"
}, {
pId: 402,
text: "bi.search_editor",
value: "demo.search_editor"
}, {
pId: 402,
text: "bi.number_editor",
value: "demo.number_editor"
}, {
pId: 4,
id: 403,
text: "tree"
}, {
pId: 403,
text: "bi.single_level_tree",
value: "demo.single_level_tree"
}, {
pId: 403,
text: "bi.select_level_tree",
value: "demo.select_level_tree"
}, {
pId: 403,
text: "bi.multilayer_single_level_tree",
value: "demo.multilayer_single_level_tree"
}, {
pId: 403,
text: "bi.multilayer_select_level_tree",
value: "demo.multilayer_select_level_tree"
}, {
pId: 4,
id: 405,
text: "下拉列表"
}, {
pId: 405,
text: "bi.down_list_combo",
value: "demo.down_list"
}, {
pId: 4,
id: 421,
text: "单选下拉框"
}, {
pId: 421,
text: "bi.single_select_combo",
value: "demo.single_select_combo"
}, {
pId: 4,
id: 406,
text: "复选下拉框"
}, {
pId: 406,
text: "bi.multi_select_combo",
value: "demo.multi_select_combo"
}, {
pId: 406,
text: "bi.multi_select_list",
value: "demo.multi_select_list"
}, {
pId: 4,
id: 407,
text: "简单下拉树"
}, {
pId: 407,
text: "bi.single_tree_combo",
value: "demo.single_tree_combo"
}, {
pId: 4,
id: 408,
text: "多层级下拉树"
}, {
pId: 408,
text: "bi.multilayer_single_tree_combo",
value: "demo.multilayer_single_tree_combo"
}, {
pId: 4,
id: 409,
text: "可选下拉树"
}, {
pId: 409,
text: "bi.select_tree_combo",
value: "demo.select_tree_combo"
}, {
pId: 4,
id: 410,
text: "多层级可选下拉树"
}, {
pId: 410,
text: "bi.multilayer_select_tree_combo",
value: "demo.multilayer_select_tree_combo"
}, {
pId: 4,
id: 411,
text: "复选下拉树"
}, {
pId: 411,
text: "bi.multi_tree_combo",
value: "demo.multi_tree_combo"
}, {
pId: 411,
text: "bi.multi_select_tree",
value: "demo.multi_select_tree"
}, {
pId: 4,
id: 412,
text: "日期相关控件"
}, {
pId: 412,
text: "bi.year_combo",
value: "demo.year"
}, {
pId: 412,
text: "bi.year_month_combo",
value: "demo.year_month_combo"
}, {
pId: 412,
text: "bi.year_quarter_combo",
value: "demo.year_quarter_combo"
}, {
pId: 412,
text: "bi.date_pane",
value: "demo.date_pane"
}, {
pId: 412,
text: "bi.multidate_combo",
value: "demo.multidate_combo"
}, {
pId: 412,
text: "bi.date_time",
value: "demo.date_time"
}, {
pId: 412,
text: "bi.time_combo",
value: "demo.time_combo"
}, {
pId: 412,
text: "bi.time_interval",
value: "demo.time_interval"
}, {
pId: 412,
text: "bi.year_month_interval",
value: "demo.year_month_interval"
}, {
pId: 412,
text: "bi.year_quarter_interval",
value: "demo.year_quarter_interval"
}, {
pId: 412,
text: "bi.year_interval",
value: "demo.year_interval"
}, {
pId: 4,
id: 413,
text: "数值区间控件"
}, {
pId: 413,
text: "bi.number_interval",
value: "demo.number_interval"
}, {
id: 420,
text: "数值滑块sliders",
value: "demo.slider"
}, {
pId: 4,
id: 414,
text: "折叠面板"
}, {
pId: 414,
text: "bi.collapse",
value: "demo.collapse"
}];

495
demo/js/core/abstract/combination/demo.combo.js

@ -1,495 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
years: [{
text: "2010年", value: 2010, iconCls: "close-ha-font"
}, {
text: "2011年", value: 2011
}, {
text: "2012年", value: 2012, iconCls: "close-ha-font"
}, {
text: "2013年", value: 2013
}, {
text: "2014年", value: 2014, iconCls: "close-ha-font"
}, {
text: "2015年", value: 2015, iconCls: "close-ha-font"
}, {
text: "2016年", value: 2016, iconCls: "close-ha-font"
}, {
text: "2017年", value: 2017, iconCls: "close-ha-font"
}],
child: [{
type: "bi.combo_group",
el: {
type: "bi.icon_text_icon_item",
text: "2010年",
value: 2010,
height: 25,
iconCls1: "close-ha-font",
iconCls2: "close-ha-font"
},
children: [{
type: "bi.single_select_item",
height: 25,
text: "一月",
value: 11
}, {
type: "bi.icon_text_icon_item",
height: 25,
text: "二月",
value: 12,
iconCls1: "close-ha-font",
iconCls2: "close-ha-font",
children: [{ type: "bi.single_select_item", text: "一号", value: 101, height: 25 }]
}]
}, {
text: "2011年", value: 2011
}, {
text: "2012年", value: 2012, iconCls: "close-ha-font"
}, {
text: "2013年", value: 2013
}, {
text: "2014年", value: 2014, iconCls: "close-ha-font"
}, {
text: "2015年", value: 2015, iconCls: "close-ha-font"
}],
months: [[{
el: {
text: "一月", value: 1
}
}, {
el: {
text: "二月", value: 2
}
}], [{
el: {
text: "三月", value: 3
}
}, {
el: {
text: "四月", value: 4
}
}], [{
el: {
text: "五月", value: 5
}
}, {
el: {
text: "六月", value: 6
}
}], [{
el: {
text: "七月", value: 7
}
}, {
el: {
text: "八月", value: 8
}
}], [{
el: {
text: "九月", value: 9
}
}, {
el: {
text: "十月", value: 10
}
}], [{
el: {
text: "十一月", value: 11
}
}, {
el: {
text: "十二月", value: 12
}
}]],
dynamic: [
{
text: "2010年", value: 1
}, {
text: "20112222年", value: 2
}, {
text: "201233333年", value: 3
}, {
text: "2013年", value: 4
}, {
text: "2012324年", value: 5
}, {
text: "2015年", value: 6
}, {
text: "2016年", value: 7
}, {
text: "201744444444444444444444444444444444444年", value: 8
}
],
week: [{
text: "周一", value: 100, iconClsLeft: "close-ha-font", iconClsRight: "close-font"
}, {
text: "周二", value: 101, iconClsLeft: "close-ha-font"
}, {
text: "周三", value: 102
}, {
text: "周四", value: 103, iconClsRight: "close-ha-font"
}, {
text: "周五", value: 104, iconClsLeft: "close-ha-font", iconClsRight: "close-font"
}, {
text: "周六", value: 105, iconClsLeft: "close-font", iconClsRight: "close-ha-font"
}, {
text: "周日", value: 106, iconClsLeft: "close-font"
}],
_createTop: function () {
var self = this;
var yearCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.button",
text: "简单下拉框",
height: 30
},
popup: {
el: {
type: "bi.button_group",
items: BI.createItems(BI.deepClone(this.years), {
type: "bi.single_select_radio_item",
height: 25,
handler: function (v) {
}
}),
layouts: [{
type: "bi.vertical"
}]
}
},
width: 200
});
var multiCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.button",
text: "多选下拉框",
height: 30
},
popup: {
el: {
items: BI.createItems(BI.deepClone(this.years), {
type: "bi.multi_select_item",
height: 25,
handler: function (v) {
}
}),
chooseType: 1,
layouts: [{
type: "bi.vertical"
}]
},
tool: {
type: "bi.label",
text: "这是一个下拉框",
height: 35
},
tabs: [{
type: "bi.multi_select_bar",
height: 25,
text: "全选",
onCheck: function (v) {
if (v) {
multiCombo.setValue(BI.map(BI.deepClone(self.years), "value"));
} else {
multiCombo.setValue([]);
}
},
isAllCheckedBySelectedValue: function (selectedValue) {
return selectedValue.length == self.years.length;
// return true;
}
}],
buttons: [{
type: "bi.text_button",
text: "清空",
handler: function () {
multiCombo.setValue([]);
}
}, {
type: "bi.text_button",
text: "确定",
handler: function () {
BI.Msg.alert("", multiCombo.getValue());
}
}]
},
width: 200
});
var dynamicPopupCombo = BI.createWidget({
type: "bi.combo",
isNeedAdjustWidth: false,
offsetStyle: "center",
el: {
type: "bi.button",
text: "动态调整宽度",
height: 30
},
popup: {
el: {
items: BI.createItems(BI.deepClone(this.dynamic), {
type: "bi.single_select_item",
height: 25
}),
layouts: [{
type: "bi.vertical"
}]
}
},
width: 200
});
var dynamicCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.button",
text: "搜索",
height: 30
},
popup: {
el: {
type: "bi.loader",
logic: {
dynamic: true,
scrolly: true
},
el: {
behaviors: {
redmark: function () {
return true;
}
},
layouts: [{
type: "bi.vertical"
}]
},
itemsCreator: function (options, popuplate) {
var times = options.times;
BI.delay(function () {
if (times == 3) {
popuplate([{
type: "bi.single_select_item",
text: "这是最后一个",
value: "这是最后一个",
py: "zszhyg",
height: 25
}]);
return;
}
var map = BI.map(BI.makeArray(3, null), function (i, v) {
var val = i + "_" + BI.random(1, 100);
return {
type: "bi.single_select_item",
text: val,
value: val,
height: 25
};
});
popuplate(map);
}, 1000);
},
hasNext: function (options) {
return options.times < 3;
}
},
buttons: [{
type: "bi.text_button",
text: "清空",
handler: function () {
dynamicCombo.setValue([]);
}
}, {
type: "bi.text_button",
text: "确定",
handler: function () {
BI.Msg.alert("", dynamicCombo.getValue());
}
}]
},
width: 200
});
return BI.createWidget({
type: "bi.left",
items: [yearCombo, multiCombo, dynamicPopupCombo, dynamicCombo],
hgap: 20,
vgap: 20
});
},
_createBottom: function () {
var combo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.text_button",
cls: "button-combo",
height: 30
},
popup: {
el: {
type: "bi.button_group",
items: BI.createItems(BI.deepClone(this.years), {
type: "bi.single_select_item",
iconWidth: 25,
height: 25,
handler: function (v) {
}
}),
chooseType: 1,
layouts: [{
type: "bi.vertical"
}]
}
},
width: 200
});
combo.setValue(BI.deepClone(this.years)[0].value);
var childCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.text_button",
cls: "button-combo",
height: 30
},
popup: {
el: {
type: "bi.button_tree",
items: BI.createItems(BI.deepClone(this.child), {
type: "bi.single_select_item",
height: 25,
handler: function (v) {
}
}),
layouts: [{
type: "bi.vertical"
}]
}
},
width: 200
});
childCombo.setValue(BI.deepClone(this.child)[0].children[0].value);
var monthCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.button",
text: "多层样式下拉框",
height: 30
},
popup: {
el: {
items: BI.createItems(BI.deepClone(this.months), {
type: "bi.single_select_item",
cls: "button-combo",
handler: function (v) {
}
}),
layouts: [{
type: "bi.adaptive",
items: [{
el: {
type: "bi.table",
columns: 2,
rows: 6,
columnSize: [0.5, "fill"],
rowSize: 30
},
left: 4,
right: 4,
top: 2,
bottom: 2
}]
}, {
type: "bi.absolute",
el: { left: 4, top: 2, right: 4, bottom: 2 }
}]
}
},
width: 200
});
var yearCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.button",
text: "自定义控件",
height: 30
},
popup: {
el: {
type: "bi.navigation",
direction: "bottom",
logic: {
dynamic: true
},
tab: {
height: 30,
items: [{
once: false,
text: "后退",
value: -1,
cls: "mvc-button layout-bg3"
}, {
once: false,
text: "前进",
value: 1,
cls: "mvc-button layout-bg4"
}]
},
cardCreator: function (v) {
return BI.createWidget({
type: "bi.text_button",
whiteSpace: "normal",
text: new Date().getFullYear() + v
});
}
}
},
width: 200
});
return BI.createWidget({
type: "bi.left",
items: [combo, childCombo, monthCombo, yearCombo],
hgap: 20,
vgap: 20
});
},
render: function () {
return {
type: "bi.grid",
columns: 1,
rows: 2,
items: [{
column: 0,
row: 0,
el: this._createTop()
}, {
column: 0,
row: 1,
el: this._createBottom()
}]
};
}
});
BI.shortcut("demo.combo", Demo.Func);

163
demo/js/core/abstract/combination/demo.combo2.js

@ -1,163 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createEl: function () {
return {
type: "bi.button",
height: 25,
text: "点击"
};
},
oneCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustLength: 5,
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
height: 500
},
maxHeight: 400
}
});
},
twoCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustXOffset: 25,
adjustYOffset: 5,
direction: "bottom,left",
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
height: 1200
}
}
});
},
threeCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustYOffset: 5,
el: this._createEl(),
isNeedAdjustHeight: false,
popup: {
el: {
type: "bi.layout",
height: 1200
}
}
});
},
fourCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustXOffset: 25,
adjustYOffset: 5,
direction: "left",
el: this._createEl(),
isNeedAdjustHeight: true,
popup: {
el: {
type: "bi.layout",
height: 1200
}
}
});
},
fiveCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustXOffset: 25,
adjustYOffset: 5,
direction: "left,top",
el: this._createEl(),
isNeedAdjustHeight: true,
popup: {
el: {
type: "bi.layout",
height: 1200
},
maxHeight: 2000
}
});
},
sixCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustXOffset: 25,
adjustYOffset: 5,
direction: "top,left",
el: this._createEl(),
isNeedAdjustHeight: true,
popup: {
el: {
type: "bi.layout",
height: 1200
}
}
});
},
sevenCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustXOffset: 25,
adjustYOffset: 5,
direction: "bottom",
isNeedAdjustWidth: false,
// isNeedAdjustHeight: false,
offsetStyle: "center",
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
width: 200,
height: 1200
}
}
});
},
eightCombo: function () {
return BI.createWidget({
type: "bi.combo",
adjustXOffset: 25,
adjustYOffset: 5,
direction: "right",
isNeedAdjustWidth: false,
// isNeedAdjustHeight: false,
offsetStyle: "middle",
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
width: 200,
height: 200
}
}
});
},
render: function () {
return {
type: "bi.grid",
hgap: 10,
vgap: 5,
items: [[this.oneCombo(), this.twoCombo(), this.threeCombo()],
[this.fourCombo(), this.fiveCombo(), this.sixCombo()],
[this.sevenCombo(), this.eightCombo()]]
};
}
});
BI.shortcut("demo.combo2", Demo.Func);

75
demo/js/core/abstract/combination/demo.combo3.js

@ -1,75 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createEl: function () {
return {
type: "bi.label",
cls:"bi-border",
height: "100%",
text: "点击"
};
},
oneCombo: function () {
return BI.createWidget({
type: "bi.combo",
direction: "right,innerRight",
isNeedAdjustWidth: false,
isNeedAdjustHeight: false,
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
width: 200,
height: 200
}
}
});
},
twoCombo: function () {
return BI.createWidget({
type: "bi.combo",
direction: "right,innerRight",
isNeedAdjustWidth: false,
isNeedAdjustHeight: false,
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
width: 1000,
height: 200
}
}
});
},
threeCombo: function () {
return BI.createWidget({
type: "bi.combo",
direction: "right,innerRight",
isNeedAdjustWidth: false,
isNeedAdjustHeight: false,
el: this._createEl(),
popup: {
el: {
type: "bi.layout",
width: 400,
height: 200
}
}
});
},
render: function () {
return {
type: "bi.grid",
hgap: 10,
vgap: 5,
items: [[this.oneCombo()], [this.twoCombo()], [this.threeCombo()]]
};
}
});
BI.shortcut("demo.combo3", Demo.Func);

89
demo/js/core/abstract/combination/demo.combo_group.js

@ -1,89 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
child: [{
type: "bi.combo_group",
el: {
type: "bi.icon_text_icon_item",
text: "2010年",
value: 2010,
height: 25,
iconCls: "close-ha-font"
},
items: [{
type: "bi.single_select_item",
height: 25,
text: "一月",
value: 11
}, {
type: "bi.icon_text_icon_item",
height: 25,
text: "二月",
value: 12,
iconCls1: "close-ha-font",
iconCls2: "close-ha-font",
children: [{type: "bi.single_select_item", text: "一号", value: 101, height: 25}]
}]
}, {
text: "2011年", value: 2011
}, {
text: "2012年", value: 2012, iconCls: "close-ha-font"
}, {
text: "2013年", value: 2013
}, {
text: "2014年", value: 2014, iconCls: "close-ha-font"
}, {
text: "2015年", value: 2015, iconCls: "close-ha-font"
}],
_createBottom: function () {
var childCombo = BI.createWidget({
type: "bi.combo",
el: {
type: "bi.text_button",
cls: "button-combo",
height: 30
},
popup: {
el: {
type: "bi.button_tree",
items: BI.createItems(BI.deepClone(this.child), {
type: "bi.single_select_item",
height: 25,
handler: function (v) {
}
}),
layouts: [{
type: "bi.vertical"
}]
}
},
width: 200
});
childCombo.setValue(BI.deepClone(this.child)[0].items[0].value);
return BI.createWidget({
type: "bi.left",
items: [childCombo],
hgap: 20,
vgap: 20
});
},
render: function () {
return {
type: "bi.grid",
columns: 1,
rows: 1,
items: [{
column: 0,
row: 0,
el: this._createBottom()
}]
};
}
});
BI.shortcut("demo.combo_group", Demo.Func);

41
demo/js/core/abstract/combination/demo.expander.js

@ -1,41 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.vertical",
hgap: 30,
vgap: 20,
items: [{
type: "bi.expander",
el: {
type: "bi.icon_text_node",
cls: "pull-right-ha-font mvc-border",
height: 25,
text: "Expander"
},
popup: {
cls: "mvc-border",
items: BI.createItems([{
text: "项目1",
value: 1
}, {
text: "项目2",
value: 2
}, {
text: "项目3",
value: 3
}, {
text: "项目4",
value: 4
}], {
type: "bi.single_select_item",
height: 25
})
}
}]
};
}
});
BI.shortcut("demo.expander", Demo.Func);

27
demo/js/core/abstract/combination/demo.loader.js

@ -1,27 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this;
this.all = 0;
var items = BI.deepClone(Demo.CONSTANTS.ITEMS);
return {
type: "bi.loader",
itemsCreator: function (options, populate) {
setTimeout(function () {
populate(BI.map(items.slice((options.times - 1) * 10, options.times * 10), function (i, v) {
return BI.extend(v, {
type: "bi.single_select_item",
height: 25
});
}));
}, 1000);
},
hasNext: function (options) {
return options.times * 10 < items.length;
}
};
}
});
BI.shortcut("demo.loader", Demo.Func);

35
demo/js/core/abstract/combination/demo.navigation.js

@ -1,35 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createNav: function (v) {
return BI.createWidget({
type: "bi.label",
cls: "layout-bg" + BI.random(1, 8),
text: "第" + v + "页"
});
},
render: function () {
return {
type: "bi.navigation",
showIndex: 0,
tab: {
height: 30,
items: [{
once: false,
text: "后退",
value: -1,
cls: "mvc-button layout-bg3"
}, {
once: false,
text: "前进",
value: 1,
cls: "mvc-button layout-bg4"
}]
},
cardCreator: BI.bind(this._createNav, this)
};
}
});
BI.shortcut("demo.navigation", Demo.Func);

84
demo/js/core/abstract/combination/demo.sercher.js

@ -1,84 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createItems: function (items) {
return BI.createItems(items, {
type: "bi.multi_select_item",
height: 25,
handler: function (v) {
}
});
},
render: function () {
var self = this;
var items = [{
text: "2010年", value: 2010, py: "2010n", title: "1111111111111111111111111111111111"
}, {
text: "2011年", value: 2011, py: "2011n", title: "1111111111111111111111111111111111"
}, {
text: "2012年", value: 2012, py: "2012n", title: "1111111111111111111111111111111111"
}, {
text: "2013年", value: 2013, py: "2013n", title: "1111111111111111111111111111111111"
}, {
text: "2014年", value: 2014, py: "2014n", title: "1111111111111111111111111111111111"
}, {
text: "2015年", value: 2015, py: "2015n", title: "1111111111111111111111111111111111"
}, {
text: "2016年", value: 2016, py: "2016n", title: "1111111111111111111111111111111111"
}, {
text: "2017年", value: 2017, py: "2017n", title: "1111111111111111111111111111111111"
}];
var adapter = BI.createWidget({
type: "bi.button_group",
cls: "layout-bg1",
items: this._createItems(items),
chooseType: 1,
behaviors: {},
layouts: [{
type: "bi.vertical"
}]
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: adapter,
top: 50,
left: 50,
width: 200,
height: 100
}]
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: {
type: "bi.absolute",
width: 200,
height: 30,
items: [{
el: {
type: "bi.searcher",
adapter: adapter,
width: 200,
height: 30
},
left: 0,
right: 0,
top: 0,
bottom: 0
}]
},
top: 100,
left: 300
}]
});
}
});
BI.shortcut("demo.searcher", Demo.Func);

59
demo/js/core/abstract/combination/demo.switcher.js

@ -1,59 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var adapter = BI.createWidget({
type: "bi.label",
cls: "layout-bg2",
text: "将在该处弹出switcher"
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: adapter,
top: 50,
left: 20,
width: 200,
height: 300
}]
});
BI.createWidget({
type: "bi.vertical",
element: this,
hgap: 30,
vgap: 20,
items: [{
type: "bi.switcher",
el: {
type: "bi.button",
height: 25,
text: "Switcher"
},
popup: {
cls: "mvc-border layout-bg5",
items: BI.createItems([{
text: "项目1",
value: 1
}, {
text: "项目2",
value: 2
}, {
text: "项目3",
value: 3
}, {
text: "项目4",
value: 4
}], {
type: "bi.single_select_item",
height: 25
})
},
adapter: adapter
}]
});
}
});
BI.shortcut("demo.switcher", Demo.Func);

69
demo/js/core/abstract/combination/demo.tab.js

@ -1,69 +0,0 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createTabs: function (v) {
switch (v) {
case 1:
return BI.createWidget({
type: "bi.label",
cls: "layout-bg1",
text: "面板1"
});
case 2:
return BI.createWidget({
type: "bi.label",
cls: "layout-bg2",
text: "面板2"
});
}
},
render: function () {
this.tab = BI.createWidget({
type: "bi.button_group",
height: 30,
items: [{
text: "Tab1",
value: 1,
width: 50,
cls: "mvc-button layout-bg3"
}, {
text: "Tab2",
value: 2,
width: 50,
cls: "mvc-button layout-bg4"
}],
layouts: [{
type: "bi.center_adapt",
items: [{
el: {
type: "bi.horizontal",
width: 100
}
}]
}]
});
var tab = BI.createWidget({
direction: "custom",
type: "bi.tab",
element: this,
tab: this.tab,
cardCreator: BI.bind(this._createTabs, this)
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: this.tab,
left: 200,
top: 200
}]
});
tab.setSelect(2);
}
});
BI.shortcut("demo.tab", Demo.Func);

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save